From 684cc22c1b1060ec5eff78c62a8ac456d46270fa Mon Sep 17 00:00:00 2001 From: Dan Oved Date: Tue, 28 Nov 2023 07:58:04 -0800 Subject: [PATCH] added interface for IHttpClient --- packages/protocol-sdk/src/apis/http-api-base.ts | 12 ++++++++++++ packages/protocol-sdk/src/mint/mint-api-client.ts | 8 ++++---- packages/protocol-sdk/src/mint/mint-client.ts | 6 +++--- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/packages/protocol-sdk/src/apis/http-api-base.ts b/packages/protocol-sdk/src/apis/http-api-base.ts index bb2df588d..95fd2d850 100644 --- a/packages/protocol-sdk/src/apis/http-api-base.ts +++ b/packages/protocol-sdk/src/apis/http-api-base.ts @@ -91,3 +91,15 @@ export const retries = async ( throw err; } }; + +export interface IHttpClient { + get: typeof get; + post: typeof post; + retries: typeof retries; +} + +export const httpClient: IHttpClient = { + get, + post, + retries, +}; \ No newline at end of file diff --git a/packages/protocol-sdk/src/mint/mint-api-client.ts b/packages/protocol-sdk/src/mint/mint-api-client.ts index 81174cba9..554182f27 100644 --- a/packages/protocol-sdk/src/mint/mint-api-client.ts +++ b/packages/protocol-sdk/src/mint/mint-api-client.ts @@ -1,4 +1,4 @@ -import * as httpClientBase from "../apis/http-api-base"; +import { httpClient as defaultHttpClient, IHttpClient } from "../apis/http-api-base"; import { paths } from "../apis/generated/discover-api-types"; import { ZORA_API_BASE } from "../constants"; import { NetworkConfig, networkConfigByChain } from "src/apis/chain-constants"; @@ -25,11 +25,11 @@ export const getApiNetworkConfigForChain = (chainId: number): NetworkConfig => { }; export class MintAPIClient { - httpClient: typeof httpClientBase; + httpClient: IHttpClient; networkConfig: NetworkConfig; - constructor(chainId: number, httpClient?: typeof httpClientBase) { - this.httpClient = httpClient || httpClientBase; + constructor(chainId: number, httpClient?: IHttpClient) { + this.httpClient = httpClient || defaultHttpClient; this.networkConfig = getApiNetworkConfigForChain(chainId); } diff --git a/packages/protocol-sdk/src/mint/mint-client.ts b/packages/protocol-sdk/src/mint/mint-client.ts index dfe7175fd..31c4282e5 100644 --- a/packages/protocol-sdk/src/mint/mint-client.ts +++ b/packages/protocol-sdk/src/mint/mint-client.ts @@ -9,7 +9,7 @@ import { zeroAddress, http, } from "viem"; -import * as httpClientBase from "../apis/http-api-base"; +import { IHttpClient } from "../apis/http-api-base"; import { MintAPIClient, MintableGetTokenResponse } from "./mint-api-client"; import { SimulateContractParameters } from "viem"; import { @@ -44,7 +44,7 @@ class MintClient { constructor( chain: Chain, publicClient?: PublicClient, - httpClient?: typeof httpClientBase, + httpClient?: IHttpClient, ) { this.apiClient = new MintAPIClient(chain.id, httpClient); this.publicClient = @@ -141,7 +141,7 @@ export function createMintClient({ }: { chain: Chain; publicClient?: PublicClient; - httpClient?: typeof httpClientBase; + httpClient?: IHttpClient; }) { return new MintClient(chain, publicClient, httpClient); }