@zoralabs/protocol-sdk 0.5.17 → 0.7.0

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 (84) hide show
  1. package/.turbo/turbo-build.log +6 -6
  2. package/CHANGELOG.md +19 -0
  3. package/README.md +1 -416
  4. package/dist/constants.d.ts +0 -1
  5. package/dist/constants.d.ts.map +1 -1
  6. package/dist/create/1155-create-helper.d.ts +16 -55
  7. package/dist/create/1155-create-helper.d.ts.map +1 -1
  8. package/dist/create/contract-setup.d.ts +14 -0
  9. package/dist/create/contract-setup.d.ts.map +1 -0
  10. package/dist/create/token-setup.d.ts +27 -0
  11. package/dist/create/token-setup.d.ts.map +1 -0
  12. package/dist/create/types.d.ts +45 -0
  13. package/dist/create/types.d.ts.map +1 -0
  14. package/dist/index.cjs +1745 -891
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.ts +3 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1698 -858
  19. package/dist/index.js.map +1 -1
  20. package/dist/mint/mint-client.d.ts +48 -51
  21. package/dist/mint/mint-client.d.ts.map +1 -1
  22. package/dist/mint/mint-queries.d.ts +38 -0
  23. package/dist/mint/mint-queries.d.ts.map +1 -0
  24. package/dist/mint/mint-transactions.d.ts +20 -0
  25. package/dist/mint/mint-transactions.d.ts.map +1 -0
  26. package/dist/mint/subgraph-mint-getter.d.ts +24 -0
  27. package/dist/mint/subgraph-mint-getter.d.ts.map +1 -0
  28. package/dist/mint/subgraph-queries.d.ts +55 -0
  29. package/dist/mint/subgraph-queries.d.ts.map +1 -0
  30. package/dist/mint/types.d.ts +177 -0
  31. package/dist/mint/types.d.ts.map +1 -0
  32. package/dist/mint/utils.d.ts +2 -0
  33. package/dist/mint/utils.d.ts.map +1 -0
  34. package/dist/mints/mints-contracts.d.ts +27 -4518
  35. package/dist/mints/mints-contracts.d.ts.map +1 -1
  36. package/dist/premint/contract-types.d.ts +4 -4
  37. package/dist/premint/contract-types.d.ts.map +1 -1
  38. package/dist/premint/conversions.d.ts +15 -16
  39. package/dist/premint/conversions.d.ts.map +1 -1
  40. package/dist/premint/premint-api-client.d.ts +32 -16
  41. package/dist/premint/premint-api-client.d.ts.map +1 -1
  42. package/dist/premint/premint-client.d.ts +76 -50
  43. package/dist/premint/premint-client.d.ts.map +1 -1
  44. package/dist/premint/preminter.d.ts +20 -8
  45. package/dist/premint/preminter.d.ts.map +1 -1
  46. package/dist/sdk.d.ts +45 -0
  47. package/dist/sdk.d.ts.map +1 -0
  48. package/dist/types.d.ts +3 -0
  49. package/dist/types.d.ts.map +1 -1
  50. package/dist/utils.d.ts +24 -6869
  51. package/dist/utils.d.ts.map +1 -1
  52. package/package.json +3 -2
  53. package/src/constants.ts +0 -36
  54. package/src/create/1155-create-helper.test.ts +236 -55
  55. package/src/create/1155-create-helper.ts +141 -309
  56. package/src/create/contract-setup.ts +88 -0
  57. package/src/create/token-setup.ts +379 -0
  58. package/src/create/types.ts +57 -0
  59. package/src/index.ts +5 -1
  60. package/src/mint/mint-client.test.ts +116 -78
  61. package/src/mint/mint-client.ts +130 -234
  62. package/src/mint/mint-queries.ts +320 -0
  63. package/src/mint/mint-transactions.ts +253 -0
  64. package/src/mint/subgraph-mint-getter.ts +247 -0
  65. package/src/mint/subgraph-queries.ts +170 -0
  66. package/src/mint/types.ts +239 -0
  67. package/src/mint/utils.ts +14 -0
  68. package/src/mints/mints-contracts.test.ts +1 -1
  69. package/src/mints/mints-contracts.ts +4 -4
  70. package/src/premint/contract-types.ts +4 -4
  71. package/src/premint/conversions.ts +38 -4
  72. package/src/premint/premint-api-client.ts +92 -48
  73. package/src/premint/premint-client.test.ts +100 -84
  74. package/src/premint/premint-client.ts +186 -185
  75. package/src/premint/preminter.test.ts +4 -5
  76. package/src/premint/preminter.ts +63 -14
  77. package/src/sdk.ts +101 -0
  78. package/src/types.ts +18 -0
  79. package/src/utils.ts +54 -46
  80. package/test-integration/setup-test-contracts.ts +96 -0
  81. package/dist/mint/mint-api-client.d.ts +0 -35
  82. package/dist/mint/mint-api-client.d.ts.map +0 -1
  83. package/src/mint/mint-api-client.ts +0 -177
  84. package/test-integration/premint-client.test.ts +0 -148
