@zoralabs/protocol-sdk 0.9.0 → 0.9.2

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.
Files changed (52) hide show
  1. package/.turbo/turbo-build.log +7 -7
  2. package/CHANGELOG.md +12 -0
  3. package/dist/anvil.d.ts.map +1 -1
  4. package/dist/apis/http-api-base.d.ts +1 -1
  5. package/dist/apis/http-api-base.d.ts.map +1 -1
  6. package/dist/apis/subgraph-querier.d.ts +6 -0
  7. package/dist/apis/subgraph-querier.d.ts.map +1 -1
  8. package/dist/create/1155-create-helper.d.ts +4 -1
  9. package/dist/create/1155-create-helper.d.ts.map +1 -1
  10. package/dist/create/contract-getter.d.ts +30 -0
  11. package/dist/create/contract-getter.d.ts.map +1 -0
  12. package/dist/create/contract-setup.d.ts +4 -8
  13. package/dist/create/contract-setup.d.ts.map +1 -1
  14. package/dist/create/mint-from-create.d.ts +12 -0
  15. package/dist/create/mint-from-create.d.ts.map +1 -0
  16. package/dist/create/subgraph-queries.d.ts +13 -0
  17. package/dist/create/subgraph-queries.d.ts.map +1 -0
  18. package/dist/create/types.d.ts +2 -0
  19. package/dist/create/types.d.ts.map +1 -1
  20. package/dist/index.cjs +267 -74
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.js +261 -68
  23. package/dist/index.js.map +1 -1
  24. package/dist/mint/mint-queries.d.ts +3 -1
  25. package/dist/mint/mint-queries.d.ts.map +1 -1
  26. package/dist/mint/subgraph-mint-getter.d.ts +2 -2
  27. package/dist/mint/subgraph-mint-getter.d.ts.map +1 -1
  28. package/dist/mint/subgraph-queries.d.ts +1 -5
  29. package/dist/mint/subgraph-queries.d.ts.map +1 -1
  30. package/dist/mint/types.d.ts +1 -0
  31. package/dist/mint/types.d.ts.map +1 -1
  32. package/dist/retries.d.ts +7 -0
  33. package/dist/retries.d.ts.map +1 -0
  34. package/dist/sdk.d.ts +2 -0
  35. package/dist/sdk.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/apis/http-api-base.ts +12 -20
  38. package/src/apis/subgraph-querier.ts +7 -0
  39. package/src/create/1155-create-helper.test.ts +58 -59
  40. package/src/create/1155-create-helper.ts +37 -7
  41. package/src/create/contract-getter.ts +90 -0
  42. package/src/create/contract-setup.ts +17 -46
  43. package/src/create/mint-from-create.ts +111 -0
  44. package/src/create/subgraph-queries.ts +35 -0
  45. package/src/create/types.ts +2 -0
  46. package/src/mint/mint-queries.ts +8 -8
  47. package/src/mint/subgraph-mint-getter.ts +5 -2
  48. package/src/mint/subgraph-queries.ts +1 -7
  49. package/src/mint/types.ts +3 -0
  50. package/src/retries.ts +49 -0
  51. package/src/sdk.ts +8 -0
  52. package/test-integration/create-multiple-tokens-on-contract.ts +104 -0
@@ -1,5 +1,5 @@
1
1
  import { IPremintGetter } from "src/premint/premint-api-client";
2
- import { ContractInfo, GetMintCostsParameters, GetMintParameters, GetMintsOfContractParameters, IOnchainMintGetter, MintableReturn } from "./types";
2
+ import { ContractInfo, Erc20Approval, GetMintCostsParameters, GetMintParameters, GetMintsOfContractParameters, IOnchainMintGetter, MintParametersBase, MintableReturn, OnchainSalesConfigAndTokenInfo, PrepareMint } from "./types";
3
3
  import { Address } from "viem";
4
4
  import { IPublicClient } from "src/types";
5
5
  import { AllowListEntry } from "src/allow-list/types";
@@ -37,4 +37,6 @@ export declare function getMintCosts({ params, allowListEntry, mintGetter, premi
37
37
  premintGetter: IPremintGetter;
38
38
  publicClient: IPublicClient;
39
39
  }): Promise<import("./types").MintCosts>;
