@zoralabs/protocol-sdk 0.4.2 → 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.
Files changed (85) hide show
  1. package/.turbo/turbo-build.log +8 -7
  2. package/CHANGELOG.md +24 -0
  3. package/README.md +1 -1
  4. package/dist/index.cjs +65 -66
  5. package/dist/index.cjs.map +1 -1
  6. package/dist/index.js +63 -71
  7. package/dist/index.js.map +1 -1
  8. package/dist/{anvil.d.ts → src/anvil.d.ts} +6 -2
  9. package/dist/src/anvil.d.ts.map +1 -0
  10. package/dist/src/apis/chain-constants.d.ts +13 -0
  11. package/dist/src/apis/chain-constants.d.ts.map +1 -0
  12. package/dist/src/apis/client-base.d.ts.map +1 -0
  13. package/dist/src/apis/generated/premint-api-types.d.ts.map +1 -0
  14. package/dist/src/apis/http-api-base.d.ts.map +1 -0
  15. package/dist/src/constants.d.ts.map +1 -0
  16. package/dist/src/create/1155-create-helper.d.ts.map +1 -0
  17. package/dist/src/create/1155-create-helper.test.d.ts.map +1 -0
  18. package/dist/{index.d.ts → src/index.d.ts} +1 -0
  19. package/dist/src/index.d.ts.map +1 -0
  20. package/dist/src/mint/mint-api-client.d.ts.map +1 -0
  21. package/dist/src/mint/mint-client.d.ts.map +1 -0
  22. package/dist/src/mint/mint-client.test.d.ts.map +1 -0
  23. package/dist/src/premint/contract-types.d.ts.map +1 -0
  24. package/dist/{premint → src/premint}/conversions.d.ts +1 -1
  25. package/dist/src/premint/conversions.d.ts.map +1 -0
  26. package/dist/src/premint/premint-api-client.d.ts.map +1 -0
  27. package/dist/{premint → src/premint}/premint-client.d.ts +4 -4
  28. package/dist/src/premint/premint-client.d.ts.map +1 -0
  29. package/dist/src/premint/premint-client.test.d.ts.map +1 -0
  30. package/dist/{premint → src/premint}/preminter.d.ts +3 -3
  31. package/dist/src/premint/preminter.d.ts.map +1 -0
  32. package/dist/src/premint/preminter.test.d.ts.map +1 -0
  33. package/dist/src/preminter.d.ts.map +1 -0
  34. package/dist/src/types.d.ts.map +1 -0
  35. package/dist/test-integration/premint-client.test.d.ts +2 -0
  36. package/dist/test-integration/premint-client.test.d.ts.map +1 -0
  37. package/package.json +10 -8
  38. package/src/anvil.ts +10 -3
  39. package/src/apis/chain-constants.ts +31 -32
  40. package/src/index.ts +2 -0
  41. package/src/mint/mint-client.test.ts +1 -1
  42. package/src/premint/conversions.ts +12 -6
  43. package/src/premint/premint-client.test.ts +14 -64
  44. package/src/premint/premint-client.ts +25 -27
  45. package/src/premint/preminter.test.ts +1 -1
  46. package/src/premint/preminter.ts +9 -23
  47. package/test-integration/premint-client.test.ts +146 -0
  48. package/tsconfig.json +1 -1
  49. package/dist/anvil.d.ts.map +0 -1
  50. package/dist/apis/chain-constants.d.ts +0 -21
  51. package/dist/apis/chain-constants.d.ts.map +0 -1
  52. package/dist/apis/client-base.d.ts.map +0 -1
  53. package/dist/apis/generated/premint-api-types.d.ts.map +0 -1
  54. package/dist/apis/http-api-base.d.ts.map +0 -1
  55. package/dist/constants.d.ts.map +0 -1
  56. package/dist/create/1155-create-helper.d.ts.map +0 -1
  57. package/dist/create/1155-create-helper.test.d.ts.map +0 -1
  58. package/dist/index.d.ts.map +0 -1
  59. package/dist/mint/mint-api-client.d.ts.map +0 -1
  60. package/dist/mint/mint-client.d.ts.map +0 -1
  61. package/dist/mint/mint-client.test.d.ts.map +0 -1
  62. package/dist/premint/contract-types.d.ts.map +0 -1
  63. package/dist/premint/conversions.d.ts.map +0 -1
  64. package/dist/premint/premint-api-client.d.ts.map +0 -1
  65. package/dist/premint/premint-client.d.ts.map +0 -1
  66. package/dist/premint/premint-client.test.d.ts.map +0 -1
  67. package/dist/premint/preminter.d.ts.map +0 -1
  68. package/dist/premint/preminter.test.d.ts.map +0 -1
  69. package/dist/preminter.d.ts.map +0 -1
  70. package/dist/types.d.ts.map +0 -1
  71. /package/dist/{apis → src/apis}/client-base.d.ts +0 -0
  72. /package/dist/{apis → src/apis}/generated/premint-api-types.d.ts +0 -0
  73. /package/dist/{apis → src/apis}/http-api-base.d.ts +0 -0
  74. /package/dist/{constants.d.ts → src/constants.d.ts} +0 -0
  75. /package/dist/{create → src/create}/1155-create-helper.d.ts +0 -0
  76. /package/dist/{create → src/create}/1155-create-helper.test.d.ts +0 -0
  77. /package/dist/{mint → src/mint}/mint-api-client.d.ts +0 -0
  78. /package/dist/{mint → src/mint}/mint-client.d.ts +0 -0
  79. /package/dist/{mint → src/mint}/mint-client.test.d.ts +0 -0
  80. /package/dist/{premint → src/premint}/contract-types.d.ts +0 -0
  81. /package/dist/{premint → src/premint}/premint-api-client.d.ts +0 -0
  82. /package/dist/{premint → src/premint}/premint-client.test.d.ts +0 -0
  83. /package/dist/{premint → src/premint}/preminter.test.d.ts +0 -0
  84. /package/dist/{preminter.d.ts → src/preminter.d.ts} +0 -0
  85. /package/dist/{types.d.ts → src/types.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AAEzC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,uBAAuB,CAAC;AAEtC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mint-api-client.d.ts","sourceRoot":"","sources":["../../../src/mint/mint-api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAwB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,KAAK,4BAA4B,GAAG;IAClC,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;AAMF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,4BAA4B,CAAC;IACzC,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,2BAA2B,YAAa,MAAM,KAAG,aAK7D,CAAC;AAEF,qBAAa,aAAa;IACxB,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,aAAa,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,WAAW;IAK/C,0BAA0B,CAAC,EAC/B,YAAY,EACZ,OAAO,GACR,EAAE;QACD,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC;KAC/B,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAmErC"}
@@ -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, tokenCreationConfig, }: {
167
+ getMintCosts({ tokenContract, quantityToMint, pricePerToken, }: {
168
168
  quantityToMint: bigint;
169
169
  tokenContract: Address;
170
- tokenCreationConfig: TokenCreationConfig;
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, account, mintArguments, }: {
184
+ makeMintParameters({ uid, tokenContract, minterAccount, mintArguments, }: {
185
185
  uid: number;
186
186
  tokenContract: Address;
187
- account: Account | Address;
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<T extends PremintConfigVersion>({ collection, collectionAddress, publicClient, premintConfig, premintConfigVersion, signature, signer, }: {
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
- } & PremintConfigWithVersion<T>): Promise<boolean>;
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=premint-client.test.d.ts.map
@@ -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.4.2",
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
- "generate-types": "npx openapi-typescript https://api.zora.co/premint/openapi.json -o src/generated/premint-api-types.ts && npx openapi-typescript https://api.zora.co/discover/openapi.json -o src/generated/discover-api-types.ts",
14
- "prettier": "prettier --write 'src/**/*.ts'",
15
- "lint": "prettier --check 'src/**/*.ts'"
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.8.7",
20
+ "abitype": "^0.10.3",
20
21
  "vite": "4.5.0"
21
22
  },
22
23
  "peerDependencies": {
23
- "viem": "^1.16.6"
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
- "31337",
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
- zoraPathChainName: string;
19
- zoraBackendChainName: components["schemas"]["ChainName"];
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
- zoraPathChainName: "eth",
42
- zoraBackendChainName: BackendChainNamesLookup.ETHEREUM_MAINNET,
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
- zoraPathChainName: "gor",
49
- zoraBackendChainName: BackendChainNamesLookup.ETHEREUM_GOERLI,
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
- zoraPathChainName: "zora",
56
- zoraBackendChainName: BackendChainNamesLookup.ZORA_MAINNET,
47
+ zoraCollectPathChainName: "zora",
48
+ zoraBackendChainName: "ZORA-MAINNET",
57
49
  subgraphUrl: getSubgraph("zora-create-zora-mainnet", "stable"),
58
50
  },
59
51
  [zoraTestnet.id]: {
60
- chainId: zora.id,
52
+ chainId: zoraTestnet.id,
61
53
  isTestnet: true,
62
- zoraPathChainName: "zgor",
63
- zoraBackendChainName: BackendChainNamesLookup.ZORA_GOERLI,
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
- zoraPathChainName: "opt",
70
- zoraBackendChainName: BackendChainNamesLookup.OPTIMISM_MAINNET,
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
- zoraPathChainName: "ogor",
77
- zoraBackendChainName: BackendChainNamesLookup.OPTIMISM_GOERLI,
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
- zoraPathChainName: "base",
84
- zoraBackendChainName: BackendChainNamesLookup.BASE_MAINNET,
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
- zoraPathChainName: "bgor",
91
- zoraBackendChainName: BackendChainNamesLookup.BASE_GOERLI,
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
- zoraPathChainName: "zgor",
98
- zoraBackendChainName: BackendChainNamesLookup.ZORA_GOERLI,
96
+ zoraCollectPathChainName: "zgor",
97
+ zoraBackendChainName: "ZORA-GOERLI",
99
98
  subgraphUrl: getSubgraph("zora-create-zora-testnet", "stable"),
100
99
  },
101
100
  };
package/src/index.ts CHANGED
@@ -6,6 +6,8 @@ export * from "./premint/contract-types";
6
6
 
7
7
  export * from "./premint/premint-api-client";
8
8
 
9
+ export * from "./premint/conversions";
10
+
9
11
  export * from "./mint/mint-api-client";
10
12
 
11
13
  export * from "./mint/mint-client";
@@ -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.getTransactionReceipt({ hash });
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
- ...premint,
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
- ...premint,
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
- }) as PremintSignatureRequestBody["premint"],
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
- ContractCreationConfig,
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: foundry,
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: "0x04E2516A2c207E84a1839755675dfd8eF6302F0a",
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
- "0x8c6a9160a0917d98c201b37c9220c17ebaed23a5f905202341c1d0d4e8673c3913880907d6de48c9858fbeb40a9a38d5edda979e4dcb133643ca8ecb4afe0b691b",
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: "0x04E2516A2c207E84a1839755675dfd8eF6302F0a",
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: 1,
115
+ version: 0,
166
116
  },
167
117
  premintConfigVersion: PremintConfigVersion.V1,
168
118
  signature:
169
- "0x588d19641de9ba1dade4d2bb5387c8dc96f4a990fef69787534b60caead759e6334975a6be10a796da948cd7d1d4f5580b3f84d49d9fa4e0b41c97759507975a1c",
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
- account: deployerAccount!,
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: foundry,
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
- "0xd0a9d8164911237430fe2c76ccfd4f53925a9e14e29da19b98ed5ed59e262b0d6ef24efe8b828b79e7b2fe5a60b81c3ce0f40b58d88619dcca131c87703d9f1f1c",
230
+ "0x8be7932b0b31bdb7fc9269b756e0d0c9514519f083d86576e23b73c033d8ed8440ea363bc8bba0ec5c30eb6bbdf796163a324201bc7520965037102518fb5e991c",
281
231
  };
282
232
 
283
233
  expect(premintClient.apiClient.postSignature).toHaveBeenCalledWith(