@zoralabs/protocol-sdk 0.4.3 → 0.5.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.
- package/.turbo/turbo-build.log +15 -14
- package/CHANGELOG.md +19 -1
- package/README.md +1 -1
- package/dist/index.cjs +55 -66
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +58 -71
- package/dist/index.js.map +1 -1
- package/dist/{anvil.d.ts → src/anvil.d.ts} +6 -2
- package/dist/src/anvil.d.ts.map +1 -0
- package/dist/src/apis/chain-constants.d.ts +13 -0
- package/dist/src/apis/chain-constants.d.ts.map +1 -0
- package/dist/src/apis/client-base.d.ts.map +1 -0
- package/dist/src/apis/generated/premint-api-types.d.ts.map +1 -0
- package/dist/src/apis/http-api-base.d.ts.map +1 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/create/1155-create-helper.d.ts.map +1 -0
- package/dist/src/create/1155-create-helper.test.d.ts.map +1 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/mint/mint-api-client.d.ts.map +1 -0
- package/dist/src/mint/mint-client.d.ts.map +1 -0
- package/dist/src/mint/mint-client.test.d.ts.map +1 -0
- package/dist/src/premint/contract-types.d.ts.map +1 -0
- package/dist/{premint → src/premint}/conversions.d.ts +1 -1
- package/dist/src/premint/conversions.d.ts.map +1 -0
- package/dist/src/premint/premint-api-client.d.ts.map +1 -0
- package/dist/{premint → src/premint}/premint-client.d.ts +4 -4
- package/dist/src/premint/premint-client.d.ts.map +1 -0
- package/dist/src/premint/premint-client.test.d.ts.map +1 -0
- package/dist/{premint → src/premint}/preminter.d.ts +3 -3
- package/dist/src/premint/preminter.d.ts.map +1 -0
- package/dist/src/premint/preminter.test.d.ts.map +1 -0
- package/dist/src/preminter.d.ts.map +1 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/test-integration/premint-client.test.d.ts +2 -0
- package/dist/test-integration/premint-client.test.d.ts.map +1 -0
- package/package.json +10 -8
- package/src/anvil.ts +10 -3
- package/src/apis/chain-constants.ts +31 -32
- package/src/mint/mint-client.test.ts +1 -1
- package/src/premint/conversions.ts +12 -6
- package/src/premint/premint-client.test.ts +14 -64
- package/src/premint/premint-client.ts +25 -27
- package/src/premint/preminter.test.ts +1 -1
- package/src/premint/preminter.ts +9 -23
- package/test-integration/premint-client.test.ts +146 -0
- package/tsconfig.json +1 -1
- package/.turbo/turbo-lint.log +0 -5
- package/dist/anvil.d.ts.map +0 -1
- package/dist/apis/chain-constants.d.ts +0 -21
- package/dist/apis/chain-constants.d.ts.map +0 -1
- package/dist/apis/client-base.d.ts.map +0 -1
- package/dist/apis/generated/premint-api-types.d.ts.map +0 -1
- package/dist/apis/http-api-base.d.ts.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/create/1155-create-helper.d.ts.map +0 -1
- package/dist/create/1155-create-helper.test.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/mint/mint-api-client.d.ts.map +0 -1
- package/dist/mint/mint-client.d.ts.map +0 -1
- package/dist/mint/mint-client.test.d.ts.map +0 -1
- package/dist/premint/contract-types.d.ts.map +0 -1
- package/dist/premint/conversions.d.ts.map +0 -1
- package/dist/premint/premint-api-client.d.ts.map +0 -1
- package/dist/premint/premint-client.d.ts.map +0 -1
- package/dist/premint/premint-client.test.d.ts.map +0 -1
- package/dist/premint/preminter.d.ts.map +0 -1
- package/dist/premint/preminter.test.d.ts.map +0 -1
- package/dist/preminter.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- /package/dist/{apis → src/apis}/client-base.d.ts +0 -0
- /package/dist/{apis → src/apis}/generated/premint-api-types.d.ts +0 -0
- /package/dist/{apis → src/apis}/http-api-base.d.ts +0 -0
- /package/dist/{constants.d.ts → src/constants.d.ts} +0 -0
- /package/dist/{create → src/create}/1155-create-helper.d.ts +0 -0
- /package/dist/{create → src/create}/1155-create-helper.test.d.ts +0 -0
- /package/dist/{index.d.ts → src/index.d.ts} +0 -0
- /package/dist/{mint → src/mint}/mint-api-client.d.ts +0 -0
- /package/dist/{mint → src/mint}/mint-client.d.ts +0 -0
- /package/dist/{mint → src/mint}/mint-client.test.d.ts +0 -0
- /package/dist/{premint → src/premint}/contract-types.d.ts +0 -0
- /package/dist/{premint → src/premint}/premint-api-client.d.ts +0 -0
- /package/dist/{premint → src/premint}/premint-client.test.d.ts +0 -0
- /package/dist/{premint → src/premint}/preminter.test.d.ts +0 -0
- /package/dist/{preminter.d.ts → src/preminter.d.ts} +0 -0
- /package/dist/{types.d.ts → src/types.d.ts} +0 -0
|
@@ -0,0 +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,EAMb,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,MAAM,CAAC;AAKlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,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;AAEF,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;;;;;;OAMG;IACG,0BAA0B,CAAC,EAC/B,GAAG,IAAI,EACR,EAAE;QACD,aAAa,EAAE,OAAO,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC;QAC9B,aAAa,EAAE,aAAa,CAAC;KAC9B,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAOxC;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;AAsE9D,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mint-client.test.d.ts","sourceRoot":"","sources":["../../../src/mint/mint-client.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-types.d.ts","sourceRoot":"","sources":["../../../src/premint/contract-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,qCAAqC,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEvG,KAAK,eAAe,GAAG,kBAAkB,CACvC,OAAO,YAAY,EACnB,WAAW,CACZ,CAAC,QAAQ,CAAC,CAAC;AAEZ,KAAK,sBAAsB,GAAG,6BAA6B,CAAC,eAAe,CAAC,CAAC;AAE7E,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AACxD,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;AAEnE,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAEtD,KAAK,eAAe,GAAG,kBAAkB,CACvC,OAAO,YAAY,EACnB,WAAW,CACZ,CAAC,QAAQ,CAAC,CAAC;AAEZ,KAAK,sBAAsB,GAAG,6BAA6B,CAAC,eAAe,CAAC,CAAC;AAE7E,MAAM,MAAM,eAAe,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AACxD,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;AAEnE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBV,CAAC;AAEX,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBV,CAAC;AAEX,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C,oBAAY,oBAAoB;IAC9B,EAAE,MAAM;IACR,EAAE,MAAM;CACT;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,oBAAoB,IAChE,CAAC,SAAS,oBAAoB,CAAC,EAAE,GAAG,eAAe,GAAG,eAAe,CAAC;AAExE,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,oBAAoB,IAAI;IACrE,aAAa,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAC1C,oBAAoB,EAAE,CAAC,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B,wBAAwB,CAAC,oBAAoB,CAAC,EAAE,CAAC,GACjD,wBAAwB,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,eAAe,CAAC;AAC9D,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG,qBAAqB,CAAC;AAEhF,MAAM,MAAM,mCAAmC,CAAC,CAAC,SAAS,mBAAmB,IAC3E,CAAC,SAAS,qBAAqB,GAAG,eAAe,GAAG,eAAe,CAAC;AAEtE,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,oBAAoB,IAC9D,uBAAuB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AAE5C,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,oBAAoB,IAAI;IACnE,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACtC,oBAAoB,EAAE,CAAC,CAAC;CACzB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { paths } from "src/apis/generated/premint-api-types";
|
|
1
2
|
import { Hex } from "viem";
|
|
2
3
|
import { ContractCreationConfig, PremintConfigAndVersion, PremintConfigVersion, PremintConfigWithVersion } from "./contract-types";
|
|
3
4
|
import { PremintSignatureGetResponse } from "./premint-api-client";
|
|
4
|
-
import { paths } from "src/apis/generated/premint-api-types";
|
|
5
5
|
export declare const convertCollectionFromApi: (collection: PremintSignatureGetResponse["collection"]) => ContractCreationConfig;
|
|
6
6
|
/**
|
|
7
7
|
* Convert server to on-chain types for a premint
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversions.d.ts","sourceRoot":"","sources":["../../../src/premint/conversions.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAW,GAAG,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EAGvB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,eAAO,MAAM,wBAAwB,eACvB,2BAA2B,CAAC,YAAY,CAAC,KACpD,sBAGD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,YACvB,2BAA2B,CAAC,SAAS,CAAC,KAC9C,uBAgDF,CAAC;AAEF,eAAO,MAAM,4BAA4B,aAC7B,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKrC,CAAC;AAkCH,eAAO,MAAM,mBAAmB,6GAGC,2BAA2B,CAAC,SAAS,CAQrE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,2BAA2B,GACrC,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;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;gBAOvB,sBAAsB;eACvB,GAAG;aACL,MAAM;oCACiB,2BAQhC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
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;AAEzD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAEL,wBAAwB,EAGzB,MAAM,eAAe,CAAC;AAEvB,KAAK,qBAAqB,GACxB,KAAK,CAAC,uDAAuD,CAAC,CAAC,KAAK,CAAC,CAAC;AAGxE,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;AAGrE,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;AA8CnE,cAAM,gBAAgB;IACpB,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW;IAIrD,aAAa;oBAKC,sBAAsB;mBACvB,GAAG;wCACkB,QAAQ,wBAAwB,CAAC,CAWjE;IAEF,UAAU,sBAA6B,OAAO,KAAG,QAAQ,MAAM,CAAC,CAOnD;IAEb,YAAY;2BAIS,OAAO;aACrB,MAAM;UACT,QACF;QACE,SAAS,EAAE,GAAG,CAAC;QACf,UAAU,EAAE,sBAAsB,CAAC;KACpC,GAAG,uBAAuB,CAC5B,CASC;CACH;AAED,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -164,10 +164,10 @@ declare class PremintClient {
|
|
|
164
164
|
tokenId?: bigint;
|
|
165
165
|
address?: Address;
|
|
166
166
|
}): URLSReturnType;
|
|
167
|
-
getMintCosts({ tokenContract, quantityToMint,
|
|
167
|
+
getMintCosts({ tokenContract, quantityToMint, pricePerToken, }: {
|
|
168
168
|
quantityToMint: bigint;
|
|
169
169
|
tokenContract: Address;
|
|
170
|
-
|
|
170
|
+
pricePerToken: bigint;
|
|
171
171
|
}): Promise<MintCosts>;
|
|
172
172
|
/**
|
|
173
173
|
* Execute premint on-chain
|
|
@@ -181,10 +181,10 @@ declare class PremintClient {
|
|
|
181
181
|
* @param settings.publicClient Optional public client for preflight checks.
|
|
182
182
|
* @returns receipt, log, zoraURL
|
|
183
183
|
*/
|
|
184
|
-
makeMintParameters({ uid, tokenContract,
|
|
184
|
+
makeMintParameters({ uid, tokenContract, minterAccount, mintArguments, }: {
|
|
185
185
|
uid: number;
|
|
186
186
|
tokenContract: Address;
|
|
187
|
-
|
|
187
|
+
minterAccount: Account | Address;
|
|
188
188
|
mintArguments?: {
|
|
189
189
|
quantityToMint: number;
|
|
190
190
|
mintComment?: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"premint-client.d.ts","sourceRoot":"","sources":["../../../src/premint/premint-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"premint-client.test.d.ts","sourceRoot":"","sources":["../../../src/premint/premint-client.test.ts"],"names":[],"mappings":""}
|
|
@@ -21,13 +21,12 @@ export type IsValidSignatureReturn = {
|
|
|
21
21
|
isAuthorized: boolean;
|
|
22
22
|
recoveredAddress?: Address;
|
|
23
23
|
};
|
|
24
|
-
export declare function isAuthorizedToCreatePremint
|
|
24
|
+
export declare function isAuthorizedToCreatePremint({ collection, collectionAddress, publicClient, signer, }: {
|
|
25
25
|
collection: ContractCreationConfig;
|
|
26
26
|
collectionAddress: Address;
|
|
27
27
|
publicClient: PublicClient;
|
|
28
|
-
signature: Hex;
|
|
29
28
|
signer: Address;
|
|
30
|
-
}
|
|
29
|
+
}): Promise<boolean>;
|
|
31
30
|
export declare function recoverPremintSigner<T extends PremintConfigVersion>({ signature, ...rest }: {
|
|
32
31
|
signature: Hex;
|
|
33
32
|
chainId: number;
|
|
@@ -118,4 +117,5 @@ export declare function makeMintRewardsRecipient({ mintReferral, platformReferra
|
|
|
118
117
|
mintReferral?: Address;
|
|
119
118
|
platformReferral?: Address;
|
|
120
119
|
}): Address[];
|
|
120
|
+
export declare function getDefaultFixedPriceMinterAddress(chainId: number): Address;
|
|
121
121
|
//# sourceMappingURL=preminter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preminter.d.ts","sourceRoot":"","sources":["../../../src/premint/preminter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preminter.test.d.ts","sourceRoot":"","sources":["../../../src/premint/preminter.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preminter.d.ts","sourceRoot":"","sources":["../../src/preminter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EACL,qCAAqC,IAAI,YAAY,EAEtD,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,mBAAmB,EAEnB,GAAG,EACH,YAAY,EACb,MAAM,MAAM,CAAC;AAEd,KAAK,aAAa,GAAG,kBAAkB,CACrC,OAAO,YAAY,EACnB,SAAS,CACV,CAAC,QAAQ,CAAC,CAAC;AAEZ,KAAK,sBAAsB,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;AAE3E,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAC/D,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;AAI/D,eAAO,MAAM,4BAA4B;uBAKpB,OAAO;mBACX,aAAa;aACnB,MAAM;;;;;;;;;;wBA8ChB,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,EACvC,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,OAAO,EACP,YAAY,GACb,EAAE;IACD,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,GAAG,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;CAC5B,GAAG,OAAO,CAAC;IACV,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC,CAqCD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"premint-client.test.d.ts","sourceRoot":"","sources":["../../test-integration/premint-client.test.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zoralabs/protocol-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"repository": "https://github.com/ourzora/zora-protocol",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -10,22 +10,24 @@
|
|
|
10
10
|
"build": "tsup",
|
|
11
11
|
"prepack": "yarn build",
|
|
12
12
|
"test:js": "vitest src",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
13
|
+
"test:integration": "vitest test-integration",
|
|
14
|
+
"generate-types": "echo 'npx is used here because this is a rare operation' && npx openapi-typescript https://api.zora.co/premint/openapi.json -o src/generated/premint-api-types.ts && yarn openapi-typescript https://api.zora.co/discover/openapi.json -o src/generated/discover-api-types.ts",
|
|
15
|
+
"prettier": "prettier --write 'src/**/*.ts' 'test-integration/**/*.ts'",
|
|
16
|
+
"lint": "prettier --check 'src/**/*.ts' 'test-integration/**/*.ts'"
|
|
16
17
|
},
|
|
17
18
|
"dependencies": {
|
|
18
19
|
"@zoralabs/protocol-deployments": "*",
|
|
19
|
-
"abitype": "^0.
|
|
20
|
+
"abitype": "^0.10.3",
|
|
20
21
|
"vite": "4.5.0"
|
|
21
22
|
},
|
|
22
23
|
"peerDependencies": {
|
|
23
|
-
"viem": "^1.
|
|
24
|
+
"viem": "^1.19.15"
|
|
24
25
|
},
|
|
25
26
|
"devDependencies": {
|
|
27
|
+
"@lavamoat/preinstall-always-fail": "2.0.0",
|
|
26
28
|
"zoralabs-tsconfig": "*",
|
|
27
29
|
"typescript": "^5.2.2",
|
|
28
|
-
"vite": "4.5.0",
|
|
29
|
-
"vitest": "0.34.6"
|
|
30
|
+
"vite": "^4.5.0",
|
|
31
|
+
"vitest": "^0.34.6"
|
|
30
32
|
}
|
|
31
33
|
}
|
package/src/anvil.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { spawn } from "node:child_process";
|
|
|
2
2
|
import { join } from "path";
|
|
3
3
|
import { test } from "vitest";
|
|
4
4
|
import {
|
|
5
|
+
Chain,
|
|
5
6
|
PublicClient,
|
|
6
7
|
TestClient,
|
|
7
8
|
WalletClient,
|
|
@@ -10,13 +11,14 @@ import {
|
|
|
10
11
|
createWalletClient,
|
|
11
12
|
http,
|
|
12
13
|
} from "viem";
|
|
13
|
-
import { foundry } from "viem/chains";
|
|
14
|
+
import { foundry, zora } from "viem/chains";
|
|
14
15
|
|
|
15
16
|
export interface AnvilViemClientsTest {
|
|
16
17
|
viemClients: {
|
|
17
18
|
walletClient: WalletClient;
|
|
18
19
|
publicClient: PublicClient;
|
|
19
20
|
testClient: TestClient;
|
|
21
|
+
chain: Chain;
|
|
20
22
|
};
|
|
21
23
|
}
|
|
22
24
|
|
|
@@ -31,11 +33,13 @@ async function waitForAnvilInit(anvil: any) {
|
|
|
31
33
|
export type AnvilTestForkSettings = {
|
|
32
34
|
forkUrl: string;
|
|
33
35
|
forkBlockNumber: number;
|
|
36
|
+
anvilChainId?: number;
|
|
34
37
|
};
|
|
35
38
|
|
|
36
39
|
export const makeAnvilTest = ({
|
|
37
40
|
forkUrl,
|
|
38
41
|
forkBlockNumber,
|
|
42
|
+
anvilChainId = 31337,
|
|
39
43
|
}: AnvilTestForkSettings) =>
|
|
40
44
|
test.extend<AnvilViemClientsTest>({
|
|
41
45
|
viemClients: async ({ task }, use) => {
|
|
@@ -51,7 +55,7 @@ export const makeAnvilTest = ({
|
|
|
51
55
|
"--fork-block-number",
|
|
52
56
|
`${forkBlockNumber}`,
|
|
53
57
|
"--chain-id",
|
|
54
|
-
|
|
58
|
+
anvilChainId.toString(),
|
|
55
59
|
],
|
|
56
60
|
{
|
|
57
61
|
cwd: join(__dirname, ".."),
|
|
@@ -61,8 +65,9 @@ export const makeAnvilTest = ({
|
|
|
61
65
|
const anvilHost = `http://0.0.0.0:${port}`;
|
|
62
66
|
await waitForAnvilInit(anvil);
|
|
63
67
|
|
|
64
|
-
const chain = {
|
|
68
|
+
const chain: Chain = {
|
|
65
69
|
...foundry,
|
|
70
|
+
id: anvilChainId,
|
|
66
71
|
};
|
|
67
72
|
|
|
68
73
|
const walletClient = createWalletClient({
|
|
@@ -85,6 +90,7 @@ export const makeAnvilTest = ({
|
|
|
85
90
|
publicClient,
|
|
86
91
|
walletClient,
|
|
87
92
|
testClient,
|
|
93
|
+
chain,
|
|
88
94
|
});
|
|
89
95
|
|
|
90
96
|
// clean up function, called once after all tests run
|
|
@@ -101,4 +107,5 @@ export const forkUrls = {
|
|
|
101
107
|
export const anvilTest = makeAnvilTest({
|
|
102
108
|
forkUrl: forkUrls.zoraMainnet,
|
|
103
109
|
forkBlockNumber: 7866332,
|
|
110
|
+
anvilChainId: zora.id,
|
|
104
111
|
});
|
|
@@ -7,95 +7,94 @@ import {
|
|
|
7
7
|
optimism,
|
|
8
8
|
optimismGoerli,
|
|
9
9
|
zora,
|
|
10
|
+
zoraSepolia,
|
|
10
11
|
zoraTestnet,
|
|
11
12
|
} from "viem/chains";
|
|
12
13
|
import type { components } from "./generated/premint-api-types";
|
|
13
14
|
import { parseEther } from "viem";
|
|
14
15
|
import { getSubgraph } from "../constants";
|
|
15
16
|
|
|
17
|
+
type BackendChainName = components["schemas"]["ChainName"];
|
|
18
|
+
|
|
16
19
|
export type NetworkConfig = {
|
|
17
20
|
chainId: number;
|
|
18
|
-
|
|
19
|
-
zoraBackendChainName:
|
|
21
|
+
zoraCollectPathChainName: string;
|
|
22
|
+
zoraBackendChainName: BackendChainName;
|
|
20
23
|
isTestnet: boolean;
|
|
21
24
|
subgraphUrl: string;
|
|
22
25
|
};
|
|
23
26
|
|
|
24
27
|
export const REWARD_PER_TOKEN = parseEther("0.000777");
|
|
25
28
|
|
|
26
|
-
export const BackendChainNamesLookup = {
|
|
27
|
-
ZORA_MAINNET: "ZORA-MAINNET",
|
|
28
|
-
ZORA_GOERLI: "ZORA-GOERLI",
|
|
29
|
-
OPTIMISM_MAINNET: "OPTIMISM-MAINNET",
|
|
30
|
-
OPTIMISM_GOERLI: "OPTIMISM-GOERLI",
|
|
31
|
-
ETHEREUM_MAINNET: "ETHEREUM-MAINNET",
|
|
32
|
-
ETHEREUM_GOERLI: "ETHEREUM-GOERLI",
|
|
33
|
-
BASE_MAINNET: "BASE-MAINNET",
|
|
34
|
-
BASE_GOERLI: "BASE-GOERLI",
|
|
35
|
-
} as const;
|
|
36
|
-
|
|
37
29
|
export const networkConfigByChain: Record<number, NetworkConfig> = {
|
|
38
30
|
[mainnet.id]: {
|
|
39
31
|
chainId: mainnet.id,
|
|
40
32
|
isTestnet: false,
|
|
41
|
-
|
|
42
|
-
zoraBackendChainName:
|
|
33
|
+
zoraCollectPathChainName: "eth",
|
|
34
|
+
zoraBackendChainName: "ETHEREUM-MAINNET",
|
|
43
35
|
subgraphUrl: getSubgraph("zora-create-mainnet", "stable"),
|
|
44
36
|
},
|
|
45
37
|
[goerli.id]: {
|
|
46
38
|
chainId: goerli.id,
|
|
47
39
|
isTestnet: true,
|
|
48
|
-
|
|
49
|
-
zoraBackendChainName:
|
|
40
|
+
zoraCollectPathChainName: "gor",
|
|
41
|
+
zoraBackendChainName: "ETHEREUM-GOERLI",
|
|
50
42
|
subgraphUrl: getSubgraph("zora-create-goerli", "stable"),
|
|
51
43
|
},
|
|
52
44
|
[zora.id]: {
|
|
53
45
|
chainId: zora.id,
|
|
54
46
|
isTestnet: false,
|
|
55
|
-
|
|
56
|
-
zoraBackendChainName:
|
|
47
|
+
zoraCollectPathChainName: "zora",
|
|
48
|
+
zoraBackendChainName: "ZORA-MAINNET",
|
|
57
49
|
subgraphUrl: getSubgraph("zora-create-zora-mainnet", "stable"),
|
|
58
50
|
},
|
|
59
51
|
[zoraTestnet.id]: {
|
|
60
|
-
chainId:
|
|
52
|
+
chainId: zoraTestnet.id,
|
|
61
53
|
isTestnet: true,
|
|
62
|
-
|
|
63
|
-
zoraBackendChainName:
|
|
54
|
+
zoraCollectPathChainName: "zgor",
|
|
55
|
+
zoraBackendChainName: "ZORA-GOERLI",
|
|
64
56
|
subgraphUrl: getSubgraph("zora-create-zora-testnet", "stable"),
|
|
65
57
|
},
|
|
58
|
+
[zoraSepolia.id]: {
|
|
59
|
+
chainId: zoraSepolia.id,
|
|
60
|
+
isTestnet: true,
|
|
61
|
+
zoraCollectPathChainName: "zsep",
|
|
62
|
+
zoraBackendChainName: "ZORA-SEPOLIA",
|
|
63
|
+
subgraphUrl: getSubgraph("zora-create-zora-sepolia", "stable"),
|
|
64
|
+
},
|
|
66
65
|
[optimism.id]: {
|
|
67
66
|
chainId: optimism.id,
|
|
68
67
|
isTestnet: false,
|
|
69
|
-
|
|
70
|
-
zoraBackendChainName:
|
|
68
|
+
zoraCollectPathChainName: "opt",
|
|
69
|
+
zoraBackendChainName: "OPTIMISM-MAINNET",
|
|
71
70
|
subgraphUrl: getSubgraph("zora-create-optimism", "stable"),
|
|
72
71
|
},
|
|
73
72
|
[optimismGoerli.id]: {
|
|
74
73
|
chainId: optimismGoerli.id,
|
|
75
74
|
isTestnet: true,
|
|
76
|
-
|
|
77
|
-
zoraBackendChainName:
|
|
75
|
+
zoraCollectPathChainName: "ogor",
|
|
76
|
+
zoraBackendChainName: "OPTIMISM-GOERLI",
|
|
78
77
|
subgraphUrl: getSubgraph("zora-create-optimism-goerli", "stable"),
|
|
79
78
|
},
|
|
80
79
|
[base.id]: {
|
|
81
80
|
chainId: base.id,
|
|
82
81
|
isTestnet: false,
|
|
83
|
-
|
|
84
|
-
zoraBackendChainName:
|
|
82
|
+
zoraCollectPathChainName: "base",
|
|
83
|
+
zoraBackendChainName: "BASE-MAINNET",
|
|
85
84
|
subgraphUrl: getSubgraph("zora-create-base-mainnet", "stable"),
|
|
86
85
|
},
|
|
87
86
|
[baseGoerli.id]: {
|
|
88
87
|
chainId: baseGoerli.id,
|
|
89
88
|
isTestnet: true,
|
|
90
|
-
|
|
91
|
-
zoraBackendChainName:
|
|
89
|
+
zoraCollectPathChainName: "bgor",
|
|
90
|
+
zoraBackendChainName: "BASE-GOERLI",
|
|
92
91
|
subgraphUrl: getSubgraph("zora-create-base-goerli", "stable"),
|
|
93
92
|
},
|
|
94
93
|
[foundry.id]: {
|
|
95
94
|
chainId: foundry.id,
|
|
96
95
|
isTestnet: true,
|
|
97
|
-
|
|
98
|
-
zoraBackendChainName:
|
|
96
|
+
zoraCollectPathChainName: "zgor",
|
|
97
|
+
zoraBackendChainName: "ZORA-GOERLI",
|
|
99
98
|
subgraphUrl: getSubgraph("zora-create-zora-testnet", "stable"),
|
|
100
99
|
},
|
|
101
100
|
};
|
|
@@ -96,7 +96,7 @@ describe("mint-helper", () => {
|
|
|
96
96
|
|
|
97
97
|
const hash = await walletClient.writeContract(simulated.request);
|
|
98
98
|
|
|
99
|
-
const receipt = await publicClient.
|
|
99
|
+
const receipt = await publicClient.waitForTransactionReceipt({ hash });
|
|
100
100
|
expect(receipt).not.to.be.null;
|
|
101
101
|
|
|
102
102
|
const newBalance = await publicClient.readContract({
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { networkConfigByChain } from "src/apis/chain-constants";
|
|
2
|
+
import { components, paths } from "src/apis/generated/premint-api-types";
|
|
1
3
|
import { Address, Hex } from "viem";
|
|
2
4
|
import {
|
|
3
5
|
ContractCreationConfig,
|
|
@@ -8,8 +10,6 @@ import {
|
|
|
8
10
|
PremintConfigWithVersion,
|
|
9
11
|
} from "./contract-types";
|
|
10
12
|
import { PremintSignatureGetResponse } from "./premint-api-client";
|
|
11
|
-
import { components, paths } from "src/apis/generated/premint-api-types";
|
|
12
|
-
import { networkConfigByChain } from "src/apis/chain-constants";
|
|
13
13
|
|
|
14
14
|
export const convertCollectionFromApi = (
|
|
15
15
|
collection: PremintSignatureGetResponse["collection"],
|
|
@@ -36,7 +36,9 @@ export const convertPremintFromApi = (
|
|
|
36
36
|
return {
|
|
37
37
|
premintConfigVersion: PremintConfigVersion.V1,
|
|
38
38
|
premintConfig: {
|
|
39
|
-
|
|
39
|
+
deleted: premint.deleted,
|
|
40
|
+
uid: premint.uid,
|
|
41
|
+
version: premint.version,
|
|
40
42
|
tokenConfig: {
|
|
41
43
|
...tokenConfig,
|
|
42
44
|
fixedPriceMinter: tokenConfig.fixedPriceMinter as Address,
|
|
@@ -55,7 +57,9 @@ export const convertPremintFromApi = (
|
|
|
55
57
|
return {
|
|
56
58
|
premintConfigVersion: PremintConfigVersion.V2,
|
|
57
59
|
premintConfig: {
|
|
58
|
-
|
|
60
|
+
deleted: premint.deleted,
|
|
61
|
+
uid: premint.uid,
|
|
62
|
+
version: premint.version,
|
|
59
63
|
tokenConfig: {
|
|
60
64
|
...tokenConfig,
|
|
61
65
|
fixedPriceMinter: tokenConfig.fixedPriceMinter as Address,
|
|
@@ -85,6 +89,7 @@ const encodePremintV1ForAPI = ({
|
|
|
85
89
|
...premint
|
|
86
90
|
}: PremintConfigV1): PremintSignatureGetResponse["premint"] => ({
|
|
87
91
|
...premint,
|
|
92
|
+
config_version: "1",
|
|
88
93
|
tokenConfig: {
|
|
89
94
|
...tokenConfig,
|
|
90
95
|
maxSupply: tokenConfig.maxSupply.toString(),
|
|
@@ -98,8 +103,9 @@ const encodePremintV1ForAPI = ({
|
|
|
98
103
|
const encodePremintV2ForAPI = ({
|
|
99
104
|
tokenConfig,
|
|
100
105
|
...premint
|
|
101
|
-
}: PremintConfigV2) => ({
|
|
106
|
+
}: PremintConfigV2): PremintSignatureRequestBody["premint"] => ({
|
|
102
107
|
...premint,
|
|
108
|
+
config_version: "2",
|
|
103
109
|
tokenConfig: {
|
|
104
110
|
...tokenConfig,
|
|
105
111
|
maxSupply: tokenConfig.maxSupply.toString(),
|
|
@@ -148,7 +154,7 @@ export const encodePostSignatureInput = <T extends PremintConfigVersion>({
|
|
|
148
154
|
premint: encodePremintForAPI({
|
|
149
155
|
premintConfig,
|
|
150
156
|
premintConfigVersion,
|
|
151
|
-
})
|
|
157
|
+
}),
|
|
152
158
|
signature,
|
|
153
159
|
collection,
|
|
154
160
|
chain_name: networkConfigByChain[chainId]!.zoraBackendChainName,
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
import { foundry } from "viem/chains";
|
|
2
2
|
import { describe, expect, vi } from "vitest";
|
|
3
3
|
|
|
4
|
-
import { Address, Hex } from "viem";
|
|
5
4
|
import { createPremintClient } from "./premint-client";
|
|
6
5
|
import { anvilTest } from "src/anvil";
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
PremintConfigV1,
|
|
10
|
-
PremintConfigVersion,
|
|
11
|
-
} from "./contract-types";
|
|
6
|
+
import { PremintConfigVersion } from "./contract-types";
|
|
7
|
+
import { getDefaultFixedPriceMinterAddress } from "./preminter";
|
|
12
8
|
|
|
13
9
|
describe("ZoraCreator1155Premint - v1 signatures", () => {
|
|
14
10
|
anvilTest(
|
|
15
11
|
"can sign by default v1 on the forked premint contract",
|
|
16
|
-
async ({ viemClients: { walletClient, publicClient } }) => {
|
|
12
|
+
async ({ viemClients: { walletClient, publicClient, chain } }) => {
|
|
17
13
|
const [deployerAccount] = await walletClient.getAddresses();
|
|
18
14
|
const premintClient = createPremintClient({
|
|
19
|
-
chain
|
|
15
|
+
chain,
|
|
20
16
|
publicClient,
|
|
21
17
|
});
|
|
22
18
|
|
|
@@ -55,7 +51,7 @@ describe("ZoraCreator1155Premint - v1 signatures", () => {
|
|
|
55
51
|
premintConfig: {
|
|
56
52
|
deleted: false,
|
|
57
53
|
tokenConfig: {
|
|
58
|
-
fixedPriceMinter:
|
|
54
|
+
fixedPriceMinter: getDefaultFixedPriceMinterAddress(chain.id),
|
|
59
55
|
maxSupply: 18446744073709551615n,
|
|
60
56
|
maxTokensPerAddress: 0n,
|
|
61
57
|
mintDuration: 604800n,
|
|
@@ -72,7 +68,7 @@ describe("ZoraCreator1155Premint - v1 signatures", () => {
|
|
|
72
68
|
},
|
|
73
69
|
premintConfigVersion: PremintConfigVersion.V1,
|
|
74
70
|
signature:
|
|
75
|
-
"
|
|
71
|
+
"0x70fc1d6e862c42f2b0e4a062f4eb973cc8692df58a24b71b4fe91ae7baa5a26d2c99b1b8ab61f64ff431bf30b0897877b11b7405542c90b89b041808f1561a6c1c",
|
|
76
72
|
};
|
|
77
73
|
|
|
78
74
|
expect(premintClient.apiClient.postSignature).toHaveBeenCalledWith(
|
|
@@ -82,55 +78,9 @@ describe("ZoraCreator1155Premint - v1 signatures", () => {
|
|
|
82
78
|
20 * 1000,
|
|
83
79
|
);
|
|
84
80
|
|
|
85
|
-
anvilTest(
|
|
86
|
-
"can validate premint on network",
|
|
87
|
-
async ({ viemClients: { publicClient } }) => {
|
|
88
|
-
const premintClient = createPremintClient({
|
|
89
|
-
chain: foundry,
|
|
90
|
-
publicClient,
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
const collection: ContractCreationConfig = {
|
|
94
|
-
contractAdmin: "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266" as Address,
|
|
95
|
-
contractName: "Testing Contract",
|
|
96
|
-
contractURI:
|
|
97
|
-
"ipfs://bafkreiainxen4b4wz4ubylvbhons6rembxdet4a262nf2lziclqvv7au3e",
|
|
98
|
-
};
|
|
99
|
-
const premint: PremintConfigV1 = {
|
|
100
|
-
uid: 3,
|
|
101
|
-
version: 1,
|
|
102
|
-
deleted: false,
|
|
103
|
-
tokenConfig: {
|
|
104
|
-
maxSupply: 18446744073709551615n,
|
|
105
|
-
maxTokensPerAddress: 0n,
|
|
106
|
-
pricePerToken: 0n,
|
|
107
|
-
mintDuration: 604800n,
|
|
108
|
-
mintStart: 0n,
|
|
109
|
-
royaltyMintSchedule: 0,
|
|
110
|
-
royaltyBPS: 1000,
|
|
111
|
-
fixedPriceMinter: "0x04E2516A2c207E84a1839755675dfd8eF6302F0a",
|
|
112
|
-
royaltyRecipient: "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
|
|
113
|
-
tokenURI:
|
|
114
|
-
"ipfs://bafkreice23maski3x52tsfqgxstx3kbiifnt5jotg3a5ynvve53c4soi2u",
|
|
115
|
-
},
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
const signature =
|
|
119
|
-
"0x588d19641de9ba1dade4d2bb5387c8dc96f4a990fef69787534b60caead759e6334975a6be10a796da948cd7d1d4f5580b3f84d49d9fa4e0b41c97759507975a1c" as Hex;
|
|
120
|
-
|
|
121
|
-
const signatureValid = await premintClient.isValidSignature({
|
|
122
|
-
collection: collection,
|
|
123
|
-
premintConfig: premint,
|
|
124
|
-
signature,
|
|
125
|
-
// default to premint config v1 version (we dont need to specify it here)
|
|
126
|
-
});
|
|
127
|
-
expect(signatureValid.isValid).toBe(true);
|
|
128
|
-
},
|
|
129
|
-
);
|
|
130
|
-
|
|
131
81
|
anvilTest(
|
|
132
82
|
"can execute premint on network",
|
|
133
|
-
async ({ viemClients: { walletClient, publicClient } }) => {
|
|
83
|
+
async ({ viemClients: { walletClient, publicClient, chain } }) => {
|
|
134
84
|
const [deployerAccount] = await walletClient.getAddresses();
|
|
135
85
|
const premintClient = createPremintClient({
|
|
136
86
|
chain: foundry,
|
|
@@ -149,7 +99,7 @@ describe("ZoraCreator1155Premint - v1 signatures", () => {
|
|
|
149
99
|
premintConfig: {
|
|
150
100
|
deleted: false,
|
|
151
101
|
tokenConfig: {
|
|
152
|
-
fixedPriceMinter:
|
|
102
|
+
fixedPriceMinter: getDefaultFixedPriceMinterAddress(chain.id),
|
|
153
103
|
maxSupply: 18446744073709551615n,
|
|
154
104
|
maxTokensPerAddress: 0n,
|
|
155
105
|
mintDuration: 604800n,
|
|
@@ -162,18 +112,18 @@ describe("ZoraCreator1155Premint - v1 signatures", () => {
|
|
|
162
112
|
"ipfs://bafkreice23maski3x52tsfqgxstx3kbiifnt5jotg3a5ynvve53c4soi2u",
|
|
163
113
|
},
|
|
164
114
|
uid: 3,
|
|
165
|
-
version:
|
|
115
|
+
version: 0,
|
|
166
116
|
},
|
|
167
117
|
premintConfigVersion: PremintConfigVersion.V1,
|
|
168
118
|
signature:
|
|
169
|
-
"
|
|
119
|
+
"0x70fc1d6e862c42f2b0e4a062f4eb973cc8692df58a24b71b4fe91ae7baa5a26d2c99b1b8ab61f64ff431bf30b0897877b11b7405542c90b89b041808f1561a6c1c",
|
|
170
120
|
});
|
|
171
121
|
|
|
172
122
|
premintClient.apiClient.postSignature = vi.fn();
|
|
173
123
|
|
|
174
124
|
const simulateContractParameters = await premintClient.makeMintParameters(
|
|
175
125
|
{
|
|
176
|
-
|
|
126
|
+
minterAccount: deployerAccount!,
|
|
177
127
|
tokenContract: "0xf8dA7f53c283d898818af7FB9d98103F559bDac2",
|
|
178
128
|
uid: 3,
|
|
179
129
|
mintArguments: {
|
|
@@ -215,11 +165,11 @@ describe("ZoraCreator1155Premint - v1 signatures", () => {
|
|
|
215
165
|
describe("ZoraCreator1155Premint - v2 signatures", () => {
|
|
216
166
|
anvilTest(
|
|
217
167
|
"can sign on the forked premint contract",
|
|
218
|
-
async ({ viemClients: { walletClient, publicClient } }) => {
|
|
168
|
+
async ({ viemClients: { walletClient, publicClient, chain } }) => {
|
|
219
169
|
const [creatorAccount, createReferralAccount] =
|
|
220
170
|
await walletClient.getAddresses();
|
|
221
171
|
const premintClient = createPremintClient({
|
|
222
|
-
chain
|
|
172
|
+
chain,
|
|
223
173
|
publicClient,
|
|
224
174
|
});
|
|
225
175
|
|
|
@@ -277,7 +227,7 @@ describe("ZoraCreator1155Premint - v2 signatures", () => {
|
|
|
277
227
|
},
|
|
278
228
|
premintConfigVersion: PremintConfigVersion.V2,
|
|
279
229
|
signature:
|
|
280
|
-
"
|
|
230
|
+
"0x8be7932b0b31bdb7fc9269b756e0d0c9514519f083d86576e23b73c033d8ed8440ea363bc8bba0ec5c30eb6bbdf796163a324201bc7520965037102518fb5e991c",
|
|
281
231
|
};
|
|
282
232
|
|
|
283
233
|
expect(premintClient.apiClient.postSignature).toHaveBeenCalledWith(
|