40
+ export declare const makeOnchainPrepareMint: (result: OnchainSalesConfigAndTokenInfo) => PrepareMint;
41
+ export declare function getRequiredErc20Approvals(params: MintParametersBase, salesConfig: OnchainSalesConfigAndTokenInfo["salesConfig"]): Erc20Approval | undefined;
40
42
  //# sourceMappingURL=mint-queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mint-queries.d.ts","sourceRoot":"","sources":["../../src/mint/mint-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EACL,YAAY,EAEZ,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAElB,cAAc,EAMf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAe,MAAM,MAAM,CAAC;AAY5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,wBAAsB,OAAO,CAAC,EAC5B,MAAM,EACN,UAAU,EACV,aAAa,EACb,YAAY,GACb,EAAE;IACD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,cAAc,CAAC;IAC9B,YAAY,EAAE,aAAa,CAAC;CAC7B,GAAG,OAAO,CAAC,cAAc,CAAC,CA0B1B;AACD,wBAAsB,mCAAmC,CAAC,EACxD,aAAa,EACb,UAAU,EACV,aAAa,GACd,EAAE;IACD,aAAa,EAAE,cAAc,CAAC;IAC9B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;CACxB;;;;;;;GAoBA;AAED,wBAAsB,kBAAkB,CAAC,EACvC,MAAM,EACN,UAAU,EACV,aAAa,EACb,YAAY,GACb,EAAE;IACD,MAAM,EAAE,4BAA4B,CAAC;IACrC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,cAAc,CAAC;IAC9B,YAAY,EAAE,aAAa,CAAC;CAC7B,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CAsBjE;AAED,wBAAsB,YAAY,CAAC,EACjC,MAAM,EACN,cAAc,EACd,UAAU,EACV,aAAa,EACb,YAAY,GACb,EAAE;IACD,MAAM,EAAE,sBAAsB,CAAC;IAC/B,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC/C,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,cAAc,CAAC;IAC9B,YAAY,EAAE,aAAa,CAAC;CAC7B,wCA6BA"}