@@ -1,8 +1,8 @@
1
- import { Address, Chain, Account, SimulateContractParameters } from "viem";
2
- import { IHttpClient } from "src/apis/http-api-base";
3
- import { GenericTokenIdTypes } from "src/types";
4
- import { MintAPIClient, SalesConfigAndTokenInfo, SaleType } from "./mint-api-client";
5
- import { ClientConfig, PublicClient } from "src/utils";
1
+ import { Address, Account, SimulateContractParameters } from "viem";
2
+ import { IPublicClient } from "src/types";
3
+ import { GetMintParameters, IOnchainMintGetter, MintCosts, PrepareMintReturn, SaleType } from "./types";
4
+ import { MakeMintParametersArguments, Make1155MintArguments, Make721MintArguments, GetMintCostsParameters } from "./types";
5
+ import { IPremintGetter } from "src/premint/premint-api-client";
6
6
  declare class MintError extends Error {
7
7
  }
8
8
  declare class MintInactiveError extends Error {
@@ -11,56 +11,53 @@ export declare const Errors: {
11
11
  MintError: typeof MintError;
12
12
  MintInactiveError: typeof MintInactiveError;
13
13
  };
14
- type MintArguments = {
15
- /** Quantity of tokens to mint */
16
- quantityToMint: number;
17
- /** Comment to add to the mint */
18
- mintComment?: string;
19
- /** Optional address to receive the mint referral reward */
20
- mintReferral?: Address;
21
- /** Address to receive the minted tokens */
22
- mintToAddress: Address;
23
- saleType?: SaleType;
24
- };
25
- type MintTokenParams = {
26
- /** Account to execute the mint */
27
- minterAccount: Address | Account;
28
- /** Contract address of token to mint */
29
- tokenAddress: Address;
30
- /** Id of token to mint */
31
- tokenId?: GenericTokenIdTypes;
32
- /** Mint settings */
33
- mintArguments: MintArguments;
34
- };
35
- declare class MintClient {
36
- readonly apiClient: MintAPIClient;
37
- readonly publicClient: PublicClient;
38
- constructor(chain: Chain, publicClient: PublicClient, httpClient: IHttpClient);
14
+ export declare class MintClient {
15
+ private readonly publicClient;
16
+ private readonly mintGetter;
17
+ private readonly premintGetter;
18
+ constructor({ publicClient, premintGetter, mintGetter, }: {
19
+ publicClient: IPublicClient;
20
+ premintGetter: IPremintGetter;
21
+ mintGetter: IOnchainMintGetter;
22
+ });
39
23
  /**
40
24
  * Returns the parameters needed to prepare a transaction mint a token.
25
+ * Works with premint, onchain 1155, and onchain 721.
41
26
  *
42
- * @param parameters - Parameters for collecting the token {@link MintTokenParams}
43
- * @returns Parameters for simulating/executing the mint transaction
27
+ * @param parameters - Parameters for collecting the token {@link MakeMintParametersArguments}
28
+ * @returns Parameters for simulating/executing the mint transaction, any necessary erc20 approval, and costs to mint
44
29
  */
45
- makePrepareMintTokenParams(parameters: MintTokenParams): Promise<SimulateContractParameters<any, any, any, any, any, `0x${string}` | Account>>;
30
+ mint(parameters: MakeMintParametersArguments): Promise<PrepareMintReturn>;
31
+ /**
32
+ * Gets an 1155, 721, or premint, and returns both information about it, and a function
33
+ * that can be used to build a mint transaction for a quantity of items to mint.
34
+ * @param parameters - Token to get {@link GetMintParameters}
35
+ * @Returns Information about the mint and a function to build a mint transaction {@link MintableReturn}
36
+ */
37
+ get(parameters: GetMintParameters): Promise<import("./types").MintableReturn>;
38
+ /**
39
+ * Gets onchain and premint tokens of an 1155 contract. For each token returns both information about it, and a function
40
+ * that can be used to build a mint transaction for a quantity of items to mint.
41
+ * @param parameters - Contract address to get tokens for {@link GetMintsOfContractParameters}
42
+ * @Returns Array of tokens, each containing information about the token and a function to build a mint transaction.
43
+ */
44
+ getOfContract(params: {
45
+ tokenContract: Address;
46
+ preferredSaleType?: SaleType;
47
+ }): Promise<{
48
+ contract?: import("./types").ContractInfo | undefined;
49
+ tokens: import("./types").MintableReturn[];
50
+ }>;
51
+ /**
52
+ * Gets the costs to mint the quantity of tokens specified for a mint.
53
+ * @param parameters - Parameters for the mint {@link GetMintCostsParameters}
54
+ * @returns Costs to mint the quantity of tokens specified
55
+ */
56
+ getMintCosts(parameters: GetMintCostsParameters): Promise<MintCosts>;
46
57
  }
47
- /**
48
- * Creates a new MintClient.
49
- * @param param0.chain The chain to use for the mint client.
50
- * @param param0.publicClient Optional viem public client
51
- * @param param0.httpClient Optional http client to override post, get, and retry methods
52
- * @returns
53
- */
54
- export declare function createMintClient(clientConfig: ClientConfig): MintClient;
55
- export type TMintClient = ReturnType<typeof createMintClient>;
56
- export type MintCosts = {
57
- mintFee: bigint;
58
- tokenPurchaseCost: bigint;
59
- totalCost: bigint;
60
- };
61
- export declare function getMintCosts({ salesConfigAndTokenInfo, quantityToMint, }: {
62
- salesConfigAndTokenInfo: SalesConfigAndTokenInfo;
63
- quantityToMint: bigint;
64
- }): MintCosts;
58
+ export declare function collectOnchain({ chainId, mintGetter, ...parameters }: (Make1155MintArguments | Make721MintArguments) & {
59
+ mintGetter: IOnchainMintGetter;
60
+ chainId: number;
61
+ }): Promise<SimulateContractParameters<any, any, any, any, any, Account | Address>>;
65
62
  export {};
66
63
  //# 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,EAIL,OAAO,EACP,0BAA0B,EAC3B,MAAM,MAAM,CAAC;AAOd,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,YAAY,EAEZ,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,cAAM,SAAU,SAAQ,KAAK;CAAG;AAChC,cAAM,iBAAkB,SAAQ,KAAK;CAAG;AAExC,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2CAA2C;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,kCAAkC;IAClC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC;IACjC,wCAAwC;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,oBAAoB;IACpB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,cAAM,UAAU;IACd,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;gBAGlC,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,WAAW;IAMzB;;;;;OAKG;IACG,0BAA0B,CAAC,UAAU,EAAE,eAAe;CAO7D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,YAAY,cAG1D;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AA0E9D,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,uBAAuB,EACvB,cAAc,GACf,EAAE;IACD,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,SAAS,CAWZ"}
1
+ {"version":3,"file":"mint-client.d.ts","sourceRoot":"","sources":["../../src/mint/mint-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,MAAM,MAAM,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACT,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EAEvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKhE,cAAM,SAAU,SAAQ,KAAK;CAAG;AAChC,cAAM,iBAAkB,SAAQ,KAAK;CAAG;AAExC,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;gBAEnC,EACV,YAAY,EACZ,aAAa,EACb,UAAU,GACX,EAAE;QACD,YAAY,EAAE,aAAa,CAAC;QAC5B,aAAa,EAAE,cAAc,CAAC;QAC9B,UAAU,EAAE,kBAAkB,CAAC;KAChC;IAMD;;;;;;OAMG;IACG,IAAI,CACR,UAAU,EAAE,2BAA2B,GACtC,OAAO,CAAC,iBAAiB,CAAC;IAS7B;;;;;OAKG;IACG,GAAG,CAAC,UAAU,EAAE,iBAAiB;IASvC;;;;;OAKG;IACG,aAAa,CAAC,MAAM,EAAE;QAC1B,aAAa,EAAE,OAAO,CAAC;QACvB,iBAAiB,CAAC,EAAE,QAAQ,CAAC;KAC9B;;;;IASD;;;;OAIG;IACG,YAAY,CAAC,UAAU,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;CAQ3E;AA8BD,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,UAAU,EACV,GAAG,UAAU,EACd,EAAE,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,GAAG;IAClD,UAAU,EAAE,kBAAkB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CACT,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,CACvE,CAcA"}
@@ -0,0 +1,38 @@
1
+ import { IPremintGetter } from "src/premint/premint-api-client";
2
+ import { ContractInfo, GetMintCostsParameters, GetMintParameters, GetMintsOfContractParameters, IOnchainMintGetter, MintableReturn } from "./types";
3
+ import { Address } from "viem";
4
+ import { IPublicClient } from "src/types";
5
+ export declare function getMint({ params, mintGetter, premintGetter, publicClient, }: {
6
+ params: GetMintParameters;
7
+ mintGetter: IOnchainMintGetter;
8
+ premintGetter: IPremintGetter;
9
+ publicClient: IPublicClient;
10
+ }): Promise<MintableReturn>;
11
+ export declare function getPremintsOfCollectionWithTokenIds({ premintGetter, mintGetter, tokenContract, }: {
12
+ premintGetter: IPremintGetter;
13
+ mintGetter: IOnchainMintGetter;
14
+ tokenContract: Address;
15
+ }): Promise<{
16
+ collection: import("@zoralabs/protocol-deployments").ContractCreationConfig | undefined;
17
+ premints: {
18
+ tokenId: BigInt | undefined;
19
+ premint: import("@zoralabs/protocol-deployments").PremintConfigAndVersion;
20
+ signature: `0x${string}`;
21
+ }[];
22
+ }>;
23
+ export declare function getMintsOfContract({ params, mintGetter, premintGetter, publicClient, }: {
24
+ params: GetMintsOfContractParameters;
25
+ mintGetter: IOnchainMintGetter;
26
+ premintGetter: IPremintGetter;
27
+ publicClient: IPublicClient;
28
+ }): Promise<{
29
+ contract?: ContractInfo;
30
+ tokens: MintableReturn[];
31
+ }>;
32
+ export declare function getMintCosts({ params, mintGetter, premintGetter, publicClient, }: {
33
+ params: GetMintCostsParameters;
34
+ mintGetter: IOnchainMintGetter;
35
+ premintGetter: IPremintGetter;
36
+ publicClient: IPublicClient;
37
+ }): Promise<import("./types").MintCosts>;
38
+ //# sourceMappingURL=mint-queries.d.ts.map
@@ -0,0 +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;AAE1C,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,CAwB1B;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,UAAU,EACV,aAAa,EACb,YAAY,GACb,EAAE;IACD,MAAM,EAAE,sBAAsB,CAAC;IAC/B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,cAAc,CAAC;IAC9B,YAAY,EAAE,aAAa,CAAC;CAC7B,wCAuBA"}
@@ -0,0 +1,20 @@
1
+ import { Address, Account, SimulateContractParameters } from "viem";
2
+ import { GenericTokenIdTypes, SimulateContractParametersWithAccount } from "src/types";
3
+ import { MintCosts, SaleStrategies } from "./types";
4
+ import { MakeMintParametersArgumentsBase } from "./types";
5
+ import { OnchainSalesConfigAndTokenInfo } from "./types";
6
+ export declare function makeOnchainMintCall({ token, mintParams, }: {
7
+ token: OnchainSalesConfigAndTokenInfo;
8
+ mintParams: Omit<MakeMintParametersArgumentsBase, "tokenContract">;
9
+ }): SimulateContractParametersWithAccount;
10
+ export type MintableParameters = Pick<OnchainSalesConfigAndTokenInfo, "contractVersion" | "mintFeePerQuantity" | "salesConfig">;
11
+ export declare function makePrepareMint1155TokenParams({ tokenContract: tokenContract, tokenId, salesConfigAndTokenInfo, minterAccount, mintComment, mintReferral, mintRecipient, quantityToMint, }: {
12
+ salesConfigAndTokenInfo: MintableParameters;
13
+ tokenId: GenericTokenIdTypes;
14
+ } & Pick<MakeMintParametersArgumentsBase, "minterAccount" | "tokenContract" | "mintComment" | "mintReferral" | "quantityToMint" | "mintRecipient">): SimulateContractParameters<any, any, any, any, any, Address | Account>;
15
+ export declare function parseMintCosts({ salesConfig, mintFeePerQuantity, quantityToMint, }: {
16
+ salesConfig: SaleStrategies;
17
+ mintFeePerQuantity: bigint;
18
+ quantityToMint: bigint;
19
+ }): MintCosts;
20
+ //# sourceMappingURL=mint-transactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mint-transactions.d.ts","sourceRoot":"","sources":["../../src/mint/mint-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAIP,OAAO,EACP,0BAA0B,EAC3B,MAAM,MAAM,CAAC;AAMd,OAAO,EACL,mBAAmB,EACnB,qCAAqC,EACtC,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAuB,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAG1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAEzD,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,UAAU,GACX,EAAE;IACD,KAAK,EAAE,8BAA8B,CAAC;IACtC,UAAU,EAAE,IAAI,CAAC,+BAA+B,EAAE,eAAe,CAAC,CAAC;CACpE,GAAG,qCAAqC,CAexC;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,8BAA8B,EAC9B,iBAAiB,GAAG,oBAAoB,GAAG,aAAa,CACzD,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,EAC7C,aAAa,EAAE,aAAa,EAC5B,OAAO,EACP,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,GACf,EAAE;IACD,uBAAuB,EAAE,kBAAkB,CAAC;IAC5C,OAAO,EAAE,mBAAmB,CAAC;CAC9B,GAAG,IAAI,CACN,+BAA+B,EAC7B,eAAe,GACf,eAAe,GACf,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,eAAe,CAClB,GAAG,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,CAyCzE;AAgHD,wBAAgB,cAAc,CAAC,EAC7B,WAAW,EACX,kBAAkB,EAClB,cAAc,GACf,EAAE;IACD,WAAW,EAAE,cAAc,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,SAAS,CAmBZ"}
@@ -0,0 +1,24 @@
1
+ import { Address } from "viem";
2
+ import { IHttpClient } from "../apis/http-api-base";
3
+ import { NetworkConfig } from "src/apis/chain-constants";
4
+ import { IOnchainMintGetter, SaleType, OnchainSalesConfigAndTokenInfo } from "./types";
5
+ import { ISubgraphQuery } from "./subgraph-queries";
6
+ export declare const getApiNetworkConfigForChain: (chainId: number) => NetworkConfig;
7
+ export declare class SubgraphMintGetter implements IOnchainMintGetter {
8
+ httpClient: IHttpClient;
9
+ networkConfig: NetworkConfig;
10
+ constructor(chainId: number, httpClient?: IHttpClient);
11
+ querySubgraphWithRetries<T>({ query, variables, parseResponseData, }: ISubgraphQuery<T>): Promise<T | undefined>;
12
+ getMintable: IOnchainMintGetter["getMintable"];
13
+ getContractMintable({ tokenAddress, preferredSaleType, }: {
14
+ tokenAddress: Address;
15
+ preferredSaleType?: SaleType;
16
+ }): Promise<OnchainSalesConfigAndTokenInfo[]>;
17
+ getContractPremintTokenIds({ tokenAddress, }: {
18
+ tokenAddress: Address;
19
+ }): Promise<{
20
+ tokenId: bigint;
21
+ uid: number;
22
+ }[]>;
23
+ }
24
+ //# sourceMappingURL=subgraph-mint-getter.d.ts.map
@@ -0,0 +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;AAC/B,OAAO,EAEL,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EACL,kBAAkB,EAClB,QAAQ,EAER,8BAA8B,EAG/B,MAAM,SAAS,CAAC;AAEjB,OAAO,EAIL,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,2BAA2B,YAAa,MAAM,KAAG,aAK7D,CAAC;AA8EF,qBAAa,kBAAmB,YAAW,kBAAkB;IAC3D,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW;IAK/C,wBAAwB,CAAC,CAAC,EAAE,EAChC,KAAK,EACL,SAAS,EACT,iBAAiB,GAClB,EAAE,cAAc,CAAC,CAAC,CAAC;IAWpB,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAqB5C;IAEI,mBAAmB,CAAC,EACxB,YAAY,EACZ,iBAAiB,GAClB,EAAE;QACD,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,CAAC,EAAE,QAAQ,CAAC;KAC9B;IAoBK,0BAA0B,CAAC,EAC/B,YAAY,GACb,EAAE;QACD,YAAY,EAAE,OAAO,CAAC;KACvB;;;;CAcF"}
@@ -0,0 +1,55 @@
1
+ import { GenericTokenIdTypes } from "src/types";
2
+ import { Address } from "viem";
3
+ export type FixedPriceSaleStrategyResult = {
4
+ address: Address;
5
+ pricePerToken: string;
6
+ saleEnd: string;
7
+ saleStart: string;
8
+ maxTokensPerAddress: string;
9
+ };
10
+ export type ERC20SaleStrategyResult = FixedPriceSaleStrategyResult & {
11
+ currency: Address;
12
+ };
13
+ export type SalesStrategyResult = {
14
+ type: "FIXED_PRICE";
15
+ fixedPrice: FixedPriceSaleStrategyResult;
16
+ } | {
17
+ type: "ERC_20_MINTER";
18
+ erc20Minter: ERC20SaleStrategyResult;
19
+ };
20
+ export type TokenQueryResult = {
21
+ tokenId?: string;
22
+ creator: Address;
23
+ uri: string;
24
+ totalMinted: string;
25
+ maxSupply: string;
26
+ salesStrategies?: SalesStrategyResult[];
27
+ tokenStandard: "ERC1155" | "ERC721";
28
+ contract: {
29
+ mintFeePerQuantity: "string";
30
+ salesStrategies: SalesStrategyResult[];
31
+ address: Address;
32
+ contractVersion: string;
33
+ contractURI: string;
34
+ name: string;
35
+ };
36
+ };
37
+ export declare function buildNftTokenSalesQuery({ tokenId, tokenAddress, }: {
38
+ tokenId?: GenericTokenIdTypes;
39
+ tokenAddress: Address;
40
+ }): ISubgraphQuery<TokenQueryResult>;
41
+ export declare function buildContractTokensQuery({ tokenAddress, }: {
42
+ tokenAddress: Address;
43
+ }): ISubgraphQuery<TokenQueryResult[]>;
44
+ export type ISubgraphQuery<T> = {
45
+ query: string;
46
+ variables: Record<string, any>;
47
+ parseResponseData: (data: any | undefined) => T | undefined;
48
+ };
49
+ export declare function buildPremintsOfContractQuery({ tokenAddress, }: {
50
+ tokenAddress: Address;
51
+ }): ISubgraphQuery<{
52
+ uid: string;
53
+ tokenId: string;
54
+ }[]>;
55
+ //# sourceMappingURL=subgraph-queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subgraph-queries.d.ts","sourceRoot":"","sources":["../../src/mint/subgraph-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,4BAA4B,GAAG;IACnE,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,4BAA4B,CAAC;CAC1C,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,uBAAuB,CAAC;CACtC,CAAC;AAEN,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,QAAQ,CAAC;QAC7B,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;AAkDF,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;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,iBAAiB,EAAE,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,KAAK,CAAC,GAAG,SAAS,CAAC;CAC7D,CAAC;AAEF,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"}
@@ -0,0 +1,177 @@
1
+ import { Account, Address } from "viem";
2
+ import { GenericTokenIdTypes, SimulateContractParametersWithAccount } from "src/types";
3
+ export type MintParameters<MintType> = {
4
+ /** Type of the collection to be minted. */
5
+ mintType: MintType;
6
+ };
7
+ export type Erc1155MintParameters = MintParameters<"1155"> & {
8
+ /** Token id to mint */
9
+ tokenId: GenericTokenIdTypes;
10
+ };
11
+ export type Erc721MintParameters = MintParameters<"721">;
12
+ export type OnChainMintParameters = Erc1155MintParameters | Erc721MintParameters;
13
+ export type PremintMintParameters = MintParameters<"premint"> & {
14
+ /** uid of the Premint to mint */
15
+ uid: number;
16
+ };
17
+ export type MintType = "1155" | "721" | "premint";
18
+ export type MintTypes = Erc1155MintParameters | Erc721MintParameters | PremintMintParameters;
19
+ export type GetMintParameters = MintTypes & {
20
+ /** Address of the contract that the item belongs to */
21
+ tokenContract: Address;
22
+ preferredSaleType?: SaleType;
23
+ };
24
+ export type GetMintsOfContractParameters = {
25
+ /** Address of the contract to get the tokens of */
26
+ tokenContract: Address;
27
+ preferredSaleType?: SaleType;
28
+ };
29
+ export declare const isOnChainMint: (mint: MintTypes) => mint is OnChainMintParameters;
30
+ export declare const is1155Mint: (mint: MintTypes) => mint is Erc1155MintParameters;
31
+ export type MintParametersBase = {
32
+ /** Account to execute the mint */
33
+ minterAccount: Account | Address;
34
+ /** Quantity of tokens to mint. Defaults to 1 */
35
+ quantityToMint: number | bigint;
36
+ /** Comment to add to the mint */
37
+ mintComment?: string;
38
+ /** Address to receive the mint referral reward */
39
+ mintReferral?: Address;
40
+ /** Address to receive the minted tokens. Defaults to the minting account */
41
+ mintRecipient?: Address;
42
+ /** If this is a premint, the address to get the first minter reward */
43
+ firstMinter?: Address;
44
+ };
45
+ export type MakeMintParametersArgumentsBase = MintParametersBase & {
46
+ /** Premint contract address */
47
+ tokenContract: Address;
48
+ };
49
+ export type Make1155MintArguments = MakeMintParametersArgumentsBase & Erc1155MintParameters & {
50
+ preferredSaleType?: SaleType;
51
+ };
52
+ export type Make721MintArguments = MakeMintParametersArgumentsBase & Erc721MintParameters & {
53
+ preferredSaleType?: SaleType;
54
+ };
55
+ export type MakePremintMintParametersArguments = MakeMintParametersArgumentsBase & PremintMintParameters & {
56
+ /** Account to receive first minter reward, if this mint brings the premint onchain */
57
+ firstMinter?: Address;
58
+ };
59
+ export type MakeMintParametersArguments = Make1155MintArguments | Make721MintArguments | MakePremintMintParametersArguments;
60
+ export type GetMintCostsParameters = {
61
+ /** Address of token contract/collection to get the mint costs for */
62
+ collection: Address;
63
+ /** Quantity of tokens that will be minted */
64
+ quantityMinted: number | bigint;
65
+ } & MintTypes;
66
+ export type SaleType = "fixedPrice" | "erc20" | "premint";
67
+ type SaleStrategy<T extends SaleType> = {
68
+ saleType: T;
69
+ pricePerToken: bigint;
70
+ maxTokensPerAddress: bigint;
71
+ };
72
+ type FixedPriceSaleStrategy = SaleStrategy<"fixedPrice"> & {
73
+ address: Address;
74
+ saleStart: string;
75
+ saleEnd: string;
76
+ };
77
+ type ERC20SaleStrategy = SaleStrategy<"erc20"> & {
78
+ address: Address;
79
+ saleStart: string;
80
+ saleEnd: string;
81
+ currency: Address;
82
+ };
83
+ type PremintSaleStrategy = SaleStrategy<"premint"> & {
84
+ duration: bigint;
85
+ };
86
+ export type SaleStrategies = FixedPriceSaleStrategy | ERC20SaleStrategy | PremintSaleStrategy;
87
+ export type OnchainSalesStrategies = FixedPriceSaleStrategy | ERC20SaleStrategy;
88
+ export declare function isErc20SaleStrategy(salesConfig: FixedPriceSaleStrategy | ERC20SaleStrategy | PremintSaleStrategy): salesConfig is ERC20SaleStrategy;
89
+ export type ContractInfo = {
90
+ /** Address of the contract */
91
+ address: Address;
92
+ /** Contract metadata uri */
93
+ URI: string;
94
+ /** Contract name */
95
+ name: string;
96
+ };
97
+ export type MintableBase = {
98
+ /** The contract the mintable belongs to */
99
+ contract: ContractInfo;
100
+ /** Token metadata URI */
101
+ tokenURI: string;
102
+ /** Price in eth to mint 1 item */
103
+ mintFeePerQuantity: bigint;
104
+ /** Creator of the mintable item */
105
+ creator: Address;
106
+ /** Maximum total number of items that can be minted */
107
+ maxSupply: bigint;
108
+ /** Total number of items minted so far */
109
+ totalMinted: bigint;
110
+ };
111
+ export type OnchainMintable = MintableBase & {
112
+ mintType: "721" | "1155";
113
+ tokenId?: bigint;
114
+ contractVersion: string;
115
+ };
116
+ export type PremintMintable = MintableBase & {
117
+ mintType: "premint";
118
+ uid: number;
119
+ };
120
+ export type OnchainSalesConfigAndTokenInfo = {
121
+ salesConfig: FixedPriceSaleStrategy | ERC20SaleStrategy;
122
+ } & OnchainMintable;
123
+ export type PremintSalesConfigAndTokenInfo = {
124
+ salesConfig: PremintSaleStrategy;
125
+ } & PremintMintable;
126
+ export type SalesConfigAndTokenInfo = OnchainSalesConfigAndTokenInfo | PremintMintable;
127
+ export interface IOnchainMintGetter {
128
+ getMintable(params: {
129
+ tokenAddress: Address;
130
+ tokenId?: GenericTokenIdTypes;
131
+ preferredSaleType?: SaleType;
132
+ }): Promise<OnchainSalesConfigAndTokenInfo>;
133
+ getContractMintable(params: {
134
+ tokenAddress: Address;
135
+ }): Promise<OnchainSalesConfigAndTokenInfo[]>;
136
+ getContractPremintTokenIds(params: {
137
+ tokenAddress: Address;
138
+ }): Promise<{
139
+ tokenId: BigInt;
140
+ uid: number;
141
+ }[]>;
142
+ }
143
+ export type MintCosts = {
144
+ /** The total of the mint fee, in eth */
145
+ mintFee: bigint;
146
+ /** If it is a paid or erc20 mint, the total price of the paid or erc20 mint in eth or erc20 value correspondingly. */
147
+ totalPurchaseCost: bigint;
148
+ /** If it is an erc20 mint, the erc20 address */
149
+ totalPurchaseCostCurrency?: Address;
150
+ /** The total cost in eth (mint fee + purchase cost) to mint */
151
+ totalCostEth: bigint;
152
+ };
153
+ export type Erc20Approval = {
154
+ /** ERC20 token address that must be approved */
155
+ erc20: Address;
156
+ /** Quantity of ERC20 that must be approved */
157
+ quantity: bigint;
158
+ /** Address that must be approved to transfer to */
159
+ approveTo: Address;
160
+ };
161
+ export type PrepareMintReturn = {
162
+ /** Prepared parameters to execute the mint transaction */
163
+ parameters: SimulateContractParametersWithAccount;
164
+ /** If an erc20 approval is necessary, information for the erc20 approval */
165
+ erc20Approval?: Erc20Approval;
166
+ /** Cost breakdown to mint the quantity of tokens */
167
+ costs: MintCosts;
168
+ };
169
+ export type PrepareMint = (params: MintParametersBase) => PrepareMintReturn;
170
+ export type MintableReturn = {
171
+ /** Token information */
172
+ token: SalesConfigAndTokenInfo;
173
+ /** Function that takes a quantity of items to mint and returns a prepared transaction and the costs to mint that quantity */
174
+ prepareMint: PrepareMint;
175
+ };
176
+ export {};
177
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mint/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const contractSupportsNewMintFunction: (contractVersion?: string | null) => boolean;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/mint/utils.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,+BAA+B,qBACxB,MAAM,GAAG,IAAI,YAWhC,CAAC"}