@zoralabs/protocol-sdk 0.5.16 → 0.6.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 (66) hide show
  1. package/.turbo/turbo-build.log +6 -6
  2. package/CHANGELOG.md +24 -0
  3. package/README.md +1 -416
  4. package/dist/apis/generated/premint-api-types.d.ts +9 -2
  5. package/dist/apis/generated/premint-api-types.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 +1392 -931
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.ts +4 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1356 -907
  19. package/dist/index.js.map +1 -1
  20. package/dist/mint/mint-client.d.ts +4083 -43
  21. package/dist/mint/mint-client.d.ts.map +1 -1
  22. package/dist/mint/subgraph-mint-getter.d.ts +17 -0
  23. package/dist/mint/subgraph-mint-getter.d.ts.map +1 -0
  24. package/dist/mint/types.d.ts +79 -0
  25. package/dist/mint/types.d.ts.map +1 -0
  26. package/dist/mints/mints-contracts.d.ts +24 -24
  27. package/dist/premint/contract-types.d.ts +21 -0
  28. package/dist/premint/contract-types.d.ts.map +1 -1
  29. package/dist/premint/conversions.d.ts +12 -22
  30. package/dist/premint/conversions.d.ts.map +1 -1
  31. package/dist/premint/premint-api-client.d.ts +28 -14
  32. package/dist/premint/premint-api-client.d.ts.map +1 -1
  33. package/dist/premint/premint-client.d.ts +83 -67
  34. package/dist/premint/premint-client.d.ts.map +1 -1
  35. package/dist/premint/preminter.d.ts +42 -18
  36. package/dist/premint/preminter.d.ts.map +1 -1
  37. package/dist/sdk.d.ts +43 -0
  38. package/dist/sdk.d.ts.map +1 -0
  39. package/dist/utils.d.ts +17 -6870
  40. package/dist/utils.d.ts.map +1 -1
  41. package/package.json +3 -2
  42. package/src/apis/generated/premint-api-types.ts +9 -2
  43. package/src/create/1155-create-helper.test.ts +235 -56
  44. package/src/create/1155-create-helper.ts +141 -309
  45. package/src/create/contract-setup.ts +88 -0
  46. package/src/create/token-setup.ts +379 -0
  47. package/src/create/types.ts +57 -0
  48. package/src/index.ts +11 -1
  49. package/src/mint/mint-client.test.ts +50 -61
  50. package/src/mint/mint-client.ts +321 -157
  51. package/src/mint/{mint-api-client.ts → subgraph-mint-getter.ts} +2 -25
  52. package/src/mint/types.ts +122 -0
  53. package/src/mints/mints-contracts.test.ts +3 -3
  54. package/src/mints/mints-contracts.ts +4 -4
  55. package/src/premint/contract-types.ts +32 -1
  56. package/src/premint/conversions.ts +31 -9
  57. package/src/premint/premint-api-client.ts +58 -46
  58. package/src/premint/premint-client.test.ts +153 -125
  59. package/src/premint/premint-client.ts +316 -330
  60. package/src/premint/preminter.test.ts +156 -5
  61. package/src/premint/preminter.ts +145 -44
  62. package/src/sdk.ts +98 -0
  63. package/src/utils.ts +30 -23
  64. package/test-integration/premint-client.test.ts +8 -8
  65. package/dist/mint/mint-api-client.d.ts +0 -35
  66. package/dist/mint/mint-api-client.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,OAAO,EAEP,KAAK,EACL,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,IAAI,gBAAgB,EAChC,0BAA0B,EAC1B,SAAS,EAGV,MAAM,MAAM,CAAC;AACd,OAAO,EACL,WAAW,EAEZ,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,8BAA8B,0fAmBlC,CAAC;AAEV,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO5E"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EACH,OAAO,EACP,OAAO,EACP,KAAK,EACL,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,IAAI,gBAAgB,EAChC,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,MAAM,CAAC;AAEd,eAAO,MAAM,sBAAsB,ihBAgB1B,CAAC;AAEV,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;AAElE,MAAM,MAAM,YAAY,GAAG;IACzB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,YAAY;;;EAKlE;AAED,wBAAgB,sBAAsB,CAAC,EACrC,aAAa,EACb,aAAa,GACd,EAAE;IACD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC;CAClC,GAAG,OAAO,CAKV;AAED,MAAM,MAAM,QAAQ,CAAC,IAAI,IAAI;KAC1B,QAAQ,IAAI,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;CAC3C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zoralabs/protocol-sdk",
