@@ -12,6 +12,7 @@ export const SET_TRANSFER_VALIDATOR_ABI = {
1212 type : 'function' ,
1313} as const ;
1414
15+ // Transfer Validator V3 ABI (uses uint120)
1516export const APPLY_LIST_TO_COLLECTION_ABI = {
1617 inputs : [
1718 {
@@ -31,6 +32,26 @@ export const APPLY_LIST_TO_COLLECTION_ABI = {
3132 type : 'function' ,
3233} as const ;
3334
35+ // Transfer Validator V5 ABI (uses uint48)
36+ export const APPLY_LIST_TO_COLLECTION_ABI_V5 = {
37+ inputs : [
38+ {
39+ internalType : 'address' ,
40+ name : 'collection' ,
41+ type : 'address' ,
42+ } ,
43+ {
44+ internalType : 'uint48' ,
45+ name : 'id' ,
46+ type : 'uint48' ,
47+ } ,
48+ ] ,
49+ name : 'applyListToCollection' ,
50+ outputs : [ ] ,
51+ stateMutability : 'nonpayable' ,
52+ type : 'function' ,
53+ } as const ;
54+
3455export const IS_SETUP_LOCKED_ABI = {
3556 inputs : [ ] ,
3657 name : 'isSetupLocked' ,
@@ -65,16 +86,32 @@ export const SUPPORTS_INTERFACE_ABI = {
6586 ] ,
6687} as const ;
6788
89+ // Legacy event (version 1.0.0, 1.0.1)
90+ export const NEW_CONTRACT_INITIALIZED_EVENT_ABI_LEGACY = {
91+ name : 'NewContractInitialized' ,
92+ type : 'event' ,
93+ inputs : [
94+ { name : 'contractAddress' , type : 'address' , indexed : false } ,
95+ { name : 'creator' , type : 'address' , indexed : false } ,
96+ { name : 'implId' , type : 'uint32' , indexed : false } ,
97+ { name : 'standardId' , type : 'uint8' , indexed : false } ,
98+ { name : 'name' , type : 'string' , indexed : false } ,
99+ { name : 'symbol' , type : 'string' , indexed : false } ,
100+ ] ,
101+ } as const ;
102+
103+ // New event (version >= 1.0.2) - includes an additional uint256 parameter
68104export const NEW_CONTRACT_INITIALIZED_EVENT_ABI = {
69105 name : 'NewContractInitialized' ,
70106 type : 'event' ,
71107 inputs : [
72- { name : 'contractAddress' , type : 'address' } ,
73- { name : 'creator' , type : 'address' } ,
74- { name : 'implId' , type : 'uint32' } ,
75- { name : 'standardId' , type : 'uint8' } ,
76- { name : 'name' , type : 'string' } ,
77- { name : 'symbol' , type : 'string' } ,
108+ { name : 'contractAddress' , type : 'address' , indexed : false } ,
109+ { name : 'creator' , type : 'address' , indexed : false } ,
110+ { name : 'implId' , type : 'uint32' , indexed : false } ,
111+ { name : 'standardId' , type : 'uint8' , indexed : false } ,
112+ { name : 'name' , type : 'string' , indexed : false } ,
113+ { name : 'symbol' , type : 'string' , indexed : false } ,
114+ { name : 'version' , type : 'uint256' , indexed : false } ,
78115 ] ,
79116} as const ;
80117
@@ -258,7 +295,8 @@ export const ERC712M_ABIS = {
258295 stateMutability : 'nonpayable' ,
259296 type : 'function' ,
260297 } ,
261- setStages : {
298+ // Legacy ABI (version 1.0.0, 1.0.1) - includes mintFee field
299+ setStagesLegacy : {
262300 inputs : [
263301 {
264302 components : [
@@ -308,6 +346,52 @@ export const ERC712M_ABIS = {
308346 stateMutability : 'nonpayable' ,
309347 type : 'function' ,
310348 } ,
349+ // New ABI (version >= 1.0.2) - no mintFee field
350+ setStages : {
351+ inputs : [
352+ {
353+ components : [
354+ {
355+ internalType : 'uint80' ,
356+ name : 'price' ,
357+ type : 'uint80' ,
358+ } ,
359+ {
360+ internalType : 'uint32' ,
361+ name : 'walletLimit' ,
362+ type : 'uint32' ,
363+ } ,
364+ {
365+ internalType : 'bytes32' ,
366+ name : 'merkleRoot' ,
367+ type : 'bytes32' ,
368+ } ,
369+ {
370+ internalType : 'uint24' ,
371+ name : 'maxStageSupply' ,
372+ type : 'uint24' ,
373+ } ,
374+ {
375+ internalType : 'uint256' ,
376+ name : 'startTimeUnixSeconds' ,
377+ type : 'uint256' ,
378+ } ,
379+ {
380+ internalType : 'uint256' ,
381+ name : 'endTimeUnixSeconds' ,
382+ type : 'uint256' ,
383+ } ,
384+ ] ,
385+ internalType : 'struct IERC721M.MintStageInfo[]' ,
386+ name : 'newStages' ,
387+ type : 'tuple[]' ,
388+ } ,
389+ ] ,
390+ name : 'setStages' ,
391+ outputs : [ ] ,
392+ stateMutability : 'nonpayable' ,
393+ type : 'function' ,
394+ } ,
311395 setGlobalWalletLimit : {
312396 inputs : [
313397 {
@@ -503,7 +587,8 @@ export const ERC1155M_ABIS = {
503587 stateMutability : 'nonpayable' ,
504588 type : 'function' ,
505589 } ,
506- setStages : {
590+ // Legacy ABI (version 1.0.0, 1.0.1) - includes mintFee field
591+ setStagesLegacy : {
507592 inputs : [
508593 {
509594 components : [
@@ -553,6 +638,52 @@ export const ERC1155M_ABIS = {
553638 stateMutability : 'nonpayable' ,
554639 type : 'function' ,
555640 } ,
641+ // New ABI (version >= 1.0.2) - no mintFee field
642+ setStages : {
643+ inputs : [
644+ {
645+ components : [
646+ {
647+ internalType : 'uint80[]' ,
648+ name : 'price' ,
649+ type : 'uint80[]' ,
650+ } ,
651+ {
652+ internalType : 'uint32[]' ,
653+ name : 'walletLimit' ,
654+ type : 'uint32[]' ,
655+ } ,
656+ {
657+ internalType : 'bytes32[]' ,
658+ name : 'merkleRoot' ,
659+ type : 'bytes32[]' ,
660+ } ,
661+ {
662+ internalType : 'uint24[]' ,
663+ name : 'maxStageSupply' ,
664+ type : 'uint24[]' ,
665+ } ,
666+ {
667+ internalType : 'uint256' ,
668+ name : 'startTimeUnixSeconds' ,
669+ type : 'uint256' ,
670+ } ,
671+ {
672+ internalType : 'uint256' ,
673+ name : 'endTimeUnixSeconds' ,
674+ type : 'uint256' ,
675+ } ,
676+ ] ,
677+ internalType : 'struct IERC1155M.MintStageInfo[]' ,
678+ name : 'newStages' ,
679+ type : 'tuple[]' ,
680+ } ,
681+ ] ,
682+ name : 'setStages' ,
683+ outputs : [ ] ,
684+ stateMutability : 'nonpayable' ,
685+ type : 'function' ,
686+ } ,
556687 setGlobalWalletLimit : {
557688 inputs : [
558689 {
0 commit comments