1
+ {"version":3,"file":"mint-queries.d.ts","sourceRoot":"","sources":["../../src/mint/mint-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,8BAA8B,EAE9B,WAAW,EAGZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAe,MAAM,MAAM,CAAC;AAY5C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,wBAAsB,OAAO,CAAC,EAC5B,MAAM,EACN,UAAU,EACV,aAAa,EACb,YAAY,GACb,EAAE;IACD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,cAAc,CAAC;IAC9B,YAAY,EAAE,aAAa,CAAC;CAC7B,GAAG,OAAO,CAAC,cAAc,CAAC,CA0B1B;AACD,wBAAsB,mCAAmC,CAAC,EACxD,aAAa,EACb,UAAU,EACV,aAAa,GACd,EAAE;IACD,aAAa,EAAE,cAAc,CAAC;IAC9B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;CACxB;;;;;;;GAoBA;AAED,wBAAsB,kBAAkB,CAAC,EACvC,MAAM,EACN,UAAU,EACV,aAAa,EACb,YAAY,GACb,EAAE;IACD,MAAM,EAAE,4BAA4B,CAAC;IACrC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,cAAc,CAAC;IAC9B,YAAY,EAAE,aAAa,CAAC;CAC7B,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CAsBjE;AAED,wBAAsB,YAAY,CAAC,EACjC,MAAM,EACN,cAAc,EACd,UAAU,EACV,aAAa,EACb,YAAY,GACb,EAAE;IACD,MAAM,EAAE,sBAAsB,CAAC;IAC/B,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC/C,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,cAAc,CAAC;IAC9B,YAAY,EAAE,aAAa,CAAC;CAC7B,wCA6BA;AAyFD,eAAO,MAAM,sBAAsB,WACxB,8BAA8B,KAAG,WAkBzC,CAAC;AA+CJ,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,8BAA8B,CAAC,aAAa,CAAC,GACzD,aAAa,GAAG,SAAS,CAQ3B"}
@@ -1,8 +1,8 @@
1
1
  import { Address } from "viem";
2
- import { ISubgraphQuerier } from "../apis/subgraph-querier";
2
+ import { ISubgraphQuerier, ISubgraphQuery } from "../apis/subgraph-querier";
3
3
  import { NetworkConfig } from "src/apis/chain-constants";
4
4
  import { IOnchainMintGetter, SaleType, OnchainSalesConfigAndTokenInfo } from "./types";
5
- import { ISubgraphQuery, TokenQueryResult } from "./subgraph-queries";
5
+ import { TokenQueryResult } from "./subgraph-queries";
6
6
  export declare const getApiNetworkConfigForChain: (chainId: number) => NetworkConfig;
7
7
  export declare class SubgraphMintGetter implements IOnchainMintGetter {
8
8
  readonly subgraphQuerier: ISubgraphQuerier;
@@ -1 +1 @@
1
- {"version":3,"file":"subgraph-mint-getter.d.ts","sourceRoot":"","sources":["../../src/mint/subgraph-mint-getter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAmB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EACL,kBAAkB,EAClB,QAAQ,EAER,8BAA8B,EAE/B,MAAM,SAAS,CAAC;AACjB,OAAO,EAIL,cAAc,EAEd,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,2BAA2B,YAAa,MAAM,KAAG,aAK7D,CAAC;AA6HF,qBAAa,kBAAmB,YAAW,kBAAkB;IAC3D,SAAgB,eAAe,EAAE,gBAAgB,CAAC;IAClD,aAAa,EAAE,aAAa,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,gBAAgB;IAMzD,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAIzD,wBAAwB,CAAC,CAAC,EAAE,EAChC,KAAK,EACL,SAAS,EACT,iBAAiB,GAClB,EAAE,cAAc,CAAC,CAAC,CAAC;IAUpB,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CA0B5C;IAEI,mBAAmB,CAAC,EACxB,YAAY,EACZ,iBAAiB,EACjB,SAAS,GACV,EAAE;QACD,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,CAAC,EAAE,QAAQ,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB;IAwBK,0BAA0B,CAAC,EAC/B,YAAY,GACb,EAAE;QACD,YAAY,EAAE,OAAO,CAAC;KACvB;;;;CAcF"}
1
+ {"version":3,"file":"subgraph-mint-getter.d.ts","sourceRoot":"","sources":["../../src/mint/subgraph-mint-getter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EACL,gBAAgB,EAChB,cAAc,EAEf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EACL,kBAAkB,EAClB,QAAQ,EAER,8BAA8B,EAE/B,MAAM,SAAS,CAAC;AACjB,OAAO,EAKL,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,2BAA2B,YAAa,MAAM,KAAG,aAK7D,CAAC;AA6HF,qBAAa,kBAAmB,YAAW,kBAAkB;IAC3D,SAAgB,eAAe,EAAE,gBAAgB,CAAC;IAClD,aAAa,EAAE,aAAa,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,gBAAgB;IAMzD,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAIzD,wBAAwB,CAAC,CAAC,EAAE,EAChC,KAAK,EACL,SAAS,EACT,iBAAiB,GAClB,EAAE,cAAc,CAAC,CAAC,CAAC;IAUpB,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CA0B5C;IAEI,mBAAmB,CAAC,EACxB,YAAY,EACZ,iBAAiB,EACjB,SAAS,GACV,EAAE;QACD,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,CAAC,EAAE,QAAQ,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB;IAwBK,0BAA0B,CAAC,EAC/B,YAAY,GACb,EAAE;QACD,YAAY,EAAE,OAAO,CAAC;KACvB;;;;CAcF"}
@@ -1,3 +1,4 @@
1
+ import { ISubgraphQuery } from "src/apis/subgraph-querier";
1
2
  import { GenericTokenIdTypes } from "src/types";
2
3
  import { Address } from "viem";
3
4
  export type FixedPriceSaleStrategyResult = {
@@ -69,11 +70,6 @@ export declare function buildNftTokenSalesQuery({ tokenId, tokenAddress, }: {
69
70
  export declare function buildContractTokensQuery({ tokenAddress, }: {
70
71
  tokenAddress: Address;
71
72
  }): ISubgraphQuery<TokenQueryResult[]>;
72
- export type ISubgraphQuery<T> = {
73
- query: string;
74
- variables: Record<string, any>;
75
- parseResponseData: (data: any | undefined) => T | undefined;
76
- };
77
73
  export declare function buildPremintsOfContractQuery({ tokenAddress, }: {
78
74
  tokenAddress: Address;
79
75
  }): ISubgraphQuery<{
@@ -1 +1 @@
1
- {"version":3,"file":"subgraph-queries.d.ts","sourceRoot":"","sources":["../../src/mint/subgraph-queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subgraph-queries.d.ts","sourceRoot":"","sources":["../../src/mint/subgraph-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,YAAY,CAAC;IACnB,eAAe,EAAE;QACf,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE;YACN,EAAE,EAAE,OAAO,CAAC;YACZ,IAAI,EAAE,OAAO,CAAC;SACf,CAAC;QACF,kBAAkB,EAAE,OAAO,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B,4BAA4B,GAC5B,uBAAuB,GACvB,0BAA0B,GAC1B,iCAAiC,CAAC;AAEtC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACxC,aAAa,EAAE,SAAS,GAAG,QAAQ,CAAC;IACpC,QAAQ,EAAE;QACR,kBAAkB,EAAE,MAAM,CAAC;QAC3B,eAAe,EAAE,mBAAmB,EAAE,CAAC;QACvC,OAAO,EAAE,OAAO,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAmEF,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,YAAY,GACb,EAAE;IACD,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;CACvB,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAoBnC;AAED,wBAAgB,wBAAwB,CAAC,EACvC,YAAY,GACb,EAAE;IACD,YAAY,EAAE,OAAO,CAAC;CACvB,GAAG,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAkBrC;AACD,wBAAgB,4BAA4B,CAAC,EAC3C,YAAY,GACb,EAAE;IACD,YAAY,EAAE,OAAO,CAAC;CACvB,GAAG,cAAc,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,CAgBrD"}
@@ -186,6 +186,7 @@ export type PrepareMintReturn = {
186
186
  costs: MintCosts;
187
187
  };
188
188
  export type PrepareMint = (params: MintParametersBase) => PrepareMintReturn;
189
+ export type AsyncPrepareMint = (params: MintParametersBase) => Promise<PrepareMintReturn>;
189
190
  export type MintableReturn = {
190
191
  /** Token information */
191
192
  token: SalesConfigAndTokenInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mint/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mint/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const retriesGeneric: <T>(params: {
2
+ tryFn: () => T;
3
+ maxTries?: number;
4
+ linearBackoffMS?: number;
5
+ shouldRetryOnError?: (err: any) => boolean;
6
+ }) => Promise<T>;
7
+ //# sourceMappingURL=retries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retries.d.ts","sourceRoot":"","sources":["../src/retries.ts"],"names":[],"mappings":"AAsCA,eAAO,MAAM,cAAc,GAAU,CAAC,UAAU;IAC9C,KAAK,EAAE,MAAM,CAAC,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;CAC5C,eAKA,CAAC"}
package/dist/sdk.d.ts CHANGED
@@ -4,6 +4,7 @@ import { MintClient } from "./mint/mint-client";
4
4
  import { ClientConfig } from "./utils";
5
5
  import { IPremintAPI } from "./premint/premint-api-client";
6
6
  import { IOnchainMintGetter } from "./mint/types";
7
+ import { IContractGetter } from "./create/contract-getter";
7
8
  export type CreatorClient = {
8
9
  createPremint: PremintClient["createPremint"];
9
10
  updatePremint: PremintClient["updatePremint"];
@@ -22,6 +23,7 @@ export type CollectorClient = {
22
23
  export type CreatorClientConfig = ClientConfig & {
23
24
  /** API for submitting and getting premints. Defaults to the Zora Premint API */
24
25
  premintApi?: IPremintAPI;
26
+ contractGetter?: IContractGetter;
25
27
  };
26
28
  /**
27
29
  * Builds the sdk for creating/managing 1155 contracts and tokens
package/dist/sdk.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAoB,MAAM,8BAA8B,CAAC;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC9C,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC9C,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC9C,UAAU,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC9C,4BAA4B,EAAE,gBAAgB,CAAC,iCAAiC,CAAC,CAAC;CACnF,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACxC,gCAAgC,EAAE,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAC7E,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzB,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACzC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5B,mBAAmB,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG;IAC/C,iFAAiF;IACjF,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF;;;;;KAKK;AACL,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,mBAAmB,GAChC,aAAa,CAqBf;AAED,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG;IACjD,kEAAkE;IAClE,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,GAC5B,eAAe,CAwBjB"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAoB,MAAM,8BAA8B,CAAC;AAE7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC9C,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC9C,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC9C,UAAU,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAC9C,4BAA4B,EAAE,gBAAgB,CAAC,iCAAiC,CAAC,CAAC;CACnF,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACxC,gCAAgC,EAAE,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAC7E,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzB,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IACzC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5B,mBAAmB,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG;IAC/C,iFAAiF;IACjF,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,cAAc,CAAC,EAAE,eAAe,CAAC;CAClC,CAAC;AAEF;;;;;KAKK;AACL,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,mBAAmB,GAChC,aAAa,CAwBf;AAED,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG;IACjD,kEAAkE;IAClE,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,GAC5B,eAAe,CAwBjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zoralabs/protocol-sdk",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "repository": "https://github.com/ourzora/zora-protocol",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,3 +1,5 @@
1
+ import { retriesGeneric } from "src/retries";
2
+
1
3
  export class BadResponseError<T = any> extends Error {
2
4
  status: number;
3
5
  json: T;
@@ -9,12 +11,6 @@ export class BadResponseError<T = any> extends Error {
9
11
  }
10
12
  }
11
13
 
12
- async function wait(delayMs: number) {
13
- return new Promise((resolve) => {
14
- setTimeout(resolve, delayMs);
15
- });
16
- }
17
-
18
14
  /**
19
15
  * A simple fetch() wrapper for HTTP gets.
20
16
  * Can be overridden as needed.
@@ -86,22 +82,18 @@ export const post = async <T>(url: string, data: any) => {
86
82
  export const retries = async <T>(
87
83
  tryFn: () => T,
88
84
  maxTries: number = 3,
89
- atTry: number = 1,
90
85
  linearBackoffMS: number = 200,
91
86
  ): Promise<T> => {
92
- try {
93
- return await tryFn();
94
- } catch (err: any) {
95
- if (err instanceof BadResponseError) {
96
- if (err.status >= 500) {
97
- if (atTry <= maxTries) {
98
- await wait(atTry * linearBackoffMS);
99
- return await retries(tryFn, maxTries, atTry + 1);
100
- }
101
- }
102
- }
103
- throw err;
104
- }
87
+ const shouldRetry = (err: any) => {
88
+ return err instanceof BadResponseError && err.status >= 500;
89
+ };
90
+
91
+ return retriesGeneric({
92
+ tryFn,
93
+ maxTries,
94
+ linearBackoffMS,
95
+ shouldRetryOnError: shouldRetry,
96
+ });
105
97
  };
106
98
 
107
99
  export interface IHttpClient {
@@ -1,10 +1,17 @@
1
1
  import { IHttpClient } from "./http-api-base";
2
2
 
3
+ export type ISubgraphQuery<T> = {
4
+ query: string;
5
+ variables: Record<string, any>;
6
+ parseResponseData: (data: any | undefined) => T | undefined;
7
+ };
8
+
3
9
  export interface ISubgraphQuerier {
4
10
  query: (params: {
5
11
  subgraphUrl: string;
6
12
  query: string;
7
13
  variables?: Record<string, any>;
14
+ maxRetries?: number;
8
15
  }) => Promise<object | undefined>;
9
16
  }
10
17
 
@@ -1,4 +1,4 @@
1
- import { describe, expect } from "vitest";
1
+ import { describe, expect, vi } from "vitest";
2
2
  import {
3
3
  getContractAddressFromReceipt,
4
4
  getTokenIdFromCreateReceipt,
@@ -9,19 +9,15 @@ import {
9
9
  zoraTimedSaleStrategyAddress,
10
10
  } from "@zoralabs/protocol-deployments";
11
11
  import { waitForSuccess } from "src/test-utils";
12
- import {
13
- Address,
14
- parseEther,
15
- PublicClient,
16
- TransactionReceipt,
17
- zeroAddress,
18
- } from "viem";
12
+ import { Address, parseEther, PublicClient, TransactionReceipt } from "viem";
19
13
  import { makePrepareMint1155TokenParams } from "src/mint/mint-transactions";
20
14
  import { forkUrls, makeAnvilTest } from "src/anvil";
21
15
  import { zora } from "viem/chains";
22
16
  import { AllowList } from "src/allow-list/types";
23
17
  import { createAllowList } from "src/allow-list/allow-list-client";
24
18
  import { NewContractParams } from "./types";
19
+ import { SubgraphContractGetter } from "./contract-getter";
20
+ import { inspect } from "util";
25
21
 
26
22
  export const demoTokenMetadataURI =
27
23
  "ipfs://bafkreice23maski3x52tsfqgxstx3kbiifnt5jotg3a5ynvve53c4soi2u";
@@ -60,6 +56,7 @@ function logFailure(receipt: TransactionReceipt) {
60
56
  if (receipt.status !== "success") {
61
57
  console.log("transaction failed");
62
58
  console.log(receipt.logs);
59
+ console.log(inspect(receipt, { depth: 10 }));
63
60
  }
64
61
  }
65
62
 
@@ -81,15 +78,18 @@ describe("create-helper", () => {
81
78
  chainId: chain.id,
82
79
  publicClient: publicClient,
83
80
  });
84
- const { parameters, contractAddress, newTokenId } =
85
- await creatorClient.create1155({
86
- contract: randomNewContract(),
87
- token: {
88
- tokenMetadataURI: demoTokenMetadataURI,
89
- mintToCreatorCount: 1,
90
- },
91
- account: creatorAddress,
92
- });
81
+ const {
82
+ parameters: parameters,
83
+ contractAddress,
84
+ newTokenId,
85
+ } = await creatorClient.create1155({
86
+ contract: randomNewContract(),
87
+ token: {
88
+ tokenMetadataURI: demoTokenMetadataURI,
89
+ mintToCreatorCount: 1,
90
+ },
91
+ account: creatorAddress,
92
+ });
93
93
 
94
94
  const { request } = await publicClient.simulateContract(parameters);
95
95
  const hash = await walletClient.writeContract(request);
@@ -127,17 +127,20 @@ describe("create-helper", () => {
127
127
  chainId: chain.id,
128
128
  publicClient: publicClient,
129
129
  });
130
- const { parameters, contractAddress, newTokenId } =
131
- await creatorClient.create1155({
132
- contract: randomNewContract(),
133
- token: {
134
- tokenMetadataURI: demoTokenMetadataURI,
135
- salesConfig: {
136
- pricePerToken: 0n,
137
- },
130
+ const {
131
+ parameters: parameters,
132
+ contractAddress,
133
+ newTokenId,
134
+ } = await creatorClient.create1155({
135
+ contract: randomNewContract(),
136
+ token: {
137
+ tokenMetadataURI: demoTokenMetadataURI,
138
+ salesConfig: {
139
+ pricePerToken: 0n,
138
140
  },
139
- account: creatorAddress,
140
- });
141
+ },
142
+ account: creatorAddress,
143
+ });
141
144
 
142
145
  const { request } = await publicClient.simulateContract(parameters);
143
146
  const hash = await walletClient.writeContract(request);
@@ -168,9 +171,12 @@ describe("create-helper", () => {
168
171
  const addresses = await walletClient.getAddresses();
169
172
  const creatorAccount = addresses[0]!;
170
173
 
174
+ const contractGetter = new SubgraphContractGetter(chain.id);
175
+
171
176
  const creatorClient = createCreatorClient({
172
177
  chainId: chain.id,
173
178
  publicClient: publicClient,
179
+ contractGetter,
174
180
  });
175
181
 
176
182
  const { parameters: request, contractAddress: contractAddress } =
@@ -202,6 +208,21 @@ describe("create-helper", () => {
202
208
  }),
203
209
  ).toBe(3n);
204
210
 
211
+ const contractVersion = await publicClient.readContract({
212
+ abi: zoraCreator1155ImplABI,
213
+ address: contractAddress,
214
+ functionName: "contractVersion",
215
+ });
216
+
217
+ contractGetter.getContractInfo = vi
218
+ .fn<SubgraphContractGetter["getContractInfo"]>()
219
+ .mockResolvedValueOnce({
220
+ contractVersion,
221
+ mintFee: parseEther("0.000777"),
222
+ name: "test",
223
+ nextTokenId: 2n,
224
+ });
225
+
205
226
  const newTokenOnExistingContract =
206
227
  await creatorClient.create1155OnExistingContract({
207
228
  contractAddress: contractAddress,
@@ -282,19 +303,14 @@ describe("create-helper", () => {
282
303
  chainId: chain.id,
283
304
  publicClient: publicClient,
284
305
  });
285
- const {
286
- parameters: request,
287
- newTokenId,
288
- minter,
289
- contractAddress: collectionAddress,
290
- contractVersion,
291
- } = await creatorClient.create1155({
292
- contract: randomNewContract(),
293
- token: {
294
- tokenMetadataURI: demoTokenMetadataURI,
295
- },
296
- account: creatorAddress,
297
- });
306
+ const { parameters: request, prepareMint } =
307
+ await creatorClient.create1155({
308
+ contract: randomNewContract(),
309
+ token: {
310
+ tokenMetadataURI: demoTokenMetadataURI,
311
+ },
312
+ account: creatorAddress,
313
+ });
298
314
  const { request: createSimulation } =
299
315
  await publicClient.simulateContract(request);
300
316
  await waitForSuccess(
@@ -312,25 +328,8 @@ describe("create-helper", () => {
312
328
  value: parseEther("10"),
313
329
  });
314
330
 
315
- const mintParams = makePrepareMint1155TokenParams({
316
- tokenContract: collectionAddress,
331
+ const { parameters: mintParams } = await prepareMint({
317
332
  minterAccount: minterAddress,
318
- tokenId: newTokenId,
319
- salesConfigAndTokenInfo: {
320
- contractVersion,
321
- salesConfig: {
322
- saleType: "timed",
323
- address: minter,
324
- // below fields arent used when determining mint price for minting
325
- saleEnd: "",
326
- saleStart: "",
327
- erc20Z: zeroAddress,
328
- pool: zeroAddress,
329
- secondaryActivated: false,
330
- mintFeePerQuantity: parseEther("0.000111"),
331
- mintFee: 0n,
332
- },
333
- },
334
333
  quantityToMint,
335
334
  });
336
335
 
@@ -454,7 +453,7 @@ describe("create-helper", () => {
454
453
  publicClient: publicClient,
455
454
  });
456
455
 
457
- const { parameters } = await creatorClient.create1155({
456
+ const { parameters: parameters } = await creatorClient.create1155({
458
457
  contract: {
459
458
  name: "test allowlists",
460
459
  uri: "ipfs://bafkreiainxen4b4wz4ubylvbhons6rembxdet4a262nf2lziclqvv7au3e",
@@ -13,8 +13,8 @@ import type {
13
13
  import { decodeEventLog } from "viem";
14
14
  import { makeContractParameters } from "src/utils";
15
15
  import {
16
- getContractInfoExistingContract,
17
16
  getDeterministicContractAddress,
17
+ getNewContractMintFee,
18
18
  new1155ContractVersion,
19
19
  } from "./contract-setup";
20
20
  import {
@@ -26,6 +26,8 @@ import {
26
26
  NewContractParams,
27
27
  } from "./types";
28
28
  import { constructCreate1155TokenCalls } from "./token-setup";
29
+ import { makeOnchainPrepareMintFromCreate } from "./mint-from-create";
30
+ import { IContractGetter } from "./contract-getter";
29
31
 
30
32
  // Default royalty bps
31
33
  const ROYALTY_BPS_DEFAULT = 1000;
@@ -135,16 +137,20 @@ function makeCreateTokenCall({
135
137
  export class Create1155Client {
136
138
  private readonly chainId: number;
137
139
  private readonly publicClient: Pick<PublicClient, "readContract">;
140
+ public readonly contractGetter: IContractGetter;
138
141
 
139
142
  constructor({
140
143
  chainId,
141
144
  publicClient,
145
+ contractGetter,
142
146
  }: {
143
147
  chainId: number;
144
148
  publicClient: Pick<PublicClient, "readContract">;
149
+ contractGetter: IContractGetter;
145
150
  }) {
146
151
  this.chainId = chainId;
147
152
  this.publicClient = publicClient;
153
+ this.contractGetter = contractGetter;
148
154
  }
149
155
 
150
156
  async createNew1155(
@@ -170,6 +176,7 @@ export class Create1155Client {
170
176
  getAdditionalSetupActions,
171
177
  publicClient: this.publicClient,
172
178
  chainId: this.chainId,
179
+ contractGetter: this.contractGetter,
173
180
  });
174
181
  }
175
182
  }
@@ -218,6 +225,20 @@ async function createNew1155ContractAndToken({
218
225
  contract,
219
226
  });
220
227
 
228
+ const prepareMint = makeOnchainPrepareMintFromCreate({
229
+ contractAddress: contractAddress,
230
+ contractVersion,
231
+ minter,
232
+ result: newToken.salesConfig,
233
+ tokenId: nextTokenId,
234
+ // to get the contract wide mint fee, we get what it would be for a new contract
235
+ getContractMintFee: async () =>
236
+ getNewContractMintFee({
237
+ publicClient,
238
+ chainId,
239
+ }),
240
+ });
241
+
221
242
  return {
222
243
  parameters: request,
223
244
  tokenSetupActions,
@@ -226,6 +247,7 @@ async function createNew1155ContractAndToken({
226
247
  contractAddress: contractAddress,
227
248
  contractVersion,
228
249
  minter,
250
+ prepareMint,
229
251
  };
230
252
  }
231
253
 
@@ -234,17 +256,15 @@ async function createNew1155Token({
234
256
  account,
235
257
  getAdditionalSetupActions,
236
258
  token,
237
- publicClient,
238
259
  chainId,
260
+ contractGetter,
239
261
  }: CreateNew1155TokenParams & {
240
262
  publicClient: Pick<PublicClient, "readContract">;
241
263
  chainId: number;
264
+ contractGetter: IContractGetter;
242
265
  }): Promise<CreateNew1155TokenReturn> {
243
- const { nextTokenId, contractVersion } =
244
- await getContractInfoExistingContract({
245
- publicClient,
246
- contractAddress: contractAddress,
247
- });
266
+ const { nextTokenId, contractVersion, mintFee } =
267
+ await contractGetter.getContractInfo({ contractAddress, retries: 5 });
248
268
 
249
269
  const {
250
270
  minter,
@@ -265,6 +285,15 @@ async function createNew1155Token({
265
285
  tokenSetupActions,
266
286
  });
267
287
 
288
+ const prepareMint = makeOnchainPrepareMintFromCreate({
289
+ contractAddress: contractAddress,
290
+ contractVersion,
291
+ minter,
292
+ result: newToken.salesConfig,
293
+ tokenId: nextTokenId,
294
+ getContractMintFee: async () => mintFee,
295
+ });
296
+
268
297
  return {
269
298
  parameters: request,
270
299
  tokenSetupActions,
@@ -272,6 +301,7 @@ async function createNew1155Token({
272
301
  newToken,
273
302
  contractVersion,
274
303
  minter,
304
+ prepareMint,
275
305
  };
276
306
  }
277
307
 
@@ -0,0 +1,90 @@
1
+ import { NetworkConfig } from "src/apis/chain-constants";
2
+ import {
3
+ ISubgraphQuerier,
4
+ ISubgraphQuery,
5
+ SubgraphQuerier,
6
+ } from "src/apis/subgraph-querier";
7
+ import { httpClient as defaultHttpClient } from "../apis/http-api-base";
8
+ import { Address } from "viem";
9
+ import { getApiNetworkConfigForChain } from "src/mint/subgraph-mint-getter";
10
+ import { buildContractInfoQuery } from "./subgraph-queries";
11
+ import { retriesGeneric } from "src/retries";
12
+
13
+ export interface IContractGetter {
14
+ getContractInfo: (params: {
15
+ contractAddress: Address;
16
+ retries?: number;
17
+ }) => Promise<{
18
+ name: string;
19
+ contractVersion: string;
20
+ nextTokenId: bigint;
21
+ mintFee: bigint;
22
+ }>;
23
+ }
24
+
25
+ export class SubgraphContractGetter implements IContractGetter {
26
+ public readonly subgraphQuerier: ISubgraphQuerier;
27
+ networkConfig: NetworkConfig;
28
+
29
+ constructor(chainId: number, subgraphQuerier?: ISubgraphQuerier) {
30
+ this.subgraphQuerier =
31
+ subgraphQuerier || new SubgraphQuerier(defaultHttpClient);
32
+ this.networkConfig = getApiNetworkConfigForChain(chainId);
33
+ }
34
+
35
+ async querySubgraphWithRetries<T>({
36
+ query,
37
+ variables,
38
+ parseResponseData,
39
+ }: ISubgraphQuery<T>) {
40
+ const responseData = await this.subgraphQuerier.query({
41
+ subgraphUrl: this.networkConfig.subgraphUrl,
42
+ query,
43
+ variables,
44
+ });
45
+
46
+ return parseResponseData(responseData);
47
+ }
48
+
49
+ async getContractInfo({
50
+ contractAddress,
51
+ retries = 1,
52
+ }: {
53
+ contractAddress: Address;
54
+ retries?: number;
55
+ }): Promise<{
56
+ name: string;
57
+ contractVersion: string;
58
+ nextTokenId: bigint;
59
+ mintFee: bigint;
60
+ }> {
61
+ const tryFn = async () => {
62
+ const responseData = await this.querySubgraphWithRetries(
63
+ buildContractInfoQuery({ contractAddress }),
64
+ );
65
+ if (!responseData) {
66
+ console.log("could not find contract");
67
+ throw new Error("Cannot find contract");
68
+ }
69
+ return responseData;
70
+ };
71
+
72
+ const responseData = await retriesGeneric({
73
+ tryFn,
74
+ maxTries: retries,
75
+ linearBackoffMS: 1000,
76
+ });
77
+
78
+ const nextTokenId =
79
+ responseData.tokens.length === 0
80
+ ? 1n
81
+ : BigInt(responseData.tokens[0]!.tokenId) + 1n;
82
+
83
+ return {
84
+ name: responseData.name,
85
+ contractVersion: responseData.contractVersion,
86
+ mintFee: BigInt(responseData.mintFeePerQuantity),
87
+ nextTokenId,
88
+ };
89
+ }
90
+ }