3
- "version": "0.5.16",
3
+ "version": "0.6.0",
4
4
  "repository": "https://github.com/ourzora/zora-protocol",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,7 +25,8 @@
25
25
  "lint": "prettier --check 'src/**/*.ts' 'test-integration/**/*.ts'"
26
26
  },
27
27
  "dependencies": {
28
- "@zoralabs/protocol-deployments": "*"
28
+ "@zoralabs/protocol-deployments": "*",
29
+ "semver": "^7.6.2"
29
30
  },
30
31
  "peerDependencies": {
31
32
  "viem": "^2.11.1"
@@ -71,6 +71,11 @@ export interface components {
71
71
  contractURI: string;
72
72
  /** Contractname */
73
73
  contractName: string;
74
+ /**
75
+ * Additionaladmins
76
+ * @default []
77
+ */
78
+ additionalAdmins?: string[];
74
79
  };
75
80
  /** HTTPValidationError */
76
81
  HTTPValidationError: {
@@ -187,7 +192,7 @@ export interface components {
187
192
  * ...: other: str = "default"
188
193
  */
189
194
  PremintRequest: {
190
- collection: components["schemas"]["CollectionCreationConfig"];
195
+ collection?: components["schemas"]["CollectionCreationConfig"];
191
196
  /** Premint */
192
197
  premint:
193
198
  | components["schemas"]["PremintConfigV1"]
@@ -195,6 +200,8 @@ export interface components {
195
200
  chain_name: components["schemas"]["ChainName"];
196
201
  /** Signature */
197
202
  signature: string;
203
+ /** Collection Address */
204
+ collection_address?: string;
198
205
  };
199
206
  /**
200
207
  * PremintSignature
@@ -209,7 +216,7 @@ export interface components {
209
216
  * ...: other: str = "default"
210
217
  */
211
218
  PremintSignature: {
212
- collection: components["schemas"]["CollectionCreationConfig"];
219
+ collection?: components["schemas"]["CollectionCreationConfig"];
213
220
  /** Premint */
214
221
  premint:
215
222
  | components["schemas"]["PremintConfigV1"]
@@ -1,38 +1,37 @@
1
- import { parseEther } from "viem";
2
- import { describe, expect } from "vitest";
3
- import {
4
- create1155CreatorClient,
5
- getTokenIdFromCreateReceipt,
6
- } from "./1155-create-helper";
1
+ import { describe, expect, vi } from "vitest";
2
+ import { getTokenIdFromCreateReceipt } from "./1155-create-helper";
7
3
  import { anvilTest } from "src/anvil";
4
+ import { createCreatorClient } from "src/sdk";
5
+ import { zoraCreator1155ImplABI } from "@zoralabs/protocol-deployments";
6
+ import { makePrepareMint1155TokenParams } from "src/mint/mint-client";
7
+ import { waitForSuccess } from "src/test-utils";
8
+ import { parseEther } from "viem";
9
+ import { SalesConfigAndTokenInfo } from "src/mint/types";
8
10
 
9
11
  const demoTokenMetadataURI = "ipfs://DUMMY/token.json";
10
12
  const demoContractMetadataURI = "ipfs://DUMMY/contract.json";
11
13
 
12
14
  describe("create-helper", () => {
13
15
  anvilTest(
14
- "creates a new contract given arguments",
15
- async ({
16
- viemClients: { testClient, publicClient, walletClient, chain },
17
- }) => {
16
+ "creates a new 1155 contract and token",
17
+ async ({ viemClients: { publicClient, walletClient, chain } }) => {
18
18
  const addresses = await walletClient.getAddresses();
19
19
  const creatorAddress = addresses[0]!;
20
- await testClient.setBalance({
21
- address: creatorAddress,
22
- value: parseEther("1"),
23
- });
24
- const creatorClient = create1155CreatorClient({
25
- chain,
20
+
21
+ const creatorClient = createCreatorClient({
22
+ chainId: chain.id,
26
23
  publicClient: publicClient,
27
24
  });
28
- const { request } = await creatorClient.createNew1155Token({
25
+ const { parameters: request } = await creatorClient.create1155({
29
26
  contract: {
30
27
  name: "testContract",
31
28
  uri: demoContractMetadataURI,
32
29
  },
33
- tokenMetadataURI: demoTokenMetadataURI,
30
+ token: {
31
+ tokenMetadataURI: demoTokenMetadataURI,
32
+ mintToCreatorCount: 1,
33
+ },
34
34
  account: creatorAddress,
35
- mintToCreatorCount: 1,
36
35
  });
37
36
  const { request: simulationResponse } =
38
37
  await publicClient.simulateContract(request);
@@ -45,26 +44,31 @@ describe("create-helper", () => {
45
44
  20 * 1000,
46
45
  );
47
46
  anvilTest(
48
- "creates a new contract, than creates a new token on this existing contract",
47
+ "creates a new contract, then can create a new token on this existing contract",
49
48
  async ({ viemClients: { publicClient, walletClient, chain } }) => {
50
49
  const addresses = await walletClient.getAddresses();
51
50
  const creatorAccount = addresses[0]!;
52
51
 
53
- const creatorClient = create1155CreatorClient({
54
- chain,
52
+ const creatorClient = createCreatorClient({
53
+ chainId: chain.id,
55
54
  publicClient: publicClient,
56
55
  });
57
56
 
58
- const { request, contractAddress, contractExists } =
59
- await creatorClient.createNew1155Token({
60
- contract: {
61
- name: "testContract2",
62
- uri: demoContractMetadataURI,
63
- },
57
+ const {
58
+ parameters: request,
59
+ collectionAddress: contractAddress,
60
+ contractExists,
61
+ } = await creatorClient.create1155({
62
+ contract: {
63
+ name: "testContract2",
64
+ uri: demoContractMetadataURI,
65
+ },
66
+ token: {
64
67
  tokenMetadataURI: demoTokenMetadataURI,
65
- account: creatorAccount,
66
- mintToCreatorCount: 1,
67
- });
68
+ mintToCreatorCount: 3,
69
+ },
70
+ account: creatorAccount,
71
+ });
68
72
  expect(contractAddress).to.be.equal(
69
73
  "0xb1A8928dF830C21eD682949Aa8A83C1C215194d3",
70
74
  );
@@ -77,23 +81,33 @@ describe("create-helper", () => {
77
81
  expect(firstTokenId).to.be.equal(1n);
78
82
  expect(receipt).not.toBeNull();
79
83
 
80
- const newTokenOnExistingContract = await creatorClient.createNew1155Token(
81
- {
82
- contract: {
83
- name: "testContract2",
84
- uri: demoContractMetadataURI,
85
- },
84
+ // creator should have mint to creator count balance
85
+ expect(
86
+ await publicClient.readContract({
87
+ address: contractAddress,
88
+ abi: zoraCreator1155ImplABI,
89
+ functionName: "balanceOf",
90
+ args: [creatorAccount, firstTokenId!],
91
+ }),
92
+ ).toBe(3n);
93
+
94
+ const newTokenOnExistingContract = await creatorClient.create1155({
95
+ contract: {
96
+ name: "testContract2",
97
+ uri: demoContractMetadataURI,
98
+ },
99
+ token: {
86
100
  tokenMetadataURI: demoTokenMetadataURI,
87
- account: creatorAccount,
88
- mintToCreatorCount: 1,
101
+ mintToCreatorCount: 2,
89
102
  },
90
- );
91
- expect(newTokenOnExistingContract.contractAddress).to.be.equal(
103
+ account: creatorAccount,
104
+ });
105
+ expect(newTokenOnExistingContract.collectionAddress).to.be.equal(
92
106
  "0xb1A8928dF830C21eD682949Aa8A83C1C215194d3",
93
107
  );
94
108
  expect(newTokenOnExistingContract.contractExists).to.be.true;
95
109
  const { request: simulateRequest } = await publicClient.simulateContract(
96
- newTokenOnExistingContract.request,
110
+ newTokenOnExistingContract.parameters,
97
111
  );
98
112
  const newHash = await walletClient.writeContract(simulateRequest);
99
113
  const newReceipt = await publicClient.waitForTransactionReceipt({
@@ -107,37 +121,202 @@ describe("create-helper", () => {
107
121
  );
108
122
  anvilTest(
109
123
  "creates a new token with a create referral address",
110
- async ({
111
- viemClients: { testClient, publicClient, walletClient, chain },
112
- }) => {
124
+ async ({ viemClients: { publicClient, walletClient, chain } }) => {
113
125
  const addresses = await walletClient.getAddresses();
114
126
  const creatorAddress = addresses[0]!;
115
- await testClient.setBalance({
116
- address: creatorAddress,
117
- value: parseEther("1"),
118
- });
119
- const creatorClient = create1155CreatorClient({
120
- chain,
127
+ const createReferral = addresses[1]!;
128
+
129
+ const creatorClient = createCreatorClient({
130
+ chainId: chain.id,
121
131
  publicClient: publicClient,
122
132
  });
123
- const { request } = await creatorClient.createNew1155Token({
133
+ const { parameters: request } = await creatorClient.create1155({
124
134
  contract: {
125
135
  name: "testContract",
126
136
  uri: demoContractMetadataURI,
127
137
  },
128
- tokenMetadataURI: demoTokenMetadataURI,
138
+ token: {
139
+ tokenMetadataURI: demoTokenMetadataURI,
140
+ createReferral,
141
+ },
129
142
  account: creatorAddress,
130
- mintToCreatorCount: 1,
131
- createReferral: creatorAddress,
132
143
  });
133
144
  const { request: simulationResponse } =
134
145
  await publicClient.simulateContract(request);
135
146
  const hash = await walletClient.writeContract(simulationResponse);
136
147
  const receipt = await publicClient.waitForTransactionReceipt({ hash });
137
148
  expect(receipt).not.toBeNull();
138
- console.log(receipt);
139
149
  expect(receipt.to).to.equal("0xa72724cc3dcef210141a1b84c61824074151dc99");
140
150
  expect(getTokenIdFromCreateReceipt(receipt)).to.be.equal(2n);
151
+
152
+ expect(
153
+ await publicClient.readContract({
154
+ abi: zoraCreator1155ImplABI,
155
+ address: "0xa72724cc3dcef210141a1b84c61824074151dc99",
156
+ functionName: "createReferrals",
157
+ args: [2n],
158
+ }),
159
+ ).to.be.equal(createReferral);
160
+ },
161
+ 20 * 1000,
162
+ );
163
+
164
+ anvilTest(
165
+ "creates a new 1155 free mint that can be minted",
166
+ async ({
167
+ viemClients: { testClient, publicClient, walletClient, chain },
168
+ }) => {
169
+ const addresses = await walletClient.getAddresses();
170
+ const creatorAddress = addresses[0]!;
171
+
172
+ const creatorClient = createCreatorClient({
173
+ chainId: chain.id,
174
+ publicClient: publicClient,
175
+ });
176
+ const {
177
+ parameters: request,
178
+ collectionAddress,
179
+ newTokenId,
180
+ newToken,
181
+ minter,
182
+ } = await creatorClient.create1155({
183
+ contract: {
184
+ name: "testContract",
185
+ uri: demoContractMetadataURI,
186
+ },
187
+ token: {
188
+ tokenMetadataURI: demoTokenMetadataURI,
189
+ },
190
+ account: creatorAddress,
191
+ });
192
+ const { request: createSimulation } =
193
+ await publicClient.simulateContract(request);
194
+ await waitForSuccess(
195
+ await walletClient.writeContract(createSimulation),
196
+ publicClient,
197
+ );
198
+
199
+ const salesConfigAndTokenInfo: SalesConfigAndTokenInfo = {
200
+ mintFeePerQuantity: parseEther("0.000777"),
201
+ salesConfig: {
202
+ saleType: "fixedPrice",
203
+ address: minter,
204
+ pricePerToken: newToken.salesConfig.pricePerToken,
205
+ // these dont matter
206
+ maxTokensPerAddress: 0n,
207
+ saleEnd: "",
208
+ saleStart: "",
209
+ },
210
+ };
211
+
212
+ const quantityToMint = 5n;
213
+
214
+ // now try to mint a free mint
215
+ const minterAddress = addresses[1]!;
216
+
217
+ await testClient.setBalance({
218
+ address: minterAddress,
219
+ value: parseEther("10"),
220
+ });
221
+
222
+ const mintParams = makePrepareMint1155TokenParams({
223
+ tokenContract: collectionAddress,
224
+ chainId: chain.id,
225
+ minterAccount: minterAddress,
226
+ tokenId: newTokenId,
227
+ salesConfigAndTokenInfo,
228
+ quantityToMint,
229
+ });
230
+
231
+ const { request: collectSimulation } =
232
+ await publicClient.simulateContract(mintParams);
233
+ await waitForSuccess(
234
+ await walletClient.writeContract(collectSimulation),
235
+ publicClient,
236
+ );
237
+ },
238
+ 20 * 1000,
239
+ );
240
+
241
+ anvilTest(
242
+ "creates a new 1155 paid mint that can be minted",
243
+ async ({
244
+ viemClients: { testClient, publicClient, walletClient, chain },
245
+ }) => {
246
+ const addresses = await walletClient.getAddresses();
247
+ const creatorAddress = addresses[0]!;
248
+
249
+ const creatorClient = createCreatorClient({
250
+ chainId: chain.id,
251
+ publicClient: publicClient,
252
+ });
253
+
254
+ const pricePerToken = parseEther("0.01");
255
+
256
+ const {
257
+ parameters: request,
258
+ collectionAddress,
259
+ newTokenId,
260
+ newToken,
261
+ minter,
262
+ } = await creatorClient.create1155({
263
+ contract: {
264
+ name: "testContract",
265
+ uri: demoContractMetadataURI,
266
+ },
267
+ token: {
268
+ tokenMetadataURI: demoTokenMetadataURI,
269
+ salesConfig: {
270
+ pricePerToken,
271
+ },
272
+ },
273
+ account: creatorAddress,
274
+ });
275
+ const { request: createSimulation } =
276
+ await publicClient.simulateContract(request);
277
+ await waitForSuccess(
278
+ await walletClient.writeContract(createSimulation),
279
+ publicClient,
280
+ );
281
+
282
+ const salesConfigAndTokenInfo: SalesConfigAndTokenInfo = {
283
+ mintFeePerQuantity: parseEther("0.000777"),
284
+ salesConfig: {
285
+ saleType: "fixedPrice",
286
+ address: minter,
287
+ pricePerToken: newToken.salesConfig.pricePerToken,
288
+ // these dont matter
289
+ maxTokensPerAddress: 0n,
290
+ saleEnd: "",
291
+ saleStart: "",
292
+ },
293
+ };
294
+
295
+ const quantityToMint = 5n;
296
+
297
+ // now try to mint a free mint
298
+ const minterAddress = addresses[1]!;
299
+
300
+ await testClient.setBalance({
301
+ address: minterAddress,
302
+ value: parseEther("10"),
303
+ });
304
+
305
+ const mintParams = makePrepareMint1155TokenParams({
306
+ tokenContract: collectionAddress,
307
+ chainId: chain.id,
308
+ minterAccount: minterAddress,
309
+ tokenId: newTokenId,
310
+ salesConfigAndTokenInfo,
311
+ quantityToMint,
312
+ });
313
+
314
+ const { request: collectSimulation } =
315
+ await publicClient.simulateContract(mintParams);
316
+ await waitForSuccess(
317
+ await walletClient.writeContract(collectSimulation),
318
+ publicClient,
319
+ );
141
320
  },
142
321
  20 * 1000,
143
322
  );