@zoralabs/protocol-sdk 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { Address, Chain, PublicClient } from "viem";
2
- import { ClientBase } from "../apis/client-base";
2
+ import { IHttpClient } from "../apis/http-api-base";
3
3
  import { MintAPIClient, MintableGetTokenResponse } from "./mint-api-client";
4
4
  import { SimulateContractParameters } from "viem";
5
5
  declare class MintError extends Error {
@@ -16,9 +16,16 @@ type MintArguments = {
16
16
  mintReferral?: Address;
17
17
  mintToAddress: Address;
18
18
  };
19
- declare class MintClient extends ClientBase {
20
- apiClient: typeof MintAPIClient;
21
- constructor(chain: Chain, apiClient?: typeof MintAPIClient);
19
+ declare class MintClient {
20
+ readonly apiClient: MintAPIClient;
21
+ readonly publicClient: PublicClient;
22
+ constructor(chain: Chain, publicClient?: PublicClient, httpClient?: IHttpClient);
23
+ /**
24
+ * Gets mintable information for a given token
25
+ * @param param0.tokenContract The contract address of the token to mint.
26
+ * @param param0.tokenId The token id to mint.
27
+ * @returns
28
+ */
22
29
  getMintable({ tokenContract, tokenId, }: {
23
30
  tokenContract: Address;
24
31
  tokenId?: bigint | number | string;
@@ -222,20 +229,52 @@ declare class MintClient extends ClientBase {
222
229
  status?: "ACTIVE" | "BLOCKED" | "EXPIRED" | "INVALID_MEDIA" | "MINTED_OUT" | "DELETED" | undefined;
223
230
  uuid?: string | undefined;
224
231
  }>;
225
- makePrepareMintTokenParams({ publicClient, minterAccount, mintable, mintArguments, }: {
226
- publicClient: PublicClient;
227
- mintable: MintableGetTokenResponse;
232
+ /**
233
+ * Returns the parameters needed to prepare a transaction mint a token.
234
+ * @param param0.minterAccount The account that will mint the token.
235
+ * @param param0.mintable The mintable token to mint.
236
+ * @param param0.mintArguments The arguments for the mint (mint recipient, comment, mint referral, quantity to mint)
237
+ * @returns
238
+ */
239
+ makePrepareMintTokenParams({ ...rest }: {
228
240
  minterAccount: Address;
241
+ mintable: MintableGetTokenResponse;
229
242
  mintArguments: MintArguments;
230
- }): Promise<{
231
- simulateContractParameters: SimulateContractParameters;
232
- }>;
233
- private prepareMintZora1155;
234
- private prepareMintZora721;
243
+ }): Promise<SimulateContractParameters>;
244
+ /**
245
+ * Returns the mintFee, sale fee, and total cost of minting x quantities of a token.
246
+ * @param param0.mintable The mintable token to mint.
247
+ * @param param0.quantityToMint The quantity of tokens to mint.
248
+ * @returns
249
+ */
250
+ getMintCosts({ mintable, quantityToMint, }: {
251
+ mintable: Mintable;
252
+ quantityToMint: number | bigint;
253
+ }): Promise<MintCosts>;
235
254
  }
236
- export declare function createMintClient({ chain, mintAPIClient, }: {
255
+ /**
256
+ * Creates a new MintClient.
257
+ * @param param0.chain The chain to use for the mint client.
258
+ * @param param0.publicClient Optional viem public client
259
+ * @param param0.httpClient Optional http client to override post, get, and retry methods
260
+ * @returns
261
+ */
262
+ export declare function createMintClient({ chain, publicClient, httpClient, }: {
237
263
  chain: Chain;
238
- mintAPIClient?: typeof MintAPIClient;
264
+ publicClient?: PublicClient;
265
+ httpClient?: IHttpClient;
239
266
  }): MintClient;
267
+ export type TMintClient = ReturnType<typeof createMintClient>;
268
+ export type MintCosts = {
269
+ mintFee: bigint;
270
+ tokenPurchaseCost: bigint;
271
+ totalCost: bigint;
272
+ };
273
+ export declare function get1155MintCosts({ mintable, publicClient, quantityToMint, }: {
274
+ mintable: MintableGetTokenResponse;
275
+ publicClient: PublicClient;
276
+ quantityToMint: bigint;
277
+ }): Promise<MintCosts>;
278
+ export type Mintable = MintableGetTokenResponse;
240
279
  export {};
241
280
  //# sourceMappingURL=mint-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mint-client.d.ts","sourceRoot":"","sources":["../../src/mint/mint-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,EACL,YAAY,EAKb,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,MAAM,CAAC;AAMlD,cAAM,SAAU,SAAQ,KAAK;CAAG;AAChC,cAAM,iBAAkB,SAAQ,KAAK;CAAG;AAExC,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAcF,cAAM,UAAW,SAAQ,UAAU;IACjC,SAAS,EAAE,OAAO,aAAa,CAAC;gBAEpB,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,OAAO,aAAa;IASpD,WAAW,CAAC,EAChB,aAAa,EACb,OAAO,GACR,EAAE;QACD,aAAa,EAAE,OAAO,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;KACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUK,0BAA0B,CAAC,EAC/B,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,aAAa,GACd,EAAE;QACD,YAAY,EAAE,YAAY,CAAC;QAC3B,QAAQ,EAAE,wBAAwB,CAAC;QACnC,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,aAAa,CAAC;KAC9B,GAAG,OAAO,CAAC;QAAE,0BAA0B,EAAE,0BAA0B,CAAA;KAAE,CAAC;YAiDzD,mBAAmB;YAkDnB,kBAAkB;CAoCjC;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,aAAa,GACd,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;CACtC,cAEA"}
1
+ {"version":3,"file":"mint-client.d.ts","sourceRoot":"","sources":["../../src/mint/mint-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,EACL,YAAY,EAOb,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,MAAM,CAAC;AAMlD,cAAM,SAAU,SAAQ,KAAK;CAAG;AAChC,cAAM,iBAAkB,SAAQ,KAAK;CAAG;AAExC,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAOF,cAAM,UAAU;IACd,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;gBAGlC,KAAK,EAAE,KAAK,EACZ,YAAY,CAAC,EAAE,YAAY,EAC3B,UAAU,CAAC,EAAE,WAAW;IAO1B;;;;;OAKG;IACG,WAAW,CAAC,EAChB,aAAa,EACb,OAAO,GACR,EAAE;QACD,aAAa,EAAE,OAAO,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;KACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOD;;;;;;OAMG;IACG,0BAA0B,CAAC,EAC/B,GAAG,IAAI,EACR,EAAE;QACD,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,wBAAwB,CAAC;QACnC,aAAa,EAAE,aAAa,CAAC;KAC9B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAQvC;;;;;OAKG;IACG,YAAY,CAAC,EACjB,QAAQ,EACR,cAAc,GACf,EAAE;QACD,QAAQ,EAAE,QAAQ,CAAC;QACnB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,SAAS,CAAC;CAsBvB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EACZ,UAAU,GACX,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B,cAEA;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAwJ9D,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,EACrC,QAAQ,EACR,YAAY,EACZ,cAAc,GACf,EAAE;IACD,QAAQ,EAAE,wBAAwB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,SAAS,CAAC,CAiBrB;AAgED,MAAM,MAAM,QAAQ,GAAG,wBAAwB,CAAC"}
@@ -1,5 +1,7 @@
1
+ import { IHttpClient } from "../apis/http-api-base";
1
2
  import { components, paths } from "../apis/generated/premint-api-types";
2
3
  import { ZORA_API_BASE } from "../constants";
4
+ import { NetworkConfig } from "src/apis/chain-constants";
3
5
  type SignaturePostType = paths["/signature"]["post"];
4
6
  type PremintSignatureRequestBody = SignaturePostType["requestBody"]["content"]["application/json"];
5
7
  export type PremintSignatureResponse = SignaturePostType["responses"][200]["content"]["application/json"];
@@ -9,11 +11,16 @@ export type PremintNextUIDGetResponse = PremintNextUIDGetType["responses"][200][
9
11
  type SignaturePremintGetType = paths["/signature/{chain_name}/{collection_address}/{uid}"]["get"];
10
12
  type PremintSignatureGetPathParameters = SignaturePremintGetType["parameters"]["path"];
11
13
  export type PremintSignatureGetResponse = SignaturePremintGetType["responses"][200]["content"]["application/json"];
14
+ export type PremintCollection = PremintSignatureGetResponse["collection"];
12
15
  export type BackendChainNames = components["schemas"]["ChainName"];
13
- export declare const PremintAPIClient: {
14
- postSignature: (data: PremintSignatureRequestBody) => Promise<PremintSignatureResponse>;
15
- getSignature: (path: PremintSignatureGetPathParameters) => Promise<PremintSignatureGetResponse>;
16
- getNextUID: (path: PremintNextUIDGetPathParameters) => Promise<PremintNextUIDGetResponse>;
17
- };
18
- export { ZORA_API_BASE };
16
+ type OmitChainName<T> = Omit<T, "chain_name">;
17
+ declare class PremintAPIClient {
18
+ httpClient: IHttpClient;
19
+ networkConfig: NetworkConfig;
20
+ constructor(chainId: number, httpClient?: IHttpClient);
21
+ postSignature: (data: OmitChainName<PremintSignatureRequestBody>) => Promise<PremintSignatureResponse>;
22
+ getNextUID: (path: OmitChainName<PremintNextUIDGetPathParameters>) => Promise<PremintNextUIDGetResponse>;
23
+ getSignature: ({ collection_address, uid, }: OmitChainName<PremintSignatureGetPathParameters>) => Promise<PremintSignatureGetResponse>;
24
+ }
25
+ export { ZORA_API_BASE, PremintAPIClient };
19
26
  //# sourceMappingURL=premint-api-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"premint-api-client.d.ts","sourceRoot":"","sources":["../../src/premint/premint-api-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,KAAK,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AACrD,KAAK,2BAA2B,GAC9B,iBAAiB,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAClE,MAAM,MAAM,wBAAwB,GAClC,iBAAiB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAErE,KAAK,qBAAqB,GACxB,KAAK,CAAC,uDAAuD,CAAC,CAAC,KAAK,CAAC,CAAC;AACxE,KAAK,+BAA+B,GAClC,qBAAqB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,yBAAyB,GACnC,qBAAqB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAEzE,KAAK,uBAAuB,GAC1B,KAAK,CAAC,oDAAoD,CAAC,CAAC,KAAK,CAAC,CAAC;AACrE,KAAK,iCAAiC,GACpC,uBAAuB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,2BAA2B,GACrC,uBAAuB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAE3E,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;AA2BnE,eAAO,MAAM,gBAAgB;0BAxBrB,2BAA2B,KAChC,QAAQ,wBAAwB,CAAC;yBAe5B,iCAAiC,KACtC,QAAQ,2BAA2B,CAAC;uBAV/B,+BAA+B,KACpC,QAAQ,yBAAyB,CAAC;CAoBpC,CAAC;AACF,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"premint-api-client.d.ts","sourceRoot":"","sources":["../../src/premint/premint-api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,KAAK,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AACrD,KAAK,2BAA2B,GAC9B,iBAAiB,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAClE,MAAM,MAAM,wBAAwB,GAClC,iBAAiB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAErE,KAAK,qBAAqB,GACxB,KAAK,CAAC,uDAAuD,CAAC,CAAC,KAAK,CAAC,CAAC;AACxE,KAAK,+BAA+B,GAClC,qBAAqB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,yBAAyB,GACnC,qBAAqB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAEzE,KAAK,uBAAuB,GAC1B,KAAK,CAAC,oDAAoD,CAAC,CAAC,KAAK,CAAC,CAAC;AACrE,KAAK,iCAAiC,GACpC,uBAAuB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,2BAA2B,GACrC,uBAAuB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAE3E,MAAM,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;AAE1E,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;AAuCnE,KAAK,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AAE9C,cAAM,gBAAgB;IACpB,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW;IAIrD,aAAa,SACL,cAAc,2BAA2B,CAAC,KAC/C,QAAQ,wBAAwB,CAAC,CAK/B;IAEL,UAAU,SACF,cAAc,+BAA+B,CAAC,KACnD,QAAQ,yBAAyB,CAAC,CAKhC;IAEL,YAAY,iCAGT,cAAc,iCAAiC,CAAC,KAAG,QAAQ,2BAA2B,CAAC,CAMrF;CACN;AAED,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC"}
@@ -4,7 +4,7 @@ import { PremintConfig } from "./preminter";
4
4
  import type { PremintSignatureGetResponse, PremintSignatureResponse } from "./premint-api-client";
5
5
  import { PremintAPIClient } from "./premint-api-client";
6
6
  import type { DecodeEventLogReturnType } from "viem";
7
- import { ClientBase } from "../apis/client-base";
7
+ import { IHttpClient } from "src/apis/http-api-base";
8
8
  type MintArgumentsSettings = {
9
9
  tokenURI: string;
10
10
  maxSupply?: bigint;
@@ -100,9 +100,11 @@ export declare const encodePremintForAPI: ({ tokenConfig, ...premint }: PremintC
100
100
  * Preminter API to access ZORA Premint functionality.
101
101
  * Currently only supports V1 premints.
102
102
  */
103
- declare class PremintClient extends ClientBase {
104
- apiClient: typeof PremintAPIClient;
105
- constructor(chain: Chain, apiClient?: typeof PremintAPIClient);
103
+ declare class PremintClient {
104
+ readonly apiClient: PremintAPIClient;
105
+ readonly publicClient: PublicClient;
106
+ readonly chain: Chain;
107
+ constructor(chain: Chain, publicClient?: PublicClient, httpClient?: IHttpClient);
106
108
  /**
107
109
  * The premint executor address is deployed to the same address across all chains.
108
110
  * Can be overridden as needed by making a parent class.
@@ -185,9 +187,8 @@ declare class PremintClient extends ClientBase {
185
187
  * @param settings.walletClient viem wallet client to use to sign
186
188
  *
187
189
  */
188
- deletePremint({ walletClient, uid, account, collection, publicClient, }: {
190
+ deletePremint({ walletClient, uid, account, collection, }: {
189
191
  walletClient: WalletClient;
190
- publicClient: PublicClient;
191
192
  uid: number;
192
193
  account?: Account | Address;
193
194
  collection: Address;
@@ -244,13 +245,12 @@ declare class PremintClient extends ClientBase {
244
245
  * @param settings.checkSignature if the signature should have a pre-flight check. Not required but helpful for debugging.
245
246
  * @returns premint url, uid, newContractAddress, and premint object
246
247
  */
247
- createPremint({ account, collection, token, publicClient, walletClient, executionSettings, checkSignature, }: {
248
+ createPremint({ account, collection, token, walletClient, executionSettings, checkSignature, }: {
248
249
  account: Address;
249
250
  checkSignature?: boolean;
250
251
  walletClient: WalletClient;
251
252
  collection: PremintSignatureGetResponse["collection"];
252
253
  token: MintArgumentsSettings;
253
- publicClient?: PublicClient;
254
254
  executionSettings?: {
255
255
  deleted?: boolean;
256
256
  uid?: number;
@@ -303,9 +303,8 @@ declare class PremintClient extends ClientBase {
303
303
  * @param data Signature data from the API
304
304
  * @returns isValid = signature is valid or not, contractAddress = assumed contract address, recoveredSigner = signer from contract
305
305
  */
306
- isValidSignature({ data, publicClient, }: {
306
+ isValidSignature({ data, }: {
307
307
  data: PremintSignatureGetResponse;
308
- publicClient?: PublicClient;
309
308
  }): Promise<{
310
309
  isValid: boolean;
311
310
  contractAddress: Address;
@@ -328,20 +327,19 @@ declare class PremintClient extends ClientBase {
328
327
  * @param settings.publicClient Optional public client for preflight checks.
329
328
  * @returns receipt, log, zoraURL
330
329
  */
331
- executePremint({ data, account, mintArguments, }: {
330
+ makeMintParameters({ data, account, mintArguments, }: {
332
331
  data: PremintSignatureGetResponse;
333
332
  account: Account | Address;
334
333
  mintArguments?: {
335
334
  quantityToMint: number;
336
335
  mintComment?: string;
337
336
  };
338
- }): Promise<{
339
- request: SimulateContractParameters;
340
- }>;
337
+ }): Promise<SimulateContractParameters>;
341
338
  }
342
- export declare function createPremintClient({ chain, premintAPIClient, }: {
339
+ export declare function createPremintClient({ chain, httpClient, publicClient, }: {
343
340
  chain: Chain;
344
- premintAPIClient?: typeof PremintAPIClient;
341
+ publicClient?: PublicClient;
342
+ httpClient?: IHttpClient;
345
343
  }): PremintClient;
346
344
  export {};
347
345
  //# sourceMappingURL=premint-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"premint-client.d.ts","sourceRoot":"","sources":["../../src/premint/premint-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"premint-client.d.ts","sourceRoot":"","sources":["../../src/premint/premint-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zoralabs/protocol-sdk",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "repository": "https://github.com/ourzora/zora-protocol",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
@@ -91,3 +91,15 @@ export const retries = async <T>(
91
91
  throw err;
92
92
  }
93
93
  };
94
+
95
+ export interface IHttpClient {
96
+ get: typeof get;
97
+ post: typeof post;
98
+ retries: typeof retries;
99
+ }
100
+
101
+ export const httpClient: IHttpClient = {
102
+ get,
103
+ post,
104
+ retries,
105
+ };
@@ -1,6 +1,11 @@
1
- import { retries, get, post } from "../apis/http-api-base";
1
+ import {
2
+ httpClient as defaultHttpClient,
3
+ IHttpClient,
4
+ } from "../apis/http-api-base";
2
5
  import { paths } from "../apis/generated/discover-api-types";
3
6
  import { ZORA_API_BASE } from "../constants";
7
+ import { NetworkConfig, networkConfigByChain } from "src/apis/chain-constants";
8
+ import { Address } from "viem";
4
9
 
5
10
  export type MintableGetToken =
6
11
  paths["/mintables/{chain_name}/{collection_address}"];
@@ -15,38 +20,70 @@ function encodeQueryParameters(params: Record<string, string>) {
15
20
  return new URLSearchParams(params).toString();
16
21
  }
17
22
 
18
- const getMintable = async (
19
- path: MintableGetTokenPathParameters,
20
- query: MintableGetTokenGetQueryParameters,
21
- ): Promise<MintableGetTokenResponse> =>
22
- retries(() => {
23
- return get<MintableGetTokenResponse>(
24
- `${ZORA_API_BASE}discover/mintables/${path.chain_name}/${
25
- path.collection_address
26
- }${query?.token_id ? `?${encodeQueryParameters(query)}` : ""}`,
27
- );
28
- });
29
-
30
- export const getSalesConfigFixedPrice = async ({
31
- contractAddress,
32
- tokenId,
33
- subgraphUrl,
34
- }: {
35
- contractAddress: string;
36
- tokenId: string;
37
- subgraphUrl: string;
38
- }): Promise<undefined | string> =>
39
- retries(async () => {
40
- const response = await post<any>(subgraphUrl, {
41
- query:
42
- "query($id: ID!) {\n zoraCreateToken(id: $id) {\n id\n salesStrategies{\n fixedPrice {\n address\n }\n }\n }\n}",
43
- variables: { id: `${contractAddress.toLowerCase()}-${tokenId}` },
23
+ export const getApiNetworkConfigForChain = (chainId: number): NetworkConfig => {
24
+ if (!networkConfigByChain[chainId]) {
25
+ throw new Error(`chain id ${chainId} network not configured `);
26
+ }
27
+ return networkConfigByChain[chainId]!;
28
+ };
29
+
30
+ export class MintAPIClient {
31
+ httpClient: IHttpClient;
32
+ networkConfig: NetworkConfig;
33
+
34
+ constructor(chainId: number, httpClient?: IHttpClient) {
35
+ this.httpClient = httpClient || defaultHttpClient;
36
+ this.networkConfig = getApiNetworkConfigForChain(chainId);
37
+ }
38
+
39
+ async getMintable(
40
+ path: MintableGetTokenPathParameters,
41
+ query: MintableGetTokenGetQueryParameters,
42
+ ): Promise<MintableGetTokenResponse> {
43
+ const httpClient = this.httpClient;
44
+ return httpClient.retries(() => {
45
+ return httpClient.get<MintableGetTokenResponse>(
46
+ `${ZORA_API_BASE}discover/mintables/${path.chain_name}/${
47
+ path.collection_address
48
+ }${query?.token_id ? `?${encodeQueryParameters(query)}` : ""}`,
49
+ );
44
50
  });
45
- return response.zoraCreateToken?.salesStrategies?.find(() => true)
46
- ?.fixedPriceMinterAddress;
47
- });
51
+ }
48
52
 
49
- export const MintAPIClient = {
50
- getMintable,
51
- getSalesConfigFixedPrice,
52
- };
53
+ async getSalesConfigFixedPrice({
54
+ contractAddress,
55
+ tokenId,
56
+ }: {
57
+ contractAddress: string;
58
+ tokenId: bigint;
59
+ }): Promise<undefined | string> {
60
+ const { retries, post } = this.httpClient;
61
+ return retries(async () => {
62
+ const response = await post<any>(this.networkConfig.subgraphUrl, {
63
+ query:
64
+ "query($id: ID!) {\n zoraCreateToken(id: $id) {\n id\n salesStrategies{\n fixedPrice {\n address\n }\n }\n }\n}",
65
+ variables: {
66
+ id: `${contractAddress.toLowerCase()}-${tokenId.toString()}`,
67
+ },
68
+ });
69
+ return response.zoraCreateToken?.salesStrategies?.find(() => true)
70
+ ?.fixedPriceMinterAddress;
71
+ });
72
+ }
73
+
74
+ async getMintableForToken({
75
+ tokenContract,
76
+ tokenId,
77
+ }: {
78
+ tokenContract: Address;
79
+ tokenId?: bigint | number | string;
80
+ }) {
81
+ return await this.getMintable(
82
+ {
83
+ chain_name: this.networkConfig.zoraBackendChainName,
84
+ collection_address: tokenContract,
85
+ },
86
+ { token_id: tokenId?.toString() },
87
+ );
88
+ }
89
+ }
@@ -23,19 +23,17 @@ describe("mint-helper", () => {
23
23
  const targetTokenId = 1n;
24
24
  const minter = createMintClient({ chain: zora });
25
25
 
26
- const { simulateContractParameters: params } =
27
- await minter.makePrepareMintTokenParams({
28
- publicClient,
29
- minterAccount: creatorAccount,
30
- mintable: await minter.getMintable({
31
- tokenId: targetTokenId,
32
- tokenContract: targetContract,
33
- }),
34
- mintArguments: {
35
- mintToAddress: creatorAccount,
36
- quantityToMint: 1,
37
- },
38
- });
26
+ const params = await minter.makePrepareMintTokenParams({
27
+ minterAccount: creatorAccount,
28
+ mintable: await minter.getMintable({
29
+ tokenId: targetTokenId,
30
+ tokenContract: targetContract,
31
+ }),
32
+ mintArguments: {
33
+ mintToAddress: creatorAccount,
34
+ quantityToMint: 1,
35
+ },
36
+ });
39
37
 
40
38
  const oldBalance = await publicClient.readContract({
41
39
  abi: zoraCreator1155ImplABI,
@@ -75,19 +73,17 @@ describe("mint-helper", () => {
75
73
  const targetTokenId = undefined;
76
74
  const minter = createMintClient({ chain: zora });
77
75
 
78
- const { simulateContractParameters: prepared } =
79
- await minter.makePrepareMintTokenParams({
80
- mintable: await minter.getMintable({
81
- tokenContract: targetContract,
82
- tokenId: targetTokenId,
83
- }),
84
- publicClient,
85
- minterAccount: creatorAccount,
86
- mintArguments: {
87
- mintToAddress: creatorAccount,
88
- quantityToMint: 1,
89
- },
90
- });
76
+ const params = await minter.makePrepareMintTokenParams({
77
+ mintable: await minter.getMintable({
78
+ tokenContract: targetContract,
79
+ tokenId: targetTokenId,
80
+ }),
81
+ minterAccount: creatorAccount,
82
+ mintArguments: {
83
+ mintToAddress: creatorAccount,
84
+ quantityToMint: 1,
85
+ },
86
+ });
91
87
  const oldBalance = await publicClient.readContract({
92
88
  abi: erc721ABI,
93
89
  address: targetContract,
@@ -95,7 +91,7 @@ describe("mint-helper", () => {
95
91
  args: [creatorAccount],
96
92
  });
97
93
 
98
- const simulated = await publicClient.simulateContract(prepared);
94
+ const simulated = await publicClient.simulateContract(params);
99
95
 
100
96
  const hash = await walletClient.writeContract(simulated.request);
101
97