@gitmyabi/gdog 1.0.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.
@@ -0,0 +1,3446 @@
1
+ import type { Abi, Address, PublicClient, WalletClient, GetContractReturnType } from 'viem';
2
+ import { getContract } from 'viem';
3
+
4
+
5
+ /**
6
+ * ERC721SeaDropStructsErrorsAndEvents.MultiConfigureStruct struct type
7
+ */
8
+ export type ERC721SeaDropStructsErrorsAndEvents_MultiConfigureStruct = {
9
+ maxSupply: bigint;
10
+ baseURI: string;
11
+ contractURI: string;
12
+ seaDropImpl: `0x${string}`;
13
+ publicDrop: PublicDrop;
14
+ dropURI: string;
15
+ allowListData: AllowListData;
16
+ creatorPayoutAddress: `0x${string}`;
17
+ provenanceHash: `0x${string}`;
18
+ allowedFeeRecipients: `0x${string}`[];
19
+ disallowedFeeRecipients: `0x${string}`[];
20
+ allowedPayers: `0x${string}`[];
21
+ disallowedPayers: `0x${string}`[];
22
+ tokenGatedAllowedNftTokens: `0x${string}`[];
23
+ tokenGatedDropStages: TokenGatedDropStage[];
24
+ disallowedTokenGatedAllowedNftTokens: `0x${string}`[];
25
+ signers: `0x${string}`[];
26
+ signedMintValidationParams: SignedMintValidationParams[];
27
+ disallowedSigners: `0x${string}`[];
28
+ };
29
+
30
+ /**
31
+ * PublicDrop struct type
32
+ */
33
+ export type PublicDrop = {
34
+ mintPrice: bigint;
35
+ startTime: bigint;
36
+ endTime: bigint;
37
+ maxTotalMintableByWallet: bigint;
38
+ feeBps: bigint;
39
+ restrictFeeRecipients: boolean;
40
+ };
41
+
42
+ /**
43
+ * AllowListData struct type
44
+ */
45
+ export type AllowListData = {
46
+ merkleRoot: `0x${string}`;
47
+ publicKeyURIs: string[];
48
+ allowListURI: string;
49
+ };
50
+
51
+ /**
52
+ * TokenGatedDropStage struct type
53
+ */
54
+ export type TokenGatedDropStage = {
55
+ mintPrice: bigint;
56
+ maxTotalMintableByWallet: bigint;
57
+ startTime: bigint;
58
+ endTime: bigint;
59
+ dropStageIndex: bigint;
60
+ maxTokenSupplyForStage: bigint;
61
+ feeBps: bigint;
62
+ restrictFeeRecipients: boolean;
63
+ };
64
+
65
+ /**
66
+ * SignedMintValidationParams struct type
67
+ */
68
+ export type SignedMintValidationParams = {
69
+ minMintPrice: bigint;
70
+ maxMaxTotalMintableByWallet: bigint;
71
+ minStartTime: bigint;
72
+ maxEndTime: bigint;
73
+ maxMaxTokenSupplyForStage: bigint;
74
+ minFeeBps: bigint;
75
+ maxFeeBps: bigint;
76
+ };
77
+
78
+ /**
79
+ * ISeaDropTokenContractMetadata.RoyaltyInfo struct type
80
+ */
81
+ export type ISeaDropTokenContractMetadata_RoyaltyInfo = {
82
+ royaltyAddress: `0x${string}`;
83
+ royaltyBps: bigint;
84
+ };
85
+ /**
86
+ * ERC721SeaDropCloneable_json ABI
87
+ *
88
+ * This ABI is typed using viem's type system for full type safety.
89
+ */
90
+ export const ERC721SeaDropCloneable_jsonAbi = [
91
+ {
92
+ "inputs": [],
93
+ "name": "AlreadyInitialized",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [],
98
+ "name": "ApprovalCallerNotOwnerNorApproved",
99
+ "type": "error"
100
+ },
101
+ {
102
+ "inputs": [],
103
+ "name": "ApprovalQueryForNonexistentToken",
104
+ "type": "error"
105
+ },
106
+ {
107
+ "inputs": [],
108
+ "name": "BalanceQueryForZeroAddress",
109
+ "type": "error"
110
+ },
111
+ {
112
+ "inputs": [
113
+ {
114
+ "internalType": "uint256",
115
+ "name": "newMaxSupply",
116
+ "type": "uint256"
117
+ }
118
+ ],
119
+ "name": "CannotExceedMaxSupplyOfUint64",
120
+ "type": "error"
121
+ },
122
+ {
123
+ "inputs": [
124
+ {
125
+ "internalType": "uint256",
126
+ "name": "basisPoints",
127
+ "type": "uint256"
128
+ }
129
+ ],
130
+ "name": "InvalidRoyaltyBasisPoints",
131
+ "type": "error"
132
+ },
133
+ {
134
+ "inputs": [],
135
+ "name": "MintERC2309QuantityExceedsLimit",
136
+ "type": "error"
137
+ },
138
+ {
139
+ "inputs": [
140
+ {
141
+ "internalType": "uint256",
142
+ "name": "total",
143
+ "type": "uint256"
144
+ },
145
+ {
146
+ "internalType": "uint256",
147
+ "name": "maxSupply",
148
+ "type": "uint256"
149
+ }
150
+ ],
151
+ "name": "MintQuantityExceedsMaxSupply",
152
+ "type": "error"
153
+ },
154
+ {
155
+ "inputs": [],
156
+ "name": "MintToZeroAddress",
157
+ "type": "error"
158
+ },
159
+ {
160
+ "inputs": [],
161
+ "name": "MintZeroQuantity",
162
+ "type": "error"
163
+ },
164
+ {
165
+ "inputs": [],
166
+ "name": "NewOwnerIsZeroAddress",
167
+ "type": "error"
168
+ },
169
+ {
170
+ "inputs": [],
171
+ "name": "NotNextOwner",
172
+ "type": "error"
173
+ },
174
+ {
175
+ "inputs": [],
176
+ "name": "OnlyAllowedSeaDrop",
177
+ "type": "error"
178
+ },
179
+ {
180
+ "inputs": [],
181
+ "name": "OnlyOwner",
182
+ "type": "error"
183
+ },
184
+ {
185
+ "inputs": [],
186
+ "name": "OwnerQueryForNonexistentToken",
187
+ "type": "error"
188
+ },
189
+ {
190
+ "inputs": [],
191
+ "name": "OwnershipNotInitializedForExtraData",
192
+ "type": "error"
193
+ },
194
+ {
195
+ "inputs": [],
196
+ "name": "ProvenanceHashCannotBeSetAfterMintStarted",
197
+ "type": "error"
198
+ },
199
+ {
200
+ "inputs": [],
201
+ "name": "RoyaltyAddressCannotBeZeroAddress",
202
+ "type": "error"
203
+ },
204
+ {
205
+ "inputs": [],
206
+ "name": "SameTransferValidator",
207
+ "type": "error"
208
+ },
209
+ {
210
+ "inputs": [],
211
+ "name": "SignersMismatch",
212
+ "type": "error"
213
+ },
214
+ {
215
+ "inputs": [],
216
+ "name": "TokenGatedMismatch",
217
+ "type": "error"
218
+ },
219
+ {
220
+ "inputs": [],
221
+ "name": "TransferCallerNotOwnerNorApproved",
222
+ "type": "error"
223
+ },
224
+ {
225
+ "inputs": [],
226
+ "name": "TransferFromIncorrectOwner",
227
+ "type": "error"
228
+ },
229
+ {
230
+ "inputs": [],
231
+ "name": "TransferToNonERC721ReceiverImplementer",
232
+ "type": "error"
233
+ },
234
+ {
235
+ "inputs": [],
236
+ "name": "TransferToZeroAddress",
237
+ "type": "error"
238
+ },
239
+ {
240
+ "inputs": [],
241
+ "name": "URIQueryForNonexistentToken",
242
+ "type": "error"
243
+ },
244
+ {
245
+ "anonymous": false,
246
+ "inputs": [
247
+ {
248
+ "indexed": false,
249
+ "internalType": "address[]",
250
+ "name": "allowedSeaDrop",
251
+ "type": "address[]"
252
+ }
253
+ ],
254
+ "name": "AllowedSeaDropUpdated",
255
+ "type": "event"
256
+ },
257
+ {
258
+ "anonymous": false,
259
+ "inputs": [
260
+ {
261
+ "indexed": true,
262
+ "internalType": "address",
263
+ "name": "owner",
264
+ "type": "address"
265
+ },
266
+ {
267
+ "indexed": true,
268
+ "internalType": "address",
269
+ "name": "approved",
270
+ "type": "address"
271
+ },
272
+ {
273
+ "indexed": true,
274
+ "internalType": "uint256",
275
+ "name": "tokenId",
276
+ "type": "uint256"
277
+ }
278
+ ],
279
+ "name": "Approval",
280
+ "type": "event"
281
+ },
282
+ {
283
+ "anonymous": false,
284
+ "inputs": [
285
+ {
286
+ "indexed": true,
287
+ "internalType": "address",
288
+ "name": "owner",
289
+ "type": "address"
290
+ },
291
+ {
292
+ "indexed": true,
293
+ "internalType": "address",
294
+ "name": "operator",
295
+ "type": "address"
296
+ },
297
+ {
298
+ "indexed": false,
299
+ "internalType": "bool",
300
+ "name": "approved",
301
+ "type": "bool"
302
+ }
303
+ ],
304
+ "name": "ApprovalForAll",
305
+ "type": "event"
306
+ },
307
+ {
308
+ "anonymous": false,
309
+ "inputs": [
310
+ {
311
+ "indexed": false,
312
+ "internalType": "uint256",
313
+ "name": "_fromTokenId",
314
+ "type": "uint256"
315
+ },
316
+ {
317
+ "indexed": false,
318
+ "internalType": "uint256",
319
+ "name": "_toTokenId",
320
+ "type": "uint256"
321
+ }
322
+ ],
323
+ "name": "BatchMetadataUpdate",
324
+ "type": "event"
325
+ },
326
+ {
327
+ "anonymous": false,
328
+ "inputs": [
329
+ {
330
+ "indexed": true,
331
+ "internalType": "uint256",
332
+ "name": "fromTokenId",
333
+ "type": "uint256"
334
+ },
335
+ {
336
+ "indexed": false,
337
+ "internalType": "uint256",
338
+ "name": "toTokenId",
339
+ "type": "uint256"
340
+ },
341
+ {
342
+ "indexed": true,
343
+ "internalType": "address",
344
+ "name": "from",
345
+ "type": "address"
346
+ },
347
+ {
348
+ "indexed": true,
349
+ "internalType": "address",
350
+ "name": "to",
351
+ "type": "address"
352
+ }
353
+ ],
354
+ "name": "ConsecutiveTransfer",
355
+ "type": "event"
356
+ },
357
+ {
358
+ "anonymous": false,
359
+ "inputs": [
360
+ {
361
+ "indexed": false,
362
+ "internalType": "string",
363
+ "name": "newContractURI",
364
+ "type": "string"
365
+ }
366
+ ],
367
+ "name": "ContractURIUpdated",
368
+ "type": "event"
369
+ },
370
+ {
371
+ "anonymous": false,
372
+ "inputs": [
373
+ {
374
+ "indexed": false,
375
+ "internalType": "uint8",
376
+ "name": "version",
377
+ "type": "uint8"
378
+ }
379
+ ],
380
+ "name": "Initialized",
381
+ "type": "event"
382
+ },
383
+ {
384
+ "anonymous": false,
385
+ "inputs": [
386
+ {
387
+ "indexed": false,
388
+ "internalType": "uint256",
389
+ "name": "newMaxSupply",
390
+ "type": "uint256"
391
+ }
392
+ ],
393
+ "name": "MaxSupplyUpdated",
394
+ "type": "event"
395
+ },
396
+ {
397
+ "anonymous": false,
398
+ "inputs": [
399
+ {
400
+ "indexed": true,
401
+ "internalType": "address",
402
+ "name": "previousOwner",
403
+ "type": "address"
404
+ },
405
+ {
406
+ "indexed": true,
407
+ "internalType": "address",
408
+ "name": "newOwner",
409
+ "type": "address"
410
+ }
411
+ ],
412
+ "name": "OwnershipTransferred",
413
+ "type": "event"
414
+ },
415
+ {
416
+ "anonymous": false,
417
+ "inputs": [
418
+ {
419
+ "indexed": false,
420
+ "internalType": "address",
421
+ "name": "newPotentialAdministrator",
422
+ "type": "address"
423
+ }
424
+ ],
425
+ "name": "PotentialOwnerUpdated",
426
+ "type": "event"
427
+ },
428
+ {
429
+ "anonymous": false,
430
+ "inputs": [
431
+ {
432
+ "indexed": false,
433
+ "internalType": "bytes32",
434
+ "name": "previousHash",
435
+ "type": "bytes32"
436
+ },
437
+ {
438
+ "indexed": false,
439
+ "internalType": "bytes32",
440
+ "name": "newHash",
441
+ "type": "bytes32"
442
+ }
443
+ ],
444
+ "name": "ProvenanceHashUpdated",
445
+ "type": "event"
446
+ },
447
+ {
448
+ "anonymous": false,
449
+ "inputs": [
450
+ {
451
+ "indexed": false,
452
+ "internalType": "address",
453
+ "name": "receiver",
454
+ "type": "address"
455
+ },
456
+ {
457
+ "indexed": false,
458
+ "internalType": "uint256",
459
+ "name": "bps",
460
+ "type": "uint256"
461
+ }
462
+ ],
463
+ "name": "RoyaltyInfoUpdated",
464
+ "type": "event"
465
+ },
466
+ {
467
+ "anonymous": false,
468
+ "inputs": [],
469
+ "name": "SeaDropTokenDeployed",
470
+ "type": "event"
471
+ },
472
+ {
473
+ "anonymous": false,
474
+ "inputs": [
475
+ {
476
+ "indexed": true,
477
+ "internalType": "address",
478
+ "name": "from",
479
+ "type": "address"
480
+ },
481
+ {
482
+ "indexed": true,
483
+ "internalType": "address",
484
+ "name": "to",
485
+ "type": "address"
486
+ },
487
+ {
488
+ "indexed": true,
489
+ "internalType": "uint256",
490
+ "name": "tokenId",
491
+ "type": "uint256"
492
+ }
493
+ ],
494
+ "name": "Transfer",
495
+ "type": "event"
496
+ },
497
+ {
498
+ "anonymous": false,
499
+ "inputs": [
500
+ {
501
+ "indexed": false,
502
+ "internalType": "address",
503
+ "name": "oldValidator",
504
+ "type": "address"
505
+ },
506
+ {
507
+ "indexed": false,
508
+ "internalType": "address",
509
+ "name": "newValidator",
510
+ "type": "address"
511
+ }
512
+ ],
513
+ "name": "TransferValidatorUpdated",
514
+ "type": "event"
515
+ },
516
+ {
517
+ "inputs": [],
518
+ "name": "acceptOwnership",
519
+ "outputs": [],
520
+ "stateMutability": "nonpayable",
521
+ "type": "function"
522
+ },
523
+ {
524
+ "inputs": [
525
+ {
526
+ "internalType": "address",
527
+ "name": "to",
528
+ "type": "address"
529
+ },
530
+ {
531
+ "internalType": "uint256",
532
+ "name": "tokenId",
533
+ "type": "uint256"
534
+ }
535
+ ],
536
+ "name": "approve",
537
+ "outputs": [],
538
+ "stateMutability": "nonpayable",
539
+ "type": "function"
540
+ },
541
+ {
542
+ "inputs": [
543
+ {
544
+ "internalType": "address",
545
+ "name": "owner",
546
+ "type": "address"
547
+ }
548
+ ],
549
+ "name": "balanceOf",
550
+ "outputs": [
551
+ {
552
+ "internalType": "uint256",
553
+ "name": "",
554
+ "type": "uint256"
555
+ }
556
+ ],
557
+ "stateMutability": "view",
558
+ "type": "function"
559
+ },
560
+ {
561
+ "inputs": [],
562
+ "name": "baseURI",
563
+ "outputs": [
564
+ {
565
+ "internalType": "string",
566
+ "name": "",
567
+ "type": "string"
568
+ }
569
+ ],
570
+ "stateMutability": "view",
571
+ "type": "function"
572
+ },
573
+ {
574
+ "inputs": [
575
+ {
576
+ "internalType": "uint256",
577
+ "name": "tokenId",
578
+ "type": "uint256"
579
+ }
580
+ ],
581
+ "name": "burn",
582
+ "outputs": [],
583
+ "stateMutability": "nonpayable",
584
+ "type": "function"
585
+ },
586
+ {
587
+ "inputs": [],
588
+ "name": "cancelOwnershipTransfer",
589
+ "outputs": [],
590
+ "stateMutability": "nonpayable",
591
+ "type": "function"
592
+ },
593
+ {
594
+ "inputs": [],
595
+ "name": "contractURI",
596
+ "outputs": [
597
+ {
598
+ "internalType": "string",
599
+ "name": "",
600
+ "type": "string"
601
+ }
602
+ ],
603
+ "stateMutability": "view",
604
+ "type": "function"
605
+ },
606
+ {
607
+ "inputs": [
608
+ {
609
+ "internalType": "uint256",
610
+ "name": "fromTokenId",
611
+ "type": "uint256"
612
+ },
613
+ {
614
+ "internalType": "uint256",
615
+ "name": "toTokenId",
616
+ "type": "uint256"
617
+ }
618
+ ],
619
+ "name": "emitBatchMetadataUpdate",
620
+ "outputs": [],
621
+ "stateMutability": "nonpayable",
622
+ "type": "function"
623
+ },
624
+ {
625
+ "inputs": [
626
+ {
627
+ "internalType": "uint256",
628
+ "name": "tokenId",
629
+ "type": "uint256"
630
+ }
631
+ ],
632
+ "name": "getApproved",
633
+ "outputs": [
634
+ {
635
+ "internalType": "address",
636
+ "name": "",
637
+ "type": "address"
638
+ }
639
+ ],
640
+ "stateMutability": "view",
641
+ "type": "function"
642
+ },
643
+ {
644
+ "inputs": [
645
+ {
646
+ "internalType": "address",
647
+ "name": "minter",
648
+ "type": "address"
649
+ }
650
+ ],
651
+ "name": "getMintStats",
652
+ "outputs": [
653
+ {
654
+ "internalType": "uint256",
655
+ "name": "minterNumMinted",
656
+ "type": "uint256"
657
+ },
658
+ {
659
+ "internalType": "uint256",
660
+ "name": "currentTotalSupply",
661
+ "type": "uint256"
662
+ },
663
+ {
664
+ "internalType": "uint256",
665
+ "name": "maxSupply",
666
+ "type": "uint256"
667
+ }
668
+ ],
669
+ "stateMutability": "view",
670
+ "type": "function"
671
+ },
672
+ {
673
+ "inputs": [],
674
+ "name": "getTransferValidationFunction",
675
+ "outputs": [
676
+ {
677
+ "internalType": "bytes4",
678
+ "name": "functionSignature",
679
+ "type": "bytes4"
680
+ },
681
+ {
682
+ "internalType": "bool",
683
+ "name": "isViewFunction",
684
+ "type": "bool"
685
+ }
686
+ ],
687
+ "stateMutability": "pure",
688
+ "type": "function"
689
+ },
690
+ {
691
+ "inputs": [],
692
+ "name": "getTransferValidator",
693
+ "outputs": [
694
+ {
695
+ "internalType": "address",
696
+ "name": "",
697
+ "type": "address"
698
+ }
699
+ ],
700
+ "stateMutability": "view",
701
+ "type": "function"
702
+ },
703
+ {
704
+ "inputs": [
705
+ {
706
+ "internalType": "string",
707
+ "name": "__name",
708
+ "type": "string"
709
+ },
710
+ {
711
+ "internalType": "string",
712
+ "name": "__symbol",
713
+ "type": "string"
714
+ },
715
+ {
716
+ "internalType": "address[]",
717
+ "name": "allowedSeaDrop",
718
+ "type": "address[]"
719
+ },
720
+ {
721
+ "internalType": "address",
722
+ "name": "initialOwner",
723
+ "type": "address"
724
+ }
725
+ ],
726
+ "name": "initialize",
727
+ "outputs": [],
728
+ "stateMutability": "nonpayable",
729
+ "type": "function"
730
+ },
731
+ {
732
+ "inputs": [
733
+ {
734
+ "internalType": "address",
735
+ "name": "owner",
736
+ "type": "address"
737
+ },
738
+ {
739
+ "internalType": "address",
740
+ "name": "operator",
741
+ "type": "address"
742
+ }
743
+ ],
744
+ "name": "isApprovedForAll",
745
+ "outputs": [
746
+ {
747
+ "internalType": "bool",
748
+ "name": "",
749
+ "type": "bool"
750
+ }
751
+ ],
752
+ "stateMutability": "view",
753
+ "type": "function"
754
+ },
755
+ {
756
+ "inputs": [],
757
+ "name": "maxSupply",
758
+ "outputs": [
759
+ {
760
+ "internalType": "uint256",
761
+ "name": "",
762
+ "type": "uint256"
763
+ }
764
+ ],
765
+ "stateMutability": "view",
766
+ "type": "function"
767
+ },
768
+ {
769
+ "inputs": [
770
+ {
771
+ "internalType": "address",
772
+ "name": "minter",
773
+ "type": "address"
774
+ },
775
+ {
776
+ "internalType": "uint256",
777
+ "name": "quantity",
778
+ "type": "uint256"
779
+ }
780
+ ],
781
+ "name": "mintSeaDrop",
782
+ "outputs": [],
783
+ "stateMutability": "nonpayable",
784
+ "type": "function"
785
+ },
786
+ {
787
+ "inputs": [
788
+ {
789
+ "components": [
790
+ {
791
+ "internalType": "uint256",
792
+ "name": "maxSupply",
793
+ "type": "uint256"
794
+ },
795
+ {
796
+ "internalType": "string",
797
+ "name": "baseURI",
798
+ "type": "string"
799
+ },
800
+ {
801
+ "internalType": "string",
802
+ "name": "contractURI",
803
+ "type": "string"
804
+ },
805
+ {
806
+ "internalType": "address",
807
+ "name": "seaDropImpl",
808
+ "type": "address"
809
+ },
810
+ {
811
+ "components": [
812
+ {
813
+ "internalType": "uint80",
814
+ "name": "mintPrice",
815
+ "type": "uint80"
816
+ },
817
+ {
818
+ "internalType": "uint48",
819
+ "name": "startTime",
820
+ "type": "uint48"
821
+ },
822
+ {
823
+ "internalType": "uint48",
824
+ "name": "endTime",
825
+ "type": "uint48"
826
+ },
827
+ {
828
+ "internalType": "uint16",
829
+ "name": "maxTotalMintableByWallet",
830
+ "type": "uint16"
831
+ },
832
+ {
833
+ "internalType": "uint16",
834
+ "name": "feeBps",
835
+ "type": "uint16"
836
+ },
837
+ {
838
+ "internalType": "bool",
839
+ "name": "restrictFeeRecipients",
840
+ "type": "bool"
841
+ }
842
+ ],
843
+ "internalType": "struct PublicDrop",
844
+ "name": "publicDrop",
845
+ "type": "tuple"
846
+ },
847
+ {
848
+ "internalType": "string",
849
+ "name": "dropURI",
850
+ "type": "string"
851
+ },
852
+ {
853
+ "components": [
854
+ {
855
+ "internalType": "bytes32",
856
+ "name": "merkleRoot",
857
+ "type": "bytes32"
858
+ },
859
+ {
860
+ "internalType": "string[]",
861
+ "name": "publicKeyURIs",
862
+ "type": "string[]"
863
+ },
864
+ {
865
+ "internalType": "string",
866
+ "name": "allowListURI",
867
+ "type": "string"
868
+ }
869
+ ],
870
+ "internalType": "struct AllowListData",
871
+ "name": "allowListData",
872
+ "type": "tuple"
873
+ },
874
+ {
875
+ "internalType": "address",
876
+ "name": "creatorPayoutAddress",
877
+ "type": "address"
878
+ },
879
+ {
880
+ "internalType": "bytes32",
881
+ "name": "provenanceHash",
882
+ "type": "bytes32"
883
+ },
884
+ {
885
+ "internalType": "address[]",
886
+ "name": "allowedFeeRecipients",
887
+ "type": "address[]"
888
+ },
889
+ {
890
+ "internalType": "address[]",
891
+ "name": "disallowedFeeRecipients",
892
+ "type": "address[]"
893
+ },
894
+ {
895
+ "internalType": "address[]",
896
+ "name": "allowedPayers",
897
+ "type": "address[]"
898
+ },
899
+ {
900
+ "internalType": "address[]",
901
+ "name": "disallowedPayers",
902
+ "type": "address[]"
903
+ },
904
+ {
905
+ "internalType": "address[]",
906
+ "name": "tokenGatedAllowedNftTokens",
907
+ "type": "address[]"
908
+ },
909
+ {
910
+ "components": [
911
+ {
912
+ "internalType": "uint80",
913
+ "name": "mintPrice",
914
+ "type": "uint80"
915
+ },
916
+ {
917
+ "internalType": "uint16",
918
+ "name": "maxTotalMintableByWallet",
919
+ "type": "uint16"
920
+ },
921
+ {
922
+ "internalType": "uint48",
923
+ "name": "startTime",
924
+ "type": "uint48"
925
+ },
926
+ {
927
+ "internalType": "uint48",
928
+ "name": "endTime",
929
+ "type": "uint48"
930
+ },
931
+ {
932
+ "internalType": "uint8",
933
+ "name": "dropStageIndex",
934
+ "type": "uint8"
935
+ },
936
+ {
937
+ "internalType": "uint32",
938
+ "name": "maxTokenSupplyForStage",
939
+ "type": "uint32"
940
+ },
941
+ {
942
+ "internalType": "uint16",
943
+ "name": "feeBps",
944
+ "type": "uint16"
945
+ },
946
+ {
947
+ "internalType": "bool",
948
+ "name": "restrictFeeRecipients",
949
+ "type": "bool"
950
+ }
951
+ ],
952
+ "internalType": "struct TokenGatedDropStage[]",
953
+ "name": "tokenGatedDropStages",
954
+ "type": "tuple[]"
955
+ },
956
+ {
957
+ "internalType": "address[]",
958
+ "name": "disallowedTokenGatedAllowedNftTokens",
959
+ "type": "address[]"
960
+ },
961
+ {
962
+ "internalType": "address[]",
963
+ "name": "signers",
964
+ "type": "address[]"
965
+ },
966
+ {
967
+ "components": [
968
+ {
969
+ "internalType": "uint80",
970
+ "name": "minMintPrice",
971
+ "type": "uint80"
972
+ },
973
+ {
974
+ "internalType": "uint24",
975
+ "name": "maxMaxTotalMintableByWallet",
976
+ "type": "uint24"
977
+ },
978
+ {
979
+ "internalType": "uint40",
980
+ "name": "minStartTime",
981
+ "type": "uint40"
982
+ },
983
+ {
984
+ "internalType": "uint40",
985
+ "name": "maxEndTime",
986
+ "type": "uint40"
987
+ },
988
+ {
989
+ "internalType": "uint40",
990
+ "name": "maxMaxTokenSupplyForStage",
991
+ "type": "uint40"
992
+ },
993
+ {
994
+ "internalType": "uint16",
995
+ "name": "minFeeBps",
996
+ "type": "uint16"
997
+ },
998
+ {
999
+ "internalType": "uint16",
1000
+ "name": "maxFeeBps",
1001
+ "type": "uint16"
1002
+ }
1003
+ ],
1004
+ "internalType": "struct SignedMintValidationParams[]",
1005
+ "name": "signedMintValidationParams",
1006
+ "type": "tuple[]"
1007
+ },
1008
+ {
1009
+ "internalType": "address[]",
1010
+ "name": "disallowedSigners",
1011
+ "type": "address[]"
1012
+ }
1013
+ ],
1014
+ "internalType": "struct ERC721SeaDropStructsErrorsAndEvents.MultiConfigureStruct",
1015
+ "name": "config",
1016
+ "type": "tuple"
1017
+ }
1018
+ ],
1019
+ "name": "multiConfigure",
1020
+ "outputs": [],
1021
+ "stateMutability": "nonpayable",
1022
+ "type": "function"
1023
+ },
1024
+ {
1025
+ "inputs": [],
1026
+ "name": "name",
1027
+ "outputs": [
1028
+ {
1029
+ "internalType": "string",
1030
+ "name": "",
1031
+ "type": "string"
1032
+ }
1033
+ ],
1034
+ "stateMutability": "view",
1035
+ "type": "function"
1036
+ },
1037
+ {
1038
+ "inputs": [],
1039
+ "name": "owner",
1040
+ "outputs": [
1041
+ {
1042
+ "internalType": "address",
1043
+ "name": "",
1044
+ "type": "address"
1045
+ }
1046
+ ],
1047
+ "stateMutability": "view",
1048
+ "type": "function"
1049
+ },
1050
+ {
1051
+ "inputs": [
1052
+ {
1053
+ "internalType": "uint256",
1054
+ "name": "tokenId",
1055
+ "type": "uint256"
1056
+ }
1057
+ ],
1058
+ "name": "ownerOf",
1059
+ "outputs": [
1060
+ {
1061
+ "internalType": "address",
1062
+ "name": "",
1063
+ "type": "address"
1064
+ }
1065
+ ],
1066
+ "stateMutability": "view",
1067
+ "type": "function"
1068
+ },
1069
+ {
1070
+ "inputs": [],
1071
+ "name": "provenanceHash",
1072
+ "outputs": [
1073
+ {
1074
+ "internalType": "bytes32",
1075
+ "name": "",
1076
+ "type": "bytes32"
1077
+ }
1078
+ ],
1079
+ "stateMutability": "view",
1080
+ "type": "function"
1081
+ },
1082
+ {
1083
+ "inputs": [],
1084
+ "name": "renounceOwnership",
1085
+ "outputs": [],
1086
+ "stateMutability": "nonpayable",
1087
+ "type": "function"
1088
+ },
1089
+ {
1090
+ "inputs": [],
1091
+ "name": "royaltyAddress",
1092
+ "outputs": [
1093
+ {
1094
+ "internalType": "address",
1095
+ "name": "",
1096
+ "type": "address"
1097
+ }
1098
+ ],
1099
+ "stateMutability": "view",
1100
+ "type": "function"
1101
+ },
1102
+ {
1103
+ "inputs": [],
1104
+ "name": "royaltyBasisPoints",
1105
+ "outputs": [
1106
+ {
1107
+ "internalType": "uint256",
1108
+ "name": "",
1109
+ "type": "uint256"
1110
+ }
1111
+ ],
1112
+ "stateMutability": "view",
1113
+ "type": "function"
1114
+ },
1115
+ {
1116
+ "inputs": [
1117
+ {
1118
+ "internalType": "uint256",
1119
+ "name": "",
1120
+ "type": "uint256"
1121
+ },
1122
+ {
1123
+ "internalType": "uint256",
1124
+ "name": "_salePrice",
1125
+ "type": "uint256"
1126
+ }
1127
+ ],
1128
+ "name": "royaltyInfo",
1129
+ "outputs": [
1130
+ {
1131
+ "internalType": "address",
1132
+ "name": "receiver",
1133
+ "type": "address"
1134
+ },
1135
+ {
1136
+ "internalType": "uint256",
1137
+ "name": "royaltyAmount",
1138
+ "type": "uint256"
1139
+ }
1140
+ ],
1141
+ "stateMutability": "view",
1142
+ "type": "function"
1143
+ },
1144
+ {
1145
+ "inputs": [
1146
+ {
1147
+ "internalType": "address",
1148
+ "name": "from",
1149
+ "type": "address"
1150
+ },
1151
+ {
1152
+ "internalType": "address",
1153
+ "name": "to",
1154
+ "type": "address"
1155
+ },
1156
+ {
1157
+ "internalType": "uint256",
1158
+ "name": "tokenId",
1159
+ "type": "uint256"
1160
+ }
1161
+ ],
1162
+ "name": "safeTransferFrom",
1163
+ "outputs": [],
1164
+ "stateMutability": "nonpayable",
1165
+ "type": "function"
1166
+ },
1167
+ {
1168
+ "inputs": [
1169
+ {
1170
+ "internalType": "address",
1171
+ "name": "from",
1172
+ "type": "address"
1173
+ },
1174
+ {
1175
+ "internalType": "address",
1176
+ "name": "to",
1177
+ "type": "address"
1178
+ },
1179
+ {
1180
+ "internalType": "uint256",
1181
+ "name": "tokenId",
1182
+ "type": "uint256"
1183
+ },
1184
+ {
1185
+ "internalType": "bytes",
1186
+ "name": "_data",
1187
+ "type": "bytes"
1188
+ }
1189
+ ],
1190
+ "name": "safeTransferFrom",
1191
+ "outputs": [],
1192
+ "stateMutability": "nonpayable",
1193
+ "type": "function"
1194
+ },
1195
+ {
1196
+ "inputs": [
1197
+ {
1198
+ "internalType": "address",
1199
+ "name": "operator",
1200
+ "type": "address"
1201
+ },
1202
+ {
1203
+ "internalType": "bool",
1204
+ "name": "approved",
1205
+ "type": "bool"
1206
+ }
1207
+ ],
1208
+ "name": "setApprovalForAll",
1209
+ "outputs": [],
1210
+ "stateMutability": "nonpayable",
1211
+ "type": "function"
1212
+ },
1213
+ {
1214
+ "inputs": [
1215
+ {
1216
+ "internalType": "string",
1217
+ "name": "newBaseURI",
1218
+ "type": "string"
1219
+ }
1220
+ ],
1221
+ "name": "setBaseURI",
1222
+ "outputs": [],
1223
+ "stateMutability": "nonpayable",
1224
+ "type": "function"
1225
+ },
1226
+ {
1227
+ "inputs": [
1228
+ {
1229
+ "internalType": "string",
1230
+ "name": "newContractURI",
1231
+ "type": "string"
1232
+ }
1233
+ ],
1234
+ "name": "setContractURI",
1235
+ "outputs": [],
1236
+ "stateMutability": "nonpayable",
1237
+ "type": "function"
1238
+ },
1239
+ {
1240
+ "inputs": [
1241
+ {
1242
+ "internalType": "uint256",
1243
+ "name": "newMaxSupply",
1244
+ "type": "uint256"
1245
+ }
1246
+ ],
1247
+ "name": "setMaxSupply",
1248
+ "outputs": [],
1249
+ "stateMutability": "nonpayable",
1250
+ "type": "function"
1251
+ },
1252
+ {
1253
+ "inputs": [
1254
+ {
1255
+ "internalType": "bytes32",
1256
+ "name": "newProvenanceHash",
1257
+ "type": "bytes32"
1258
+ }
1259
+ ],
1260
+ "name": "setProvenanceHash",
1261
+ "outputs": [],
1262
+ "stateMutability": "nonpayable",
1263
+ "type": "function"
1264
+ },
1265
+ {
1266
+ "inputs": [
1267
+ {
1268
+ "components": [
1269
+ {
1270
+ "internalType": "address",
1271
+ "name": "royaltyAddress",
1272
+ "type": "address"
1273
+ },
1274
+ {
1275
+ "internalType": "uint96",
1276
+ "name": "royaltyBps",
1277
+ "type": "uint96"
1278
+ }
1279
+ ],
1280
+ "internalType": "struct ISeaDropTokenContractMetadata.RoyaltyInfo",
1281
+ "name": "newInfo",
1282
+ "type": "tuple"
1283
+ }
1284
+ ],
1285
+ "name": "setRoyaltyInfo",
1286
+ "outputs": [],
1287
+ "stateMutability": "nonpayable",
1288
+ "type": "function"
1289
+ },
1290
+ {
1291
+ "inputs": [
1292
+ {
1293
+ "internalType": "address",
1294
+ "name": "newValidator",
1295
+ "type": "address"
1296
+ }
1297
+ ],
1298
+ "name": "setTransferValidator",
1299
+ "outputs": [],
1300
+ "stateMutability": "nonpayable",
1301
+ "type": "function"
1302
+ },
1303
+ {
1304
+ "inputs": [
1305
+ {
1306
+ "internalType": "bytes4",
1307
+ "name": "interfaceId",
1308
+ "type": "bytes4"
1309
+ }
1310
+ ],
1311
+ "name": "supportsInterface",
1312
+ "outputs": [
1313
+ {
1314
+ "internalType": "bool",
1315
+ "name": "",
1316
+ "type": "bool"
1317
+ }
1318
+ ],
1319
+ "stateMutability": "view",
1320
+ "type": "function"
1321
+ },
1322
+ {
1323
+ "inputs": [],
1324
+ "name": "symbol",
1325
+ "outputs": [
1326
+ {
1327
+ "internalType": "string",
1328
+ "name": "",
1329
+ "type": "string"
1330
+ }
1331
+ ],
1332
+ "stateMutability": "view",
1333
+ "type": "function"
1334
+ },
1335
+ {
1336
+ "inputs": [
1337
+ {
1338
+ "internalType": "uint256",
1339
+ "name": "tokenId",
1340
+ "type": "uint256"
1341
+ }
1342
+ ],
1343
+ "name": "tokenURI",
1344
+ "outputs": [
1345
+ {
1346
+ "internalType": "string",
1347
+ "name": "",
1348
+ "type": "string"
1349
+ }
1350
+ ],
1351
+ "stateMutability": "view",
1352
+ "type": "function"
1353
+ },
1354
+ {
1355
+ "inputs": [],
1356
+ "name": "totalSupply",
1357
+ "outputs": [
1358
+ {
1359
+ "internalType": "uint256",
1360
+ "name": "",
1361
+ "type": "uint256"
1362
+ }
1363
+ ],
1364
+ "stateMutability": "view",
1365
+ "type": "function"
1366
+ },
1367
+ {
1368
+ "inputs": [
1369
+ {
1370
+ "internalType": "address",
1371
+ "name": "from",
1372
+ "type": "address"
1373
+ },
1374
+ {
1375
+ "internalType": "address",
1376
+ "name": "to",
1377
+ "type": "address"
1378
+ },
1379
+ {
1380
+ "internalType": "uint256",
1381
+ "name": "tokenId",
1382
+ "type": "uint256"
1383
+ }
1384
+ ],
1385
+ "name": "transferFrom",
1386
+ "outputs": [],
1387
+ "stateMutability": "nonpayable",
1388
+ "type": "function"
1389
+ },
1390
+ {
1391
+ "inputs": [
1392
+ {
1393
+ "internalType": "address",
1394
+ "name": "newPotentialOwner",
1395
+ "type": "address"
1396
+ }
1397
+ ],
1398
+ "name": "transferOwnership",
1399
+ "outputs": [],
1400
+ "stateMutability": "nonpayable",
1401
+ "type": "function"
1402
+ },
1403
+ {
1404
+ "inputs": [
1405
+ {
1406
+ "internalType": "address",
1407
+ "name": "seaDropImpl",
1408
+ "type": "address"
1409
+ },
1410
+ {
1411
+ "components": [
1412
+ {
1413
+ "internalType": "bytes32",
1414
+ "name": "merkleRoot",
1415
+ "type": "bytes32"
1416
+ },
1417
+ {
1418
+ "internalType": "string[]",
1419
+ "name": "publicKeyURIs",
1420
+ "type": "string[]"
1421
+ },
1422
+ {
1423
+ "internalType": "string",
1424
+ "name": "allowListURI",
1425
+ "type": "string"
1426
+ }
1427
+ ],
1428
+ "internalType": "struct AllowListData",
1429
+ "name": "allowListData",
1430
+ "type": "tuple"
1431
+ }
1432
+ ],
1433
+ "name": "updateAllowList",
1434
+ "outputs": [],
1435
+ "stateMutability": "nonpayable",
1436
+ "type": "function"
1437
+ },
1438
+ {
1439
+ "inputs": [
1440
+ {
1441
+ "internalType": "address",
1442
+ "name": "seaDropImpl",
1443
+ "type": "address"
1444
+ },
1445
+ {
1446
+ "internalType": "address",
1447
+ "name": "feeRecipient",
1448
+ "type": "address"
1449
+ },
1450
+ {
1451
+ "internalType": "bool",
1452
+ "name": "allowed",
1453
+ "type": "bool"
1454
+ }
1455
+ ],
1456
+ "name": "updateAllowedFeeRecipient",
1457
+ "outputs": [],
1458
+ "stateMutability": "nonpayable",
1459
+ "type": "function"
1460
+ },
1461
+ {
1462
+ "inputs": [
1463
+ {
1464
+ "internalType": "address[]",
1465
+ "name": "allowedSeaDrop",
1466
+ "type": "address[]"
1467
+ }
1468
+ ],
1469
+ "name": "updateAllowedSeaDrop",
1470
+ "outputs": [],
1471
+ "stateMutability": "nonpayable",
1472
+ "type": "function"
1473
+ },
1474
+ {
1475
+ "inputs": [
1476
+ {
1477
+ "internalType": "address",
1478
+ "name": "seaDropImpl",
1479
+ "type": "address"
1480
+ },
1481
+ {
1482
+ "internalType": "address",
1483
+ "name": "payoutAddress",
1484
+ "type": "address"
1485
+ }
1486
+ ],
1487
+ "name": "updateCreatorPayoutAddress",
1488
+ "outputs": [],
1489
+ "stateMutability": "nonpayable",
1490
+ "type": "function"
1491
+ },
1492
+ {
1493
+ "inputs": [
1494
+ {
1495
+ "internalType": "address",
1496
+ "name": "seaDropImpl",
1497
+ "type": "address"
1498
+ },
1499
+ {
1500
+ "internalType": "string",
1501
+ "name": "dropURI",
1502
+ "type": "string"
1503
+ }
1504
+ ],
1505
+ "name": "updateDropURI",
1506
+ "outputs": [],
1507
+ "stateMutability": "nonpayable",
1508
+ "type": "function"
1509
+ },
1510
+ {
1511
+ "inputs": [
1512
+ {
1513
+ "internalType": "address",
1514
+ "name": "seaDropImpl",
1515
+ "type": "address"
1516
+ },
1517
+ {
1518
+ "internalType": "address",
1519
+ "name": "payer",
1520
+ "type": "address"
1521
+ },
1522
+ {
1523
+ "internalType": "bool",
1524
+ "name": "allowed",
1525
+ "type": "bool"
1526
+ }
1527
+ ],
1528
+ "name": "updatePayer",
1529
+ "outputs": [],
1530
+ "stateMutability": "nonpayable",
1531
+ "type": "function"
1532
+ },
1533
+ {
1534
+ "inputs": [
1535
+ {
1536
+ "internalType": "address",
1537
+ "name": "seaDropImpl",
1538
+ "type": "address"
1539
+ },
1540
+ {
1541
+ "components": [
1542
+ {
1543
+ "internalType": "uint80",
1544
+ "name": "mintPrice",
1545
+ "type": "uint80"
1546
+ },
1547
+ {
1548
+ "internalType": "uint48",
1549
+ "name": "startTime",
1550
+ "type": "uint48"
1551
+ },
1552
+ {
1553
+ "internalType": "uint48",
1554
+ "name": "endTime",
1555
+ "type": "uint48"
1556
+ },
1557
+ {
1558
+ "internalType": "uint16",
1559
+ "name": "maxTotalMintableByWallet",
1560
+ "type": "uint16"
1561
+ },
1562
+ {
1563
+ "internalType": "uint16",
1564
+ "name": "feeBps",
1565
+ "type": "uint16"
1566
+ },
1567
+ {
1568
+ "internalType": "bool",
1569
+ "name": "restrictFeeRecipients",
1570
+ "type": "bool"
1571
+ }
1572
+ ],
1573
+ "internalType": "struct PublicDrop",
1574
+ "name": "publicDrop",
1575
+ "type": "tuple"
1576
+ }
1577
+ ],
1578
+ "name": "updatePublicDrop",
1579
+ "outputs": [],
1580
+ "stateMutability": "nonpayable",
1581
+ "type": "function"
1582
+ },
1583
+ {
1584
+ "inputs": [
1585
+ {
1586
+ "internalType": "address",
1587
+ "name": "seaDropImpl",
1588
+ "type": "address"
1589
+ },
1590
+ {
1591
+ "internalType": "address",
1592
+ "name": "signer",
1593
+ "type": "address"
1594
+ },
1595
+ {
1596
+ "components": [
1597
+ {
1598
+ "internalType": "uint80",
1599
+ "name": "minMintPrice",
1600
+ "type": "uint80"
1601
+ },
1602
+ {
1603
+ "internalType": "uint24",
1604
+ "name": "maxMaxTotalMintableByWallet",
1605
+ "type": "uint24"
1606
+ },
1607
+ {
1608
+ "internalType": "uint40",
1609
+ "name": "minStartTime",
1610
+ "type": "uint40"
1611
+ },
1612
+ {
1613
+ "internalType": "uint40",
1614
+ "name": "maxEndTime",
1615
+ "type": "uint40"
1616
+ },
1617
+ {
1618
+ "internalType": "uint40",
1619
+ "name": "maxMaxTokenSupplyForStage",
1620
+ "type": "uint40"
1621
+ },
1622
+ {
1623
+ "internalType": "uint16",
1624
+ "name": "minFeeBps",
1625
+ "type": "uint16"
1626
+ },
1627
+ {
1628
+ "internalType": "uint16",
1629
+ "name": "maxFeeBps",
1630
+ "type": "uint16"
1631
+ }
1632
+ ],
1633
+ "internalType": "struct SignedMintValidationParams",
1634
+ "name": "signedMintValidationParams",
1635
+ "type": "tuple"
1636
+ }
1637
+ ],
1638
+ "name": "updateSignedMintValidationParams",
1639
+ "outputs": [],
1640
+ "stateMutability": "nonpayable",
1641
+ "type": "function"
1642
+ },
1643
+ {
1644
+ "inputs": [
1645
+ {
1646
+ "internalType": "address",
1647
+ "name": "seaDropImpl",
1648
+ "type": "address"
1649
+ },
1650
+ {
1651
+ "internalType": "address",
1652
+ "name": "allowedNftToken",
1653
+ "type": "address"
1654
+ },
1655
+ {
1656
+ "components": [
1657
+ {
1658
+ "internalType": "uint80",
1659
+ "name": "mintPrice",
1660
+ "type": "uint80"
1661
+ },
1662
+ {
1663
+ "internalType": "uint16",
1664
+ "name": "maxTotalMintableByWallet",
1665
+ "type": "uint16"
1666
+ },
1667
+ {
1668
+ "internalType": "uint48",
1669
+ "name": "startTime",
1670
+ "type": "uint48"
1671
+ },
1672
+ {
1673
+ "internalType": "uint48",
1674
+ "name": "endTime",
1675
+ "type": "uint48"
1676
+ },
1677
+ {
1678
+ "internalType": "uint8",
1679
+ "name": "dropStageIndex",
1680
+ "type": "uint8"
1681
+ },
1682
+ {
1683
+ "internalType": "uint32",
1684
+ "name": "maxTokenSupplyForStage",
1685
+ "type": "uint32"
1686
+ },
1687
+ {
1688
+ "internalType": "uint16",
1689
+ "name": "feeBps",
1690
+ "type": "uint16"
1691
+ },
1692
+ {
1693
+ "internalType": "bool",
1694
+ "name": "restrictFeeRecipients",
1695
+ "type": "bool"
1696
+ }
1697
+ ],
1698
+ "internalType": "struct TokenGatedDropStage",
1699
+ "name": "dropStage",
1700
+ "type": "tuple"
1701
+ }
1702
+ ],
1703
+ "name": "updateTokenGatedDrop",
1704
+ "outputs": [],
1705
+ "stateMutability": "nonpayable",
1706
+ "type": "function"
1707
+ }
1708
+ ] as const satisfies Abi;
1709
+
1710
+ /**
1711
+ * Type-safe ABI for ERC721SeaDropCloneable_json
1712
+ */
1713
+ export type ERC721SeaDropCloneable_jsonAbi = typeof ERC721SeaDropCloneable_jsonAbi;
1714
+
1715
+ /**
1716
+ * Contract instance type for ERC721SeaDropCloneable_json
1717
+ */
1718
+ // Use any for contract type to avoid complex viem type issues
1719
+ // The runtime behavior is type-safe through viem's ABI typing
1720
+ export type ERC721SeaDropCloneable_jsonContract = any;
1721
+
1722
+ /**
1723
+ * ERC721SeaDropCloneable_json Contract Class
1724
+ *
1725
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1726
+ *
1727
+ * @example
1728
+ * ```typescript
1729
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1730
+ * import { mainnet } from 'viem/chains';
1731
+ * import { ERC721SeaDropCloneable_json } from 'ERC721SeaDropCloneable_json';
1732
+ *
1733
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1734
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1735
+ *
1736
+ * const contract = new ERC721SeaDropCloneable_json('0x...', { publicClient, walletClient });
1737
+ *
1738
+ * // Read functions
1739
+ * const result = await contract.balanceOf('0x...');
1740
+ *
1741
+ * // Write functions
1742
+ * const hash = await contract.transfer('0x...', 1000n);
1743
+ *
1744
+ * // Simulate transactions (dry-run)
1745
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
1746
+ * console.log('Gas estimate:', simulation.request.gas);
1747
+ *
1748
+ * // Watch events
1749
+ * const unwatch = contract.watch.Transfer((event) => {
1750
+ * console.log('Transfer event:', event);
1751
+ * });
1752
+ * ```
1753
+ */
1754
+ export class ERC721SeaDropCloneable_json {
1755
+ private contract: ERC721SeaDropCloneable_jsonContract;
1756
+ private contractAddress: Address;
1757
+ private publicClient: PublicClient;
1758
+
1759
+ constructor(
1760
+ address: Address,
1761
+ clients: {
1762
+ publicClient: PublicClient;
1763
+ walletClient?: WalletClient;
1764
+ }
1765
+ ) {
1766
+ this.contractAddress = address;
1767
+ this.publicClient = clients.publicClient;
1768
+ this.contract = getContract({
1769
+ address,
1770
+ abi: ERC721SeaDropCloneable_jsonAbi,
1771
+ client: {
1772
+ public: clients.publicClient,
1773
+ wallet: clients.walletClient,
1774
+ },
1775
+ });
1776
+ }
1777
+
1778
+ /**
1779
+ * Get the contract address
1780
+ */
1781
+ get address(): Address {
1782
+ return this.contractAddress;
1783
+ }
1784
+
1785
+ /**
1786
+ * Get the underlying viem contract instance
1787
+ */
1788
+ getContract(): ERC721SeaDropCloneable_jsonContract {
1789
+ return this.contract;
1790
+ }
1791
+
1792
+ /**
1793
+ * balanceOf
1794
+ * view
1795
+ */
1796
+ async balanceOf(owner: `0x${string}`): Promise<bigint> {
1797
+ return this.contract.read.balanceOf([owner] as const) as Promise<bigint>;
1798
+ }
1799
+
1800
+ /**
1801
+ * baseURI
1802
+ * view
1803
+ */
1804
+ async baseURI(): Promise<string> {
1805
+ return this.contract.read.baseURI() as Promise<string>;
1806
+ }
1807
+
1808
+ /**
1809
+ * contractURI
1810
+ * view
1811
+ */
1812
+ async contractURI(): Promise<string> {
1813
+ return this.contract.read.contractURI() as Promise<string>;
1814
+ }
1815
+
1816
+ /**
1817
+ * getApproved
1818
+ * view
1819
+ */
1820
+ async getApproved(tokenId: bigint): Promise<`0x${string}`> {
1821
+ return this.contract.read.getApproved([tokenId] as const) as Promise<`0x${string}`>;
1822
+ }
1823
+
1824
+ /**
1825
+ * getMintStats
1826
+ * view
1827
+ */
1828
+ async getMintStats(minter: `0x${string}`): Promise<[bigint, bigint, bigint]> {
1829
+ return this.contract.read.getMintStats([minter] as const) as Promise<[bigint, bigint, bigint]>;
1830
+ }
1831
+
1832
+ /**
1833
+ * getTransferValidationFunction
1834
+ * pure
1835
+ */
1836
+ async getTransferValidationFunction(): Promise<[`0x${string}`, boolean]> {
1837
+ return this.contract.read.getTransferValidationFunction() as Promise<[`0x${string}`, boolean]>;
1838
+ }
1839
+
1840
+ /**
1841
+ * getTransferValidator
1842
+ * view
1843
+ */
1844
+ async getTransferValidator(): Promise<`0x${string}`> {
1845
+ return this.contract.read.getTransferValidator() as Promise<`0x${string}`>;
1846
+ }
1847
+
1848
+ /**
1849
+ * isApprovedForAll
1850
+ * view
1851
+ */
1852
+ async isApprovedForAll(owner: `0x${string}`, operator: `0x${string}`): Promise<boolean> {
1853
+ return this.contract.read.isApprovedForAll([owner, operator] as const) as Promise<boolean>;
1854
+ }
1855
+
1856
+ /**
1857
+ * maxSupply
1858
+ * view
1859
+ */
1860
+ async maxSupply(): Promise<bigint> {
1861
+ return this.contract.read.maxSupply() as Promise<bigint>;
1862
+ }
1863
+
1864
+ /**
1865
+ * name
1866
+ * view
1867
+ */
1868
+ async name(): Promise<string> {
1869
+ return this.contract.read.name() as Promise<string>;
1870
+ }
1871
+
1872
+ /**
1873
+ * owner
1874
+ * view
1875
+ */
1876
+ async owner(): Promise<`0x${string}`> {
1877
+ return this.contract.read.owner() as Promise<`0x${string}`>;
1878
+ }
1879
+
1880
+ /**
1881
+ * ownerOf
1882
+ * view
1883
+ */
1884
+ async ownerOf(tokenId: bigint): Promise<`0x${string}`> {
1885
+ return this.contract.read.ownerOf([tokenId] as const) as Promise<`0x${string}`>;
1886
+ }
1887
+
1888
+ /**
1889
+ * provenanceHash
1890
+ * view
1891
+ */
1892
+ async provenanceHash(): Promise<`0x${string}`> {
1893
+ return this.contract.read.provenanceHash() as Promise<`0x${string}`>;
1894
+ }
1895
+
1896
+ /**
1897
+ * royaltyAddress
1898
+ * view
1899
+ */
1900
+ async royaltyAddress(): Promise<`0x${string}`> {
1901
+ return this.contract.read.royaltyAddress() as Promise<`0x${string}`>;
1902
+ }
1903
+
1904
+ /**
1905
+ * royaltyBasisPoints
1906
+ * view
1907
+ */
1908
+ async royaltyBasisPoints(): Promise<bigint> {
1909
+ return this.contract.read.royaltyBasisPoints() as Promise<bigint>;
1910
+ }
1911
+
1912
+ /**
1913
+ * royaltyInfo
1914
+ * view
1915
+ */
1916
+ async royaltyInfo(arg0: bigint, _salePrice: bigint): Promise<[`0x${string}`, bigint]> {
1917
+ return this.contract.read.royaltyInfo([arg0, _salePrice] as const) as Promise<[`0x${string}`, bigint]>;
1918
+ }
1919
+
1920
+ /**
1921
+ * supportsInterface
1922
+ * view
1923
+ */
1924
+ async supportsInterface(interfaceId: `0x${string}`): Promise<boolean> {
1925
+ return this.contract.read.supportsInterface([interfaceId] as const) as Promise<boolean>;
1926
+ }
1927
+
1928
+ /**
1929
+ * symbol
1930
+ * view
1931
+ */
1932
+ async symbol(): Promise<string> {
1933
+ return this.contract.read.symbol() as Promise<string>;
1934
+ }
1935
+
1936
+ /**
1937
+ * tokenURI
1938
+ * view
1939
+ */
1940
+ async tokenURI(tokenId: bigint): Promise<string> {
1941
+ return this.contract.read.tokenURI([tokenId] as const) as Promise<string>;
1942
+ }
1943
+
1944
+ /**
1945
+ * totalSupply
1946
+ * view
1947
+ */
1948
+ async totalSupply(): Promise<bigint> {
1949
+ return this.contract.read.totalSupply() as Promise<bigint>;
1950
+ }
1951
+
1952
+ /**
1953
+ * acceptOwnership
1954
+ * nonpayable
1955
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1956
+ */
1957
+ async acceptOwnership(options?: {
1958
+ accessList?: import('viem').AccessList;
1959
+ authorizationList?: import('viem').AuthorizationList;
1960
+ chain?: import('viem').Chain | null;
1961
+ dataSuffix?: `0x${string}`;
1962
+ gas?: bigint;
1963
+ gasPrice?: bigint;
1964
+ maxFeePerGas?: bigint;
1965
+ maxPriorityFeePerGas?: bigint;
1966
+ nonce?: number;
1967
+ value?: bigint;
1968
+ }): Promise<`0x${string}`> {
1969
+ if (!this.contract.write) {
1970
+ throw new Error('Wallet client is required for write operations');
1971
+ }
1972
+ return this.contract.write.acceptOwnership(options) as Promise<`0x${string}`>;
1973
+ }
1974
+
1975
+ /**
1976
+ * approve
1977
+ * nonpayable
1978
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1979
+ */
1980
+ async approve(to: `0x${string}`, tokenId: bigint, options?: {
1981
+ accessList?: import('viem').AccessList;
1982
+ authorizationList?: import('viem').AuthorizationList;
1983
+ chain?: import('viem').Chain | null;
1984
+ dataSuffix?: `0x${string}`;
1985
+ gas?: bigint;
1986
+ gasPrice?: bigint;
1987
+ maxFeePerGas?: bigint;
1988
+ maxPriorityFeePerGas?: bigint;
1989
+ nonce?: number;
1990
+ value?: bigint;
1991
+ }): Promise<`0x${string}`> {
1992
+ if (!this.contract.write) {
1993
+ throw new Error('Wallet client is required for write operations');
1994
+ }
1995
+ return this.contract.write.approve([to, tokenId] as const, options) as Promise<`0x${string}`>;
1996
+ }
1997
+
1998
+ /**
1999
+ * burn
2000
+ * nonpayable
2001
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2002
+ */
2003
+ async burn(tokenId: bigint, options?: {
2004
+ accessList?: import('viem').AccessList;
2005
+ authorizationList?: import('viem').AuthorizationList;
2006
+ chain?: import('viem').Chain | null;
2007
+ dataSuffix?: `0x${string}`;
2008
+ gas?: bigint;
2009
+ gasPrice?: bigint;
2010
+ maxFeePerGas?: bigint;
2011
+ maxPriorityFeePerGas?: bigint;
2012
+ nonce?: number;
2013
+ value?: bigint;
2014
+ }): Promise<`0x${string}`> {
2015
+ if (!this.contract.write) {
2016
+ throw new Error('Wallet client is required for write operations');
2017
+ }
2018
+ return this.contract.write.burn([tokenId] as const, options) as Promise<`0x${string}`>;
2019
+ }
2020
+
2021
+ /**
2022
+ * cancelOwnershipTransfer
2023
+ * nonpayable
2024
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2025
+ */
2026
+ async cancelOwnershipTransfer(options?: {
2027
+ accessList?: import('viem').AccessList;
2028
+ authorizationList?: import('viem').AuthorizationList;
2029
+ chain?: import('viem').Chain | null;
2030
+ dataSuffix?: `0x${string}`;
2031
+ gas?: bigint;
2032
+ gasPrice?: bigint;
2033
+ maxFeePerGas?: bigint;
2034
+ maxPriorityFeePerGas?: bigint;
2035
+ nonce?: number;
2036
+ value?: bigint;
2037
+ }): Promise<`0x${string}`> {
2038
+ if (!this.contract.write) {
2039
+ throw new Error('Wallet client is required for write operations');
2040
+ }
2041
+ return this.contract.write.cancelOwnershipTransfer(options) as Promise<`0x${string}`>;
2042
+ }
2043
+
2044
+ /**
2045
+ * emitBatchMetadataUpdate
2046
+ * nonpayable
2047
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2048
+ */
2049
+ async emitBatchMetadataUpdate(fromTokenId: bigint, toTokenId: bigint, options?: {
2050
+ accessList?: import('viem').AccessList;
2051
+ authorizationList?: import('viem').AuthorizationList;
2052
+ chain?: import('viem').Chain | null;
2053
+ dataSuffix?: `0x${string}`;
2054
+ gas?: bigint;
2055
+ gasPrice?: bigint;
2056
+ maxFeePerGas?: bigint;
2057
+ maxPriorityFeePerGas?: bigint;
2058
+ nonce?: number;
2059
+ value?: bigint;
2060
+ }): Promise<`0x${string}`> {
2061
+ if (!this.contract.write) {
2062
+ throw new Error('Wallet client is required for write operations');
2063
+ }
2064
+ return this.contract.write.emitBatchMetadataUpdate([fromTokenId, toTokenId] as const, options) as Promise<`0x${string}`>;
2065
+ }
2066
+
2067
+ /**
2068
+ * initialize
2069
+ * nonpayable
2070
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2071
+ */
2072
+ async initialize(__name: string, __symbol: string, allowedSeaDrop: `0x${string}`[], initialOwner: `0x${string}`, options?: {
2073
+ accessList?: import('viem').AccessList;
2074
+ authorizationList?: import('viem').AuthorizationList;
2075
+ chain?: import('viem').Chain | null;
2076
+ dataSuffix?: `0x${string}`;
2077
+ gas?: bigint;
2078
+ gasPrice?: bigint;
2079
+ maxFeePerGas?: bigint;
2080
+ maxPriorityFeePerGas?: bigint;
2081
+ nonce?: number;
2082
+ value?: bigint;
2083
+ }): Promise<`0x${string}`> {
2084
+ if (!this.contract.write) {
2085
+ throw new Error('Wallet client is required for write operations');
2086
+ }
2087
+ return this.contract.write.initialize([__name, __symbol, allowedSeaDrop, initialOwner] as const, options) as Promise<`0x${string}`>;
2088
+ }
2089
+
2090
+ /**
2091
+ * mintSeaDrop
2092
+ * nonpayable
2093
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2094
+ */
2095
+ async mintSeaDrop(minter: `0x${string}`, quantity: bigint, options?: {
2096
+ accessList?: import('viem').AccessList;
2097
+ authorizationList?: import('viem').AuthorizationList;
2098
+ chain?: import('viem').Chain | null;
2099
+ dataSuffix?: `0x${string}`;
2100
+ gas?: bigint;
2101
+ gasPrice?: bigint;
2102
+ maxFeePerGas?: bigint;
2103
+ maxPriorityFeePerGas?: bigint;
2104
+ nonce?: number;
2105
+ value?: bigint;
2106
+ }): Promise<`0x${string}`> {
2107
+ if (!this.contract.write) {
2108
+ throw new Error('Wallet client is required for write operations');
2109
+ }
2110
+ return this.contract.write.mintSeaDrop([minter, quantity] as const, options) as Promise<`0x${string}`>;
2111
+ }
2112
+
2113
+ /**
2114
+ * multiConfigure
2115
+ * nonpayable
2116
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2117
+ */
2118
+ async multiConfigure(config: ERC721SeaDropStructsErrorsAndEvents_MultiConfigureStruct, options?: {
2119
+ accessList?: import('viem').AccessList;
2120
+ authorizationList?: import('viem').AuthorizationList;
2121
+ chain?: import('viem').Chain | null;
2122
+ dataSuffix?: `0x${string}`;
2123
+ gas?: bigint;
2124
+ gasPrice?: bigint;
2125
+ maxFeePerGas?: bigint;
2126
+ maxPriorityFeePerGas?: bigint;
2127
+ nonce?: number;
2128
+ value?: bigint;
2129
+ }): Promise<`0x${string}`> {
2130
+ if (!this.contract.write) {
2131
+ throw new Error('Wallet client is required for write operations');
2132
+ }
2133
+ return this.contract.write.multiConfigure([config] as const, options) as Promise<`0x${string}`>;
2134
+ }
2135
+
2136
+ /**
2137
+ * renounceOwnership
2138
+ * nonpayable
2139
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2140
+ */
2141
+ async renounceOwnership(options?: {
2142
+ accessList?: import('viem').AccessList;
2143
+ authorizationList?: import('viem').AuthorizationList;
2144
+ chain?: import('viem').Chain | null;
2145
+ dataSuffix?: `0x${string}`;
2146
+ gas?: bigint;
2147
+ gasPrice?: bigint;
2148
+ maxFeePerGas?: bigint;
2149
+ maxPriorityFeePerGas?: bigint;
2150
+ nonce?: number;
2151
+ value?: bigint;
2152
+ }): Promise<`0x${string}`> {
2153
+ if (!this.contract.write) {
2154
+ throw new Error('Wallet client is required for write operations');
2155
+ }
2156
+ return this.contract.write.renounceOwnership(options) as Promise<`0x${string}`>;
2157
+ }
2158
+
2159
+ async safeTransferFrom(from: `0x${string}`, to: `0x${string}`, tokenId: bigint, options?: {
2160
+ accessList?: import('viem').AccessList;
2161
+ authorizationList?: import('viem').AuthorizationList;
2162
+ chain?: import('viem').Chain | null;
2163
+ dataSuffix?: `0x${string}`;
2164
+ gas?: bigint;
2165
+ gasPrice?: bigint;
2166
+ maxFeePerGas?: bigint;
2167
+ maxPriorityFeePerGas?: bigint;
2168
+ nonce?: number;
2169
+ value?: bigint;
2170
+ }): Promise<`0x${string}`>;
2171
+ async safeTransferFrom(from: `0x${string}`, to: `0x${string}`, tokenId: bigint, _data: `0x${string}`, options?: {
2172
+ accessList?: import('viem').AccessList;
2173
+ authorizationList?: import('viem').AuthorizationList;
2174
+ chain?: import('viem').Chain | null;
2175
+ dataSuffix?: `0x${string}`;
2176
+ gas?: bigint;
2177
+ gasPrice?: bigint;
2178
+ maxFeePerGas?: bigint;
2179
+ maxPriorityFeePerGas?: bigint;
2180
+ nonce?: number;
2181
+ value?: bigint;
2182
+ }): Promise<`0x${string}`>;
2183
+ async safeTransferFrom(...args: any[]): Promise<`0x${string}`> {
2184
+ if (!this.contract.write) {
2185
+ throw new Error('Wallet client is required for write operations');
2186
+ }
2187
+ return this.contract.write.safeTransferFrom(args as any) as Promise<`0x${string}`>;
2188
+ }
2189
+
2190
+ /**
2191
+ * setApprovalForAll
2192
+ * nonpayable
2193
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2194
+ */
2195
+ async setApprovalForAll(operator: `0x${string}`, approved: boolean, options?: {
2196
+ accessList?: import('viem').AccessList;
2197
+ authorizationList?: import('viem').AuthorizationList;
2198
+ chain?: import('viem').Chain | null;
2199
+ dataSuffix?: `0x${string}`;
2200
+ gas?: bigint;
2201
+ gasPrice?: bigint;
2202
+ maxFeePerGas?: bigint;
2203
+ maxPriorityFeePerGas?: bigint;
2204
+ nonce?: number;
2205
+ value?: bigint;
2206
+ }): Promise<`0x${string}`> {
2207
+ if (!this.contract.write) {
2208
+ throw new Error('Wallet client is required for write operations');
2209
+ }
2210
+ return this.contract.write.setApprovalForAll([operator, approved] as const, options) as Promise<`0x${string}`>;
2211
+ }
2212
+
2213
+ /**
2214
+ * setBaseURI
2215
+ * nonpayable
2216
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2217
+ */
2218
+ async setBaseURI(newBaseURI: string, options?: {
2219
+ accessList?: import('viem').AccessList;
2220
+ authorizationList?: import('viem').AuthorizationList;
2221
+ chain?: import('viem').Chain | null;
2222
+ dataSuffix?: `0x${string}`;
2223
+ gas?: bigint;
2224
+ gasPrice?: bigint;
2225
+ maxFeePerGas?: bigint;
2226
+ maxPriorityFeePerGas?: bigint;
2227
+ nonce?: number;
2228
+ value?: bigint;
2229
+ }): Promise<`0x${string}`> {
2230
+ if (!this.contract.write) {
2231
+ throw new Error('Wallet client is required for write operations');
2232
+ }
2233
+ return this.contract.write.setBaseURI([newBaseURI] as const, options) as Promise<`0x${string}`>;
2234
+ }
2235
+
2236
+ /**
2237
+ * setContractURI
2238
+ * nonpayable
2239
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2240
+ */
2241
+ async setContractURI(newContractURI: string, options?: {
2242
+ accessList?: import('viem').AccessList;
2243
+ authorizationList?: import('viem').AuthorizationList;
2244
+ chain?: import('viem').Chain | null;
2245
+ dataSuffix?: `0x${string}`;
2246
+ gas?: bigint;
2247
+ gasPrice?: bigint;
2248
+ maxFeePerGas?: bigint;
2249
+ maxPriorityFeePerGas?: bigint;
2250
+ nonce?: number;
2251
+ value?: bigint;
2252
+ }): Promise<`0x${string}`> {
2253
+ if (!this.contract.write) {
2254
+ throw new Error('Wallet client is required for write operations');
2255
+ }
2256
+ return this.contract.write.setContractURI([newContractURI] as const, options) as Promise<`0x${string}`>;
2257
+ }
2258
+
2259
+ /**
2260
+ * setMaxSupply
2261
+ * nonpayable
2262
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2263
+ */
2264
+ async setMaxSupply(newMaxSupply: bigint, options?: {
2265
+ accessList?: import('viem').AccessList;
2266
+ authorizationList?: import('viem').AuthorizationList;
2267
+ chain?: import('viem').Chain | null;
2268
+ dataSuffix?: `0x${string}`;
2269
+ gas?: bigint;
2270
+ gasPrice?: bigint;
2271
+ maxFeePerGas?: bigint;
2272
+ maxPriorityFeePerGas?: bigint;
2273
+ nonce?: number;
2274
+ value?: bigint;
2275
+ }): Promise<`0x${string}`> {
2276
+ if (!this.contract.write) {
2277
+ throw new Error('Wallet client is required for write operations');
2278
+ }
2279
+ return this.contract.write.setMaxSupply([newMaxSupply] as const, options) as Promise<`0x${string}`>;
2280
+ }
2281
+
2282
+ /**
2283
+ * setProvenanceHash
2284
+ * nonpayable
2285
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2286
+ */
2287
+ async setProvenanceHash(newProvenanceHash: `0x${string}`, options?: {
2288
+ accessList?: import('viem').AccessList;
2289
+ authorizationList?: import('viem').AuthorizationList;
2290
+ chain?: import('viem').Chain | null;
2291
+ dataSuffix?: `0x${string}`;
2292
+ gas?: bigint;
2293
+ gasPrice?: bigint;
2294
+ maxFeePerGas?: bigint;
2295
+ maxPriorityFeePerGas?: bigint;
2296
+ nonce?: number;
2297
+ value?: bigint;
2298
+ }): Promise<`0x${string}`> {
2299
+ if (!this.contract.write) {
2300
+ throw new Error('Wallet client is required for write operations');
2301
+ }
2302
+ return this.contract.write.setProvenanceHash([newProvenanceHash] as const, options) as Promise<`0x${string}`>;
2303
+ }
2304
+
2305
+ /**
2306
+ * setRoyaltyInfo
2307
+ * nonpayable
2308
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2309
+ */
2310
+ async setRoyaltyInfo(newInfo: ISeaDropTokenContractMetadata_RoyaltyInfo, options?: {
2311
+ accessList?: import('viem').AccessList;
2312
+ authorizationList?: import('viem').AuthorizationList;
2313
+ chain?: import('viem').Chain | null;
2314
+ dataSuffix?: `0x${string}`;
2315
+ gas?: bigint;
2316
+ gasPrice?: bigint;
2317
+ maxFeePerGas?: bigint;
2318
+ maxPriorityFeePerGas?: bigint;
2319
+ nonce?: number;
2320
+ value?: bigint;
2321
+ }): Promise<`0x${string}`> {
2322
+ if (!this.contract.write) {
2323
+ throw new Error('Wallet client is required for write operations');
2324
+ }
2325
+ return this.contract.write.setRoyaltyInfo([newInfo] as const, options) as Promise<`0x${string}`>;
2326
+ }
2327
+
2328
+ /**
2329
+ * setTransferValidator
2330
+ * nonpayable
2331
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2332
+ */
2333
+ async setTransferValidator(newValidator: `0x${string}`, options?: {
2334
+ accessList?: import('viem').AccessList;
2335
+ authorizationList?: import('viem').AuthorizationList;
2336
+ chain?: import('viem').Chain | null;
2337
+ dataSuffix?: `0x${string}`;
2338
+ gas?: bigint;
2339
+ gasPrice?: bigint;
2340
+ maxFeePerGas?: bigint;
2341
+ maxPriorityFeePerGas?: bigint;
2342
+ nonce?: number;
2343
+ value?: bigint;
2344
+ }): Promise<`0x${string}`> {
2345
+ if (!this.contract.write) {
2346
+ throw new Error('Wallet client is required for write operations');
2347
+ }
2348
+ return this.contract.write.setTransferValidator([newValidator] as const, options) as Promise<`0x${string}`>;
2349
+ }
2350
+
2351
+ /**
2352
+ * transferFrom
2353
+ * nonpayable
2354
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2355
+ */
2356
+ async transferFrom(from: `0x${string}`, to: `0x${string}`, tokenId: bigint, options?: {
2357
+ accessList?: import('viem').AccessList;
2358
+ authorizationList?: import('viem').AuthorizationList;
2359
+ chain?: import('viem').Chain | null;
2360
+ dataSuffix?: `0x${string}`;
2361
+ gas?: bigint;
2362
+ gasPrice?: bigint;
2363
+ maxFeePerGas?: bigint;
2364
+ maxPriorityFeePerGas?: bigint;
2365
+ nonce?: number;
2366
+ value?: bigint;
2367
+ }): Promise<`0x${string}`> {
2368
+ if (!this.contract.write) {
2369
+ throw new Error('Wallet client is required for write operations');
2370
+ }
2371
+ return this.contract.write.transferFrom([from, to, tokenId] as const, options) as Promise<`0x${string}`>;
2372
+ }
2373
+
2374
+ /**
2375
+ * transferOwnership
2376
+ * nonpayable
2377
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2378
+ */
2379
+ async transferOwnership(newPotentialOwner: `0x${string}`, options?: {
2380
+ accessList?: import('viem').AccessList;
2381
+ authorizationList?: import('viem').AuthorizationList;
2382
+ chain?: import('viem').Chain | null;
2383
+ dataSuffix?: `0x${string}`;
2384
+ gas?: bigint;
2385
+ gasPrice?: bigint;
2386
+ maxFeePerGas?: bigint;
2387
+ maxPriorityFeePerGas?: bigint;
2388
+ nonce?: number;
2389
+ value?: bigint;
2390
+ }): Promise<`0x${string}`> {
2391
+ if (!this.contract.write) {
2392
+ throw new Error('Wallet client is required for write operations');
2393
+ }
2394
+ return this.contract.write.transferOwnership([newPotentialOwner] as const, options) as Promise<`0x${string}`>;
2395
+ }
2396
+
2397
+ /**
2398
+ * updateAllowList
2399
+ * nonpayable
2400
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2401
+ */
2402
+ async updateAllowList(seaDropImpl: `0x${string}`, allowListData: AllowListData, options?: {
2403
+ accessList?: import('viem').AccessList;
2404
+ authorizationList?: import('viem').AuthorizationList;
2405
+ chain?: import('viem').Chain | null;
2406
+ dataSuffix?: `0x${string}`;
2407
+ gas?: bigint;
2408
+ gasPrice?: bigint;
2409
+ maxFeePerGas?: bigint;
2410
+ maxPriorityFeePerGas?: bigint;
2411
+ nonce?: number;
2412
+ value?: bigint;
2413
+ }): Promise<`0x${string}`> {
2414
+ if (!this.contract.write) {
2415
+ throw new Error('Wallet client is required for write operations');
2416
+ }
2417
+ return this.contract.write.updateAllowList([seaDropImpl, allowListData] as const, options) as Promise<`0x${string}`>;
2418
+ }
2419
+
2420
+ /**
2421
+ * updateAllowedFeeRecipient
2422
+ * nonpayable
2423
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2424
+ */
2425
+ async updateAllowedFeeRecipient(seaDropImpl: `0x${string}`, feeRecipient: `0x${string}`, allowed: boolean, options?: {
2426
+ accessList?: import('viem').AccessList;
2427
+ authorizationList?: import('viem').AuthorizationList;
2428
+ chain?: import('viem').Chain | null;
2429
+ dataSuffix?: `0x${string}`;
2430
+ gas?: bigint;
2431
+ gasPrice?: bigint;
2432
+ maxFeePerGas?: bigint;
2433
+ maxPriorityFeePerGas?: bigint;
2434
+ nonce?: number;
2435
+ value?: bigint;
2436
+ }): Promise<`0x${string}`> {
2437
+ if (!this.contract.write) {
2438
+ throw new Error('Wallet client is required for write operations');
2439
+ }
2440
+ return this.contract.write.updateAllowedFeeRecipient([seaDropImpl, feeRecipient, allowed] as const, options) as Promise<`0x${string}`>;
2441
+ }
2442
+
2443
+ /**
2444
+ * updateAllowedSeaDrop
2445
+ * nonpayable
2446
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2447
+ */
2448
+ async updateAllowedSeaDrop(allowedSeaDrop: `0x${string}`[], options?: {
2449
+ accessList?: import('viem').AccessList;
2450
+ authorizationList?: import('viem').AuthorizationList;
2451
+ chain?: import('viem').Chain | null;
2452
+ dataSuffix?: `0x${string}`;
2453
+ gas?: bigint;
2454
+ gasPrice?: bigint;
2455
+ maxFeePerGas?: bigint;
2456
+ maxPriorityFeePerGas?: bigint;
2457
+ nonce?: number;
2458
+ value?: bigint;
2459
+ }): Promise<`0x${string}`> {
2460
+ if (!this.contract.write) {
2461
+ throw new Error('Wallet client is required for write operations');
2462
+ }
2463
+ return this.contract.write.updateAllowedSeaDrop([allowedSeaDrop] as const, options) as Promise<`0x${string}`>;
2464
+ }
2465
+
2466
+ /**
2467
+ * updateCreatorPayoutAddress
2468
+ * nonpayable
2469
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2470
+ */
2471
+ async updateCreatorPayoutAddress(seaDropImpl: `0x${string}`, payoutAddress: `0x${string}`, options?: {
2472
+ accessList?: import('viem').AccessList;
2473
+ authorizationList?: import('viem').AuthorizationList;
2474
+ chain?: import('viem').Chain | null;
2475
+ dataSuffix?: `0x${string}`;
2476
+ gas?: bigint;
2477
+ gasPrice?: bigint;
2478
+ maxFeePerGas?: bigint;
2479
+ maxPriorityFeePerGas?: bigint;
2480
+ nonce?: number;
2481
+ value?: bigint;
2482
+ }): Promise<`0x${string}`> {
2483
+ if (!this.contract.write) {
2484
+ throw new Error('Wallet client is required for write operations');
2485
+ }
2486
+ return this.contract.write.updateCreatorPayoutAddress([seaDropImpl, payoutAddress] as const, options) as Promise<`0x${string}`>;
2487
+ }
2488
+
2489
+ /**
2490
+ * updateDropURI
2491
+ * nonpayable
2492
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2493
+ */
2494
+ async updateDropURI(seaDropImpl: `0x${string}`, dropURI: string, options?: {
2495
+ accessList?: import('viem').AccessList;
2496
+ authorizationList?: import('viem').AuthorizationList;
2497
+ chain?: import('viem').Chain | null;
2498
+ dataSuffix?: `0x${string}`;
2499
+ gas?: bigint;
2500
+ gasPrice?: bigint;
2501
+ maxFeePerGas?: bigint;
2502
+ maxPriorityFeePerGas?: bigint;
2503
+ nonce?: number;
2504
+ value?: bigint;
2505
+ }): Promise<`0x${string}`> {
2506
+ if (!this.contract.write) {
2507
+ throw new Error('Wallet client is required for write operations');
2508
+ }
2509
+ return this.contract.write.updateDropURI([seaDropImpl, dropURI] as const, options) as Promise<`0x${string}`>;
2510
+ }
2511
+
2512
+ /**
2513
+ * updatePayer
2514
+ * nonpayable
2515
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2516
+ */
2517
+ async updatePayer(seaDropImpl: `0x${string}`, payer: `0x${string}`, allowed: boolean, options?: {
2518
+ accessList?: import('viem').AccessList;
2519
+ authorizationList?: import('viem').AuthorizationList;
2520
+ chain?: import('viem').Chain | null;
2521
+ dataSuffix?: `0x${string}`;
2522
+ gas?: bigint;
2523
+ gasPrice?: bigint;
2524
+ maxFeePerGas?: bigint;
2525
+ maxPriorityFeePerGas?: bigint;
2526
+ nonce?: number;
2527
+ value?: bigint;
2528
+ }): Promise<`0x${string}`> {
2529
+ if (!this.contract.write) {
2530
+ throw new Error('Wallet client is required for write operations');
2531
+ }
2532
+ return this.contract.write.updatePayer([seaDropImpl, payer, allowed] as const, options) as Promise<`0x${string}`>;
2533
+ }
2534
+
2535
+ /**
2536
+ * updatePublicDrop
2537
+ * nonpayable
2538
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2539
+ */
2540
+ async updatePublicDrop(seaDropImpl: `0x${string}`, publicDrop: PublicDrop, options?: {
2541
+ accessList?: import('viem').AccessList;
2542
+ authorizationList?: import('viem').AuthorizationList;
2543
+ chain?: import('viem').Chain | null;
2544
+ dataSuffix?: `0x${string}`;
2545
+ gas?: bigint;
2546
+ gasPrice?: bigint;
2547
+ maxFeePerGas?: bigint;
2548
+ maxPriorityFeePerGas?: bigint;
2549
+ nonce?: number;
2550
+ value?: bigint;
2551
+ }): Promise<`0x${string}`> {
2552
+ if (!this.contract.write) {
2553
+ throw new Error('Wallet client is required for write operations');
2554
+ }
2555
+ return this.contract.write.updatePublicDrop([seaDropImpl, publicDrop] as const, options) as Promise<`0x${string}`>;
2556
+ }
2557
+
2558
+ /**
2559
+ * updateSignedMintValidationParams
2560
+ * nonpayable
2561
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2562
+ */
2563
+ async updateSignedMintValidationParams(seaDropImpl: `0x${string}`, signer: `0x${string}`, signedMintValidationParams: SignedMintValidationParams, options?: {
2564
+ accessList?: import('viem').AccessList;
2565
+ authorizationList?: import('viem').AuthorizationList;
2566
+ chain?: import('viem').Chain | null;
2567
+ dataSuffix?: `0x${string}`;
2568
+ gas?: bigint;
2569
+ gasPrice?: bigint;
2570
+ maxFeePerGas?: bigint;
2571
+ maxPriorityFeePerGas?: bigint;
2572
+ nonce?: number;
2573
+ value?: bigint;
2574
+ }): Promise<`0x${string}`> {
2575
+ if (!this.contract.write) {
2576
+ throw new Error('Wallet client is required for write operations');
2577
+ }
2578
+ return this.contract.write.updateSignedMintValidationParams([seaDropImpl, signer, signedMintValidationParams] as const, options) as Promise<`0x${string}`>;
2579
+ }
2580
+
2581
+ /**
2582
+ * updateTokenGatedDrop
2583
+ * nonpayable
2584
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2585
+ */
2586
+ async updateTokenGatedDrop(seaDropImpl: `0x${string}`, allowedNftToken: `0x${string}`, dropStage: TokenGatedDropStage, options?: {
2587
+ accessList?: import('viem').AccessList;
2588
+ authorizationList?: import('viem').AuthorizationList;
2589
+ chain?: import('viem').Chain | null;
2590
+ dataSuffix?: `0x${string}`;
2591
+ gas?: bigint;
2592
+ gasPrice?: bigint;
2593
+ maxFeePerGas?: bigint;
2594
+ maxPriorityFeePerGas?: bigint;
2595
+ nonce?: number;
2596
+ value?: bigint;
2597
+ }): Promise<`0x${string}`> {
2598
+ if (!this.contract.write) {
2599
+ throw new Error('Wallet client is required for write operations');
2600
+ }
2601
+ return this.contract.write.updateTokenGatedDrop([seaDropImpl, allowedNftToken, dropStage] as const, options) as Promise<`0x${string}`>;
2602
+ }
2603
+
2604
+
2605
+
2606
+ /**
2607
+ * Simulate contract write operations (dry-run without sending transaction)
2608
+ *
2609
+ * @example
2610
+ * const result = await contract.simulate.transfer('0x...', 1000n);
2611
+ * console.log('Gas estimate:', result.request.gas);
2612
+ * console.log('Would succeed:', result.result);
2613
+ */
2614
+ get simulate() {
2615
+ const contract = this.contract;
2616
+ if (!contract.simulate) {
2617
+ throw new Error('Public client is required for simulation');
2618
+ }
2619
+ return {
2620
+ /**
2621
+ * Simulate acceptOwnership
2622
+ * Returns gas estimate and result without sending transaction
2623
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2624
+ */
2625
+ async acceptOwnership(options?: {
2626
+ accessList?: import('viem').AccessList;
2627
+ authorizationList?: import('viem').AuthorizationList;
2628
+ chain?: import('viem').Chain | null;
2629
+ dataSuffix?: `0x${string}`;
2630
+ gas?: bigint;
2631
+ gasPrice?: bigint;
2632
+ maxFeePerGas?: bigint;
2633
+ maxPriorityFeePerGas?: bigint;
2634
+ nonce?: number;
2635
+ value?: bigint;
2636
+ }): Promise<void> {
2637
+ return contract.simulate.acceptOwnership(options) as Promise<void>;
2638
+ },
2639
+ /**
2640
+ * Simulate approve
2641
+ * Returns gas estimate and result without sending transaction
2642
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2643
+ */
2644
+ async approve(to: `0x${string}`, tokenId: bigint, options?: {
2645
+ accessList?: import('viem').AccessList;
2646
+ authorizationList?: import('viem').AuthorizationList;
2647
+ chain?: import('viem').Chain | null;
2648
+ dataSuffix?: `0x${string}`;
2649
+ gas?: bigint;
2650
+ gasPrice?: bigint;
2651
+ maxFeePerGas?: bigint;
2652
+ maxPriorityFeePerGas?: bigint;
2653
+ nonce?: number;
2654
+ value?: bigint;
2655
+ }): Promise<void> {
2656
+ return contract.simulate.approve([to, tokenId] as const, options) as Promise<void>;
2657
+ },
2658
+ /**
2659
+ * Simulate burn
2660
+ * Returns gas estimate and result without sending transaction
2661
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2662
+ */
2663
+ async burn(tokenId: bigint, options?: {
2664
+ accessList?: import('viem').AccessList;
2665
+ authorizationList?: import('viem').AuthorizationList;
2666
+ chain?: import('viem').Chain | null;
2667
+ dataSuffix?: `0x${string}`;
2668
+ gas?: bigint;
2669
+ gasPrice?: bigint;
2670
+ maxFeePerGas?: bigint;
2671
+ maxPriorityFeePerGas?: bigint;
2672
+ nonce?: number;
2673
+ value?: bigint;
2674
+ }): Promise<void> {
2675
+ return contract.simulate.burn([tokenId] as const, options) as Promise<void>;
2676
+ },
2677
+ /**
2678
+ * Simulate cancelOwnershipTransfer
2679
+ * Returns gas estimate and result without sending transaction
2680
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2681
+ */
2682
+ async cancelOwnershipTransfer(options?: {
2683
+ accessList?: import('viem').AccessList;
2684
+ authorizationList?: import('viem').AuthorizationList;
2685
+ chain?: import('viem').Chain | null;
2686
+ dataSuffix?: `0x${string}`;
2687
+ gas?: bigint;
2688
+ gasPrice?: bigint;
2689
+ maxFeePerGas?: bigint;
2690
+ maxPriorityFeePerGas?: bigint;
2691
+ nonce?: number;
2692
+ value?: bigint;
2693
+ }): Promise<void> {
2694
+ return contract.simulate.cancelOwnershipTransfer(options) as Promise<void>;
2695
+ },
2696
+ /**
2697
+ * Simulate emitBatchMetadataUpdate
2698
+ * Returns gas estimate and result without sending transaction
2699
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2700
+ */
2701
+ async emitBatchMetadataUpdate(fromTokenId: bigint, toTokenId: bigint, options?: {
2702
+ accessList?: import('viem').AccessList;
2703
+ authorizationList?: import('viem').AuthorizationList;
2704
+ chain?: import('viem').Chain | null;
2705
+ dataSuffix?: `0x${string}`;
2706
+ gas?: bigint;
2707
+ gasPrice?: bigint;
2708
+ maxFeePerGas?: bigint;
2709
+ maxPriorityFeePerGas?: bigint;
2710
+ nonce?: number;
2711
+ value?: bigint;
2712
+ }): Promise<void> {
2713
+ return contract.simulate.emitBatchMetadataUpdate([fromTokenId, toTokenId] as const, options) as Promise<void>;
2714
+ },
2715
+ /**
2716
+ * Simulate initialize
2717
+ * Returns gas estimate and result without sending transaction
2718
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2719
+ */
2720
+ async initialize(__name: string, __symbol: string, allowedSeaDrop: `0x${string}`[], initialOwner: `0x${string}`, options?: {
2721
+ accessList?: import('viem').AccessList;
2722
+ authorizationList?: import('viem').AuthorizationList;
2723
+ chain?: import('viem').Chain | null;
2724
+ dataSuffix?: `0x${string}`;
2725
+ gas?: bigint;
2726
+ gasPrice?: bigint;
2727
+ maxFeePerGas?: bigint;
2728
+ maxPriorityFeePerGas?: bigint;
2729
+ nonce?: number;
2730
+ value?: bigint;
2731
+ }): Promise<void> {
2732
+ return contract.simulate.initialize([__name, __symbol, allowedSeaDrop, initialOwner] as const, options) as Promise<void>;
2733
+ },
2734
+ /**
2735
+ * Simulate mintSeaDrop
2736
+ * Returns gas estimate and result without sending transaction
2737
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2738
+ */
2739
+ async mintSeaDrop(minter: `0x${string}`, quantity: bigint, options?: {
2740
+ accessList?: import('viem').AccessList;
2741
+ authorizationList?: import('viem').AuthorizationList;
2742
+ chain?: import('viem').Chain | null;
2743
+ dataSuffix?: `0x${string}`;
2744
+ gas?: bigint;
2745
+ gasPrice?: bigint;
2746
+ maxFeePerGas?: bigint;
2747
+ maxPriorityFeePerGas?: bigint;
2748
+ nonce?: number;
2749
+ value?: bigint;
2750
+ }): Promise<void> {
2751
+ return contract.simulate.mintSeaDrop([minter, quantity] as const, options) as Promise<void>;
2752
+ },
2753
+ /**
2754
+ * Simulate multiConfigure
2755
+ * Returns gas estimate and result without sending transaction
2756
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2757
+ */
2758
+ async multiConfigure(config: ERC721SeaDropStructsErrorsAndEvents_MultiConfigureStruct, options?: {
2759
+ accessList?: import('viem').AccessList;
2760
+ authorizationList?: import('viem').AuthorizationList;
2761
+ chain?: import('viem').Chain | null;
2762
+ dataSuffix?: `0x${string}`;
2763
+ gas?: bigint;
2764
+ gasPrice?: bigint;
2765
+ maxFeePerGas?: bigint;
2766
+ maxPriorityFeePerGas?: bigint;
2767
+ nonce?: number;
2768
+ value?: bigint;
2769
+ }): Promise<void> {
2770
+ return contract.simulate.multiConfigure([config] as const, options) as Promise<void>;
2771
+ },
2772
+ /**
2773
+ * Simulate renounceOwnership
2774
+ * Returns gas estimate and result without sending transaction
2775
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2776
+ */
2777
+ async renounceOwnership(options?: {
2778
+ accessList?: import('viem').AccessList;
2779
+ authorizationList?: import('viem').AuthorizationList;
2780
+ chain?: import('viem').Chain | null;
2781
+ dataSuffix?: `0x${string}`;
2782
+ gas?: bigint;
2783
+ gasPrice?: bigint;
2784
+ maxFeePerGas?: bigint;
2785
+ maxPriorityFeePerGas?: bigint;
2786
+ nonce?: number;
2787
+ value?: bigint;
2788
+ }): Promise<void> {
2789
+ return contract.simulate.renounceOwnership(options) as Promise<void>;
2790
+ },
2791
+ /**
2792
+ * Simulate safeTransferFrom
2793
+ * Returns gas estimate and result without sending transaction
2794
+ * Supports multiple overloads: (address, address, uint256), (address, address, uint256, bytes)
2795
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2796
+ */
2797
+ async safeTransferFrom(...args: any[]): Promise<any> {
2798
+ return contract.simulate.safeTransferFrom(args as any) as Promise<any>;
2799
+ },
2800
+ /**
2801
+ * Simulate setApprovalForAll
2802
+ * Returns gas estimate and result without sending transaction
2803
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2804
+ */
2805
+ async setApprovalForAll(operator: `0x${string}`, approved: boolean, options?: {
2806
+ accessList?: import('viem').AccessList;
2807
+ authorizationList?: import('viem').AuthorizationList;
2808
+ chain?: import('viem').Chain | null;
2809
+ dataSuffix?: `0x${string}`;
2810
+ gas?: bigint;
2811
+ gasPrice?: bigint;
2812
+ maxFeePerGas?: bigint;
2813
+ maxPriorityFeePerGas?: bigint;
2814
+ nonce?: number;
2815
+ value?: bigint;
2816
+ }): Promise<void> {
2817
+ return contract.simulate.setApprovalForAll([operator, approved] as const, options) as Promise<void>;
2818
+ },
2819
+ /**
2820
+ * Simulate setBaseURI
2821
+ * Returns gas estimate and result without sending transaction
2822
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2823
+ */
2824
+ async setBaseURI(newBaseURI: string, options?: {
2825
+ accessList?: import('viem').AccessList;
2826
+ authorizationList?: import('viem').AuthorizationList;
2827
+ chain?: import('viem').Chain | null;
2828
+ dataSuffix?: `0x${string}`;
2829
+ gas?: bigint;
2830
+ gasPrice?: bigint;
2831
+ maxFeePerGas?: bigint;
2832
+ maxPriorityFeePerGas?: bigint;
2833
+ nonce?: number;
2834
+ value?: bigint;
2835
+ }): Promise<void> {
2836
+ return contract.simulate.setBaseURI([newBaseURI] as const, options) as Promise<void>;
2837
+ },
2838
+ /**
2839
+ * Simulate setContractURI
2840
+ * Returns gas estimate and result without sending transaction
2841
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2842
+ */
2843
+ async setContractURI(newContractURI: string, options?: {
2844
+ accessList?: import('viem').AccessList;
2845
+ authorizationList?: import('viem').AuthorizationList;
2846
+ chain?: import('viem').Chain | null;
2847
+ dataSuffix?: `0x${string}`;
2848
+ gas?: bigint;
2849
+ gasPrice?: bigint;
2850
+ maxFeePerGas?: bigint;
2851
+ maxPriorityFeePerGas?: bigint;
2852
+ nonce?: number;
2853
+ value?: bigint;
2854
+ }): Promise<void> {
2855
+ return contract.simulate.setContractURI([newContractURI] as const, options) as Promise<void>;
2856
+ },
2857
+ /**
2858
+ * Simulate setMaxSupply
2859
+ * Returns gas estimate and result without sending transaction
2860
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2861
+ */
2862
+ async setMaxSupply(newMaxSupply: bigint, options?: {
2863
+ accessList?: import('viem').AccessList;
2864
+ authorizationList?: import('viem').AuthorizationList;
2865
+ chain?: import('viem').Chain | null;
2866
+ dataSuffix?: `0x${string}`;
2867
+ gas?: bigint;
2868
+ gasPrice?: bigint;
2869
+ maxFeePerGas?: bigint;
2870
+ maxPriorityFeePerGas?: bigint;
2871
+ nonce?: number;
2872
+ value?: bigint;
2873
+ }): Promise<void> {
2874
+ return contract.simulate.setMaxSupply([newMaxSupply] as const, options) as Promise<void>;
2875
+ },
2876
+ /**
2877
+ * Simulate setProvenanceHash
2878
+ * Returns gas estimate and result without sending transaction
2879
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2880
+ */
2881
+ async setProvenanceHash(newProvenanceHash: `0x${string}`, options?: {
2882
+ accessList?: import('viem').AccessList;
2883
+ authorizationList?: import('viem').AuthorizationList;
2884
+ chain?: import('viem').Chain | null;
2885
+ dataSuffix?: `0x${string}`;
2886
+ gas?: bigint;
2887
+ gasPrice?: bigint;
2888
+ maxFeePerGas?: bigint;
2889
+ maxPriorityFeePerGas?: bigint;
2890
+ nonce?: number;
2891
+ value?: bigint;
2892
+ }): Promise<void> {
2893
+ return contract.simulate.setProvenanceHash([newProvenanceHash] as const, options) as Promise<void>;
2894
+ },
2895
+ /**
2896
+ * Simulate setRoyaltyInfo
2897
+ * Returns gas estimate and result without sending transaction
2898
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2899
+ */
2900
+ async setRoyaltyInfo(newInfo: ISeaDropTokenContractMetadata_RoyaltyInfo, options?: {
2901
+ accessList?: import('viem').AccessList;
2902
+ authorizationList?: import('viem').AuthorizationList;
2903
+ chain?: import('viem').Chain | null;
2904
+ dataSuffix?: `0x${string}`;
2905
+ gas?: bigint;
2906
+ gasPrice?: bigint;
2907
+ maxFeePerGas?: bigint;
2908
+ maxPriorityFeePerGas?: bigint;
2909
+ nonce?: number;
2910
+ value?: bigint;
2911
+ }): Promise<void> {
2912
+ return contract.simulate.setRoyaltyInfo([newInfo] as const, options) as Promise<void>;
2913
+ },
2914
+ /**
2915
+ * Simulate setTransferValidator
2916
+ * Returns gas estimate and result without sending transaction
2917
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2918
+ */
2919
+ async setTransferValidator(newValidator: `0x${string}`, options?: {
2920
+ accessList?: import('viem').AccessList;
2921
+ authorizationList?: import('viem').AuthorizationList;
2922
+ chain?: import('viem').Chain | null;
2923
+ dataSuffix?: `0x${string}`;
2924
+ gas?: bigint;
2925
+ gasPrice?: bigint;
2926
+ maxFeePerGas?: bigint;
2927
+ maxPriorityFeePerGas?: bigint;
2928
+ nonce?: number;
2929
+ value?: bigint;
2930
+ }): Promise<void> {
2931
+ return contract.simulate.setTransferValidator([newValidator] as const, options) as Promise<void>;
2932
+ },
2933
+ /**
2934
+ * Simulate transferFrom
2935
+ * Returns gas estimate and result without sending transaction
2936
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2937
+ */
2938
+ async transferFrom(from: `0x${string}`, to: `0x${string}`, tokenId: bigint, options?: {
2939
+ accessList?: import('viem').AccessList;
2940
+ authorizationList?: import('viem').AuthorizationList;
2941
+ chain?: import('viem').Chain | null;
2942
+ dataSuffix?: `0x${string}`;
2943
+ gas?: bigint;
2944
+ gasPrice?: bigint;
2945
+ maxFeePerGas?: bigint;
2946
+ maxPriorityFeePerGas?: bigint;
2947
+ nonce?: number;
2948
+ value?: bigint;
2949
+ }): Promise<void> {
2950
+ return contract.simulate.transferFrom([from, to, tokenId] as const, options) as Promise<void>;
2951
+ },
2952
+ /**
2953
+ * Simulate transferOwnership
2954
+ * Returns gas estimate and result without sending transaction
2955
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2956
+ */
2957
+ async transferOwnership(newPotentialOwner: `0x${string}`, options?: {
2958
+ accessList?: import('viem').AccessList;
2959
+ authorizationList?: import('viem').AuthorizationList;
2960
+ chain?: import('viem').Chain | null;
2961
+ dataSuffix?: `0x${string}`;
2962
+ gas?: bigint;
2963
+ gasPrice?: bigint;
2964
+ maxFeePerGas?: bigint;
2965
+ maxPriorityFeePerGas?: bigint;
2966
+ nonce?: number;
2967
+ value?: bigint;
2968
+ }): Promise<void> {
2969
+ return contract.simulate.transferOwnership([newPotentialOwner] as const, options) as Promise<void>;
2970
+ },
2971
+ /**
2972
+ * Simulate updateAllowList
2973
+ * Returns gas estimate and result without sending transaction
2974
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2975
+ */
2976
+ async updateAllowList(seaDropImpl: `0x${string}`, allowListData: AllowListData, options?: {
2977
+ accessList?: import('viem').AccessList;
2978
+ authorizationList?: import('viem').AuthorizationList;
2979
+ chain?: import('viem').Chain | null;
2980
+ dataSuffix?: `0x${string}`;
2981
+ gas?: bigint;
2982
+ gasPrice?: bigint;
2983
+ maxFeePerGas?: bigint;
2984
+ maxPriorityFeePerGas?: bigint;
2985
+ nonce?: number;
2986
+ value?: bigint;
2987
+ }): Promise<void> {
2988
+ return contract.simulate.updateAllowList([seaDropImpl, allowListData] as const, options) as Promise<void>;
2989
+ },
2990
+ /**
2991
+ * Simulate updateAllowedFeeRecipient
2992
+ * Returns gas estimate and result without sending transaction
2993
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2994
+ */
2995
+ async updateAllowedFeeRecipient(seaDropImpl: `0x${string}`, feeRecipient: `0x${string}`, allowed: boolean, options?: {
2996
+ accessList?: import('viem').AccessList;
2997
+ authorizationList?: import('viem').AuthorizationList;
2998
+ chain?: import('viem').Chain | null;
2999
+ dataSuffix?: `0x${string}`;
3000
+ gas?: bigint;
3001
+ gasPrice?: bigint;
3002
+ maxFeePerGas?: bigint;
3003
+ maxPriorityFeePerGas?: bigint;
3004
+ nonce?: number;
3005
+ value?: bigint;
3006
+ }): Promise<void> {
3007
+ return contract.simulate.updateAllowedFeeRecipient([seaDropImpl, feeRecipient, allowed] as const, options) as Promise<void>;
3008
+ },
3009
+ /**
3010
+ * Simulate updateAllowedSeaDrop
3011
+ * Returns gas estimate and result without sending transaction
3012
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3013
+ */
3014
+ async updateAllowedSeaDrop(allowedSeaDrop: `0x${string}`[], options?: {
3015
+ accessList?: import('viem').AccessList;
3016
+ authorizationList?: import('viem').AuthorizationList;
3017
+ chain?: import('viem').Chain | null;
3018
+ dataSuffix?: `0x${string}`;
3019
+ gas?: bigint;
3020
+ gasPrice?: bigint;
3021
+ maxFeePerGas?: bigint;
3022
+ maxPriorityFeePerGas?: bigint;
3023
+ nonce?: number;
3024
+ value?: bigint;
3025
+ }): Promise<void> {
3026
+ return contract.simulate.updateAllowedSeaDrop([allowedSeaDrop] as const, options) as Promise<void>;
3027
+ },
3028
+ /**
3029
+ * Simulate updateCreatorPayoutAddress
3030
+ * Returns gas estimate and result without sending transaction
3031
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3032
+ */
3033
+ async updateCreatorPayoutAddress(seaDropImpl: `0x${string}`, payoutAddress: `0x${string}`, options?: {
3034
+ accessList?: import('viem').AccessList;
3035
+ authorizationList?: import('viem').AuthorizationList;
3036
+ chain?: import('viem').Chain | null;
3037
+ dataSuffix?: `0x${string}`;
3038
+ gas?: bigint;
3039
+ gasPrice?: bigint;
3040
+ maxFeePerGas?: bigint;
3041
+ maxPriorityFeePerGas?: bigint;
3042
+ nonce?: number;
3043
+ value?: bigint;
3044
+ }): Promise<void> {
3045
+ return contract.simulate.updateCreatorPayoutAddress([seaDropImpl, payoutAddress] as const, options) as Promise<void>;
3046
+ },
3047
+ /**
3048
+ * Simulate updateDropURI
3049
+ * Returns gas estimate and result without sending transaction
3050
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3051
+ */
3052
+ async updateDropURI(seaDropImpl: `0x${string}`, dropURI: string, options?: {
3053
+ accessList?: import('viem').AccessList;
3054
+ authorizationList?: import('viem').AuthorizationList;
3055
+ chain?: import('viem').Chain | null;
3056
+ dataSuffix?: `0x${string}`;
3057
+ gas?: bigint;
3058
+ gasPrice?: bigint;
3059
+ maxFeePerGas?: bigint;
3060
+ maxPriorityFeePerGas?: bigint;
3061
+ nonce?: number;
3062
+ value?: bigint;
3063
+ }): Promise<void> {
3064
+ return contract.simulate.updateDropURI([seaDropImpl, dropURI] as const, options) as Promise<void>;
3065
+ },
3066
+ /**
3067
+ * Simulate updatePayer
3068
+ * Returns gas estimate and result without sending transaction
3069
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3070
+ */
3071
+ async updatePayer(seaDropImpl: `0x${string}`, payer: `0x${string}`, allowed: boolean, options?: {
3072
+ accessList?: import('viem').AccessList;
3073
+ authorizationList?: import('viem').AuthorizationList;
3074
+ chain?: import('viem').Chain | null;
3075
+ dataSuffix?: `0x${string}`;
3076
+ gas?: bigint;
3077
+ gasPrice?: bigint;
3078
+ maxFeePerGas?: bigint;
3079
+ maxPriorityFeePerGas?: bigint;
3080
+ nonce?: number;
3081
+ value?: bigint;
3082
+ }): Promise<void> {
3083
+ return contract.simulate.updatePayer([seaDropImpl, payer, allowed] as const, options) as Promise<void>;
3084
+ },
3085
+ /**
3086
+ * Simulate updatePublicDrop
3087
+ * Returns gas estimate and result without sending transaction
3088
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3089
+ */
3090
+ async updatePublicDrop(seaDropImpl: `0x${string}`, publicDrop: PublicDrop, options?: {
3091
+ accessList?: import('viem').AccessList;
3092
+ authorizationList?: import('viem').AuthorizationList;
3093
+ chain?: import('viem').Chain | null;
3094
+ dataSuffix?: `0x${string}`;
3095
+ gas?: bigint;
3096
+ gasPrice?: bigint;
3097
+ maxFeePerGas?: bigint;
3098
+ maxPriorityFeePerGas?: bigint;
3099
+ nonce?: number;
3100
+ value?: bigint;
3101
+ }): Promise<void> {
3102
+ return contract.simulate.updatePublicDrop([seaDropImpl, publicDrop] as const, options) as Promise<void>;
3103
+ },
3104
+ /**
3105
+ * Simulate updateSignedMintValidationParams
3106
+ * Returns gas estimate and result without sending transaction
3107
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3108
+ */
3109
+ async updateSignedMintValidationParams(seaDropImpl: `0x${string}`, signer: `0x${string}`, signedMintValidationParams: SignedMintValidationParams, options?: {
3110
+ accessList?: import('viem').AccessList;
3111
+ authorizationList?: import('viem').AuthorizationList;
3112
+ chain?: import('viem').Chain | null;
3113
+ dataSuffix?: `0x${string}`;
3114
+ gas?: bigint;
3115
+ gasPrice?: bigint;
3116
+ maxFeePerGas?: bigint;
3117
+ maxPriorityFeePerGas?: bigint;
3118
+ nonce?: number;
3119
+ value?: bigint;
3120
+ }): Promise<void> {
3121
+ return contract.simulate.updateSignedMintValidationParams([seaDropImpl, signer, signedMintValidationParams] as const, options) as Promise<void>;
3122
+ },
3123
+ /**
3124
+ * Simulate updateTokenGatedDrop
3125
+ * Returns gas estimate and result without sending transaction
3126
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3127
+ */
3128
+ async updateTokenGatedDrop(seaDropImpl: `0x${string}`, allowedNftToken: `0x${string}`, dropStage: TokenGatedDropStage, options?: {
3129
+ accessList?: import('viem').AccessList;
3130
+ authorizationList?: import('viem').AuthorizationList;
3131
+ chain?: import('viem').Chain | null;
3132
+ dataSuffix?: `0x${string}`;
3133
+ gas?: bigint;
3134
+ gasPrice?: bigint;
3135
+ maxFeePerGas?: bigint;
3136
+ maxPriorityFeePerGas?: bigint;
3137
+ nonce?: number;
3138
+ value?: bigint;
3139
+ }): Promise<void> {
3140
+ return contract.simulate.updateTokenGatedDrop([seaDropImpl, allowedNftToken, dropStage] as const, options) as Promise<void>;
3141
+ }
3142
+ };
3143
+ }
3144
+
3145
+ /**
3146
+ * Watch contract events
3147
+ *
3148
+ * @example
3149
+ * // Watch all Transfer events
3150
+ * const unwatch = contract.watch.Transfer((event) => {
3151
+ * console.log('Transfer:', event);
3152
+ * });
3153
+ *
3154
+ * // Stop watching
3155
+ * unwatch();
3156
+ */
3157
+ get watch() {
3158
+ return {
3159
+ /**
3160
+ * Watch AllowedSeaDropUpdated events
3161
+ * @param callback Function to call when event is emitted
3162
+ * @param filter Optional filter for indexed parameters
3163
+ * @returns Unwatch function to stop listening
3164
+ */
3165
+ AllowedSeaDropUpdated: (callback: (event: { allowedSeaDrop: `0x${string}`[] }) => void) => {
3166
+ return this.publicClient.watchContractEvent({
3167
+ address: this.contractAddress,
3168
+ abi: ERC721SeaDropCloneable_jsonAbi,
3169
+ eventName: 'AllowedSeaDropUpdated',
3170
+
3171
+ onLogs: (logs: any[]) => {
3172
+ logs.forEach((log: any) => {
3173
+ callback(log.args as any);
3174
+ });
3175
+ },
3176
+ }) as () => void;
3177
+ },
3178
+ /**
3179
+ * Watch Approval events
3180
+ * @param callback Function to call when event is emitted
3181
+ * @param filter Optional filter for indexed parameters
3182
+ * @returns Unwatch function to stop listening
3183
+ */
3184
+ Approval: (callback: (event: { owner: `0x${string}`; approved: `0x${string}`; tokenId: bigint }) => void, filter?: { owner: `0x${string}`; approved: `0x${string}`; tokenId: bigint }) => {
3185
+ return this.publicClient.watchContractEvent({
3186
+ address: this.contractAddress,
3187
+ abi: ERC721SeaDropCloneable_jsonAbi,
3188
+ eventName: 'Approval',
3189
+ args: filter,
3190
+ onLogs: (logs: any[]) => {
3191
+ logs.forEach((log: any) => {
3192
+ callback(log.args as any);
3193
+ });
3194
+ },
3195
+ }) as () => void;
3196
+ },
3197
+ /**
3198
+ * Watch ApprovalForAll events
3199
+ * @param callback Function to call when event is emitted
3200
+ * @param filter Optional filter for indexed parameters
3201
+ * @returns Unwatch function to stop listening
3202
+ */
3203
+ ApprovalForAll: (callback: (event: { owner: `0x${string}`; operator: `0x${string}`; approved: boolean }) => void, filter?: { owner: `0x${string}`; operator: `0x${string}` }) => {
3204
+ return this.publicClient.watchContractEvent({
3205
+ address: this.contractAddress,
3206
+ abi: ERC721SeaDropCloneable_jsonAbi,
3207
+ eventName: 'ApprovalForAll',
3208
+ args: filter,
3209
+ onLogs: (logs: any[]) => {
3210
+ logs.forEach((log: any) => {
3211
+ callback(log.args as any);
3212
+ });
3213
+ },
3214
+ }) as () => void;
3215
+ },
3216
+ /**
3217
+ * Watch BatchMetadataUpdate events
3218
+ * @param callback Function to call when event is emitted
3219
+ * @param filter Optional filter for indexed parameters
3220
+ * @returns Unwatch function to stop listening
3221
+ */
3222
+ BatchMetadataUpdate: (callback: (event: { _fromTokenId: bigint; _toTokenId: bigint }) => void) => {
3223
+ return this.publicClient.watchContractEvent({
3224
+ address: this.contractAddress,
3225
+ abi: ERC721SeaDropCloneable_jsonAbi,
3226
+ eventName: 'BatchMetadataUpdate',
3227
+
3228
+ onLogs: (logs: any[]) => {
3229
+ logs.forEach((log: any) => {
3230
+ callback(log.args as any);
3231
+ });
3232
+ },
3233
+ }) as () => void;
3234
+ },
3235
+ /**
3236
+ * Watch ConsecutiveTransfer events
3237
+ * @param callback Function to call when event is emitted
3238
+ * @param filter Optional filter for indexed parameters
3239
+ * @returns Unwatch function to stop listening
3240
+ */
3241
+ ConsecutiveTransfer: (callback: (event: { fromTokenId: bigint; from: `0x${string}`; to: `0x${string}`; toTokenId: bigint }) => void, filter?: { fromTokenId: bigint; from: `0x${string}`; to: `0x${string}` }) => {
3242
+ return this.publicClient.watchContractEvent({
3243
+ address: this.contractAddress,
3244
+ abi: ERC721SeaDropCloneable_jsonAbi,
3245
+ eventName: 'ConsecutiveTransfer',
3246
+ args: filter,
3247
+ onLogs: (logs: any[]) => {
3248
+ logs.forEach((log: any) => {
3249
+ callback(log.args as any);
3250
+ });
3251
+ },
3252
+ }) as () => void;
3253
+ },
3254
+ /**
3255
+ * Watch ContractURIUpdated events
3256
+ * @param callback Function to call when event is emitted
3257
+ * @param filter Optional filter for indexed parameters
3258
+ * @returns Unwatch function to stop listening
3259
+ */
3260
+ ContractURIUpdated: (callback: (event: { newContractURI: string }) => void) => {
3261
+ return this.publicClient.watchContractEvent({
3262
+ address: this.contractAddress,
3263
+ abi: ERC721SeaDropCloneable_jsonAbi,
3264
+ eventName: 'ContractURIUpdated',
3265
+
3266
+ onLogs: (logs: any[]) => {
3267
+ logs.forEach((log: any) => {
3268
+ callback(log.args as any);
3269
+ });
3270
+ },
3271
+ }) as () => void;
3272
+ },
3273
+ /**
3274
+ * Watch Initialized events
3275
+ * @param callback Function to call when event is emitted
3276
+ * @param filter Optional filter for indexed parameters
3277
+ * @returns Unwatch function to stop listening
3278
+ */
3279
+ Initialized: (callback: (event: { version: bigint }) => void) => {
3280
+ return this.publicClient.watchContractEvent({
3281
+ address: this.contractAddress,
3282
+ abi: ERC721SeaDropCloneable_jsonAbi,
3283
+ eventName: 'Initialized',
3284
+
3285
+ onLogs: (logs: any[]) => {
3286
+ logs.forEach((log: any) => {
3287
+ callback(log.args as any);
3288
+ });
3289
+ },
3290
+ }) as () => void;
3291
+ },
3292
+ /**
3293
+ * Watch MaxSupplyUpdated events
3294
+ * @param callback Function to call when event is emitted
3295
+ * @param filter Optional filter for indexed parameters
3296
+ * @returns Unwatch function to stop listening
3297
+ */
3298
+ MaxSupplyUpdated: (callback: (event: { newMaxSupply: bigint }) => void) => {
3299
+ return this.publicClient.watchContractEvent({
3300
+ address: this.contractAddress,
3301
+ abi: ERC721SeaDropCloneable_jsonAbi,
3302
+ eventName: 'MaxSupplyUpdated',
3303
+
3304
+ onLogs: (logs: any[]) => {
3305
+ logs.forEach((log: any) => {
3306
+ callback(log.args as any);
3307
+ });
3308
+ },
3309
+ }) as () => void;
3310
+ },
3311
+ /**
3312
+ * Watch OwnershipTransferred events
3313
+ * @param callback Function to call when event is emitted
3314
+ * @param filter Optional filter for indexed parameters
3315
+ * @returns Unwatch function to stop listening
3316
+ */
3317
+ OwnershipTransferred: (callback: (event: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => void, filter?: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => {
3318
+ return this.publicClient.watchContractEvent({
3319
+ address: this.contractAddress,
3320
+ abi: ERC721SeaDropCloneable_jsonAbi,
3321
+ eventName: 'OwnershipTransferred',
3322
+ args: filter,
3323
+ onLogs: (logs: any[]) => {
3324
+ logs.forEach((log: any) => {
3325
+ callback(log.args as any);
3326
+ });
3327
+ },
3328
+ }) as () => void;
3329
+ },
3330
+ /**
3331
+ * Watch PotentialOwnerUpdated events
3332
+ * @param callback Function to call when event is emitted
3333
+ * @param filter Optional filter for indexed parameters
3334
+ * @returns Unwatch function to stop listening
3335
+ */
3336
+ PotentialOwnerUpdated: (callback: (event: { newPotentialAdministrator: `0x${string}` }) => void) => {
3337
+ return this.publicClient.watchContractEvent({
3338
+ address: this.contractAddress,
3339
+ abi: ERC721SeaDropCloneable_jsonAbi,
3340
+ eventName: 'PotentialOwnerUpdated',
3341
+
3342
+ onLogs: (logs: any[]) => {
3343
+ logs.forEach((log: any) => {
3344
+ callback(log.args as any);
3345
+ });
3346
+ },
3347
+ }) as () => void;
3348
+ },
3349
+ /**
3350
+ * Watch ProvenanceHashUpdated events
3351
+ * @param callback Function to call when event is emitted
3352
+ * @param filter Optional filter for indexed parameters
3353
+ * @returns Unwatch function to stop listening
3354
+ */
3355
+ ProvenanceHashUpdated: (callback: (event: { previousHash: `0x${string}`; newHash: `0x${string}` }) => void) => {
3356
+ return this.publicClient.watchContractEvent({
3357
+ address: this.contractAddress,
3358
+ abi: ERC721SeaDropCloneable_jsonAbi,
3359
+ eventName: 'ProvenanceHashUpdated',
3360
+
3361
+ onLogs: (logs: any[]) => {
3362
+ logs.forEach((log: any) => {
3363
+ callback(log.args as any);
3364
+ });
3365
+ },
3366
+ }) as () => void;
3367
+ },
3368
+ /**
3369
+ * Watch RoyaltyInfoUpdated events
3370
+ * @param callback Function to call when event is emitted
3371
+ * @param filter Optional filter for indexed parameters
3372
+ * @returns Unwatch function to stop listening
3373
+ */
3374
+ RoyaltyInfoUpdated: (callback: (event: { receiver: `0x${string}`; bps: bigint }) => void) => {
3375
+ return this.publicClient.watchContractEvent({
3376
+ address: this.contractAddress,
3377
+ abi: ERC721SeaDropCloneable_jsonAbi,
3378
+ eventName: 'RoyaltyInfoUpdated',
3379
+
3380
+ onLogs: (logs: any[]) => {
3381
+ logs.forEach((log: any) => {
3382
+ callback(log.args as any);
3383
+ });
3384
+ },
3385
+ }) as () => void;
3386
+ },
3387
+ /**
3388
+ * Watch SeaDropTokenDeployed events
3389
+ * @param callback Function to call when event is emitted
3390
+ * @param filter Optional filter for indexed parameters
3391
+ * @returns Unwatch function to stop listening
3392
+ */
3393
+ SeaDropTokenDeployed: (callback: (event: { }) => void) => {
3394
+ return this.publicClient.watchContractEvent({
3395
+ address: this.contractAddress,
3396
+ abi: ERC721SeaDropCloneable_jsonAbi,
3397
+ eventName: 'SeaDropTokenDeployed',
3398
+
3399
+ onLogs: (logs: any[]) => {
3400
+ logs.forEach((log: any) => {
3401
+ callback(log.args as any);
3402
+ });
3403
+ },
3404
+ }) as () => void;
3405
+ },
3406
+ /**
3407
+ * Watch Transfer events
3408
+ * @param callback Function to call when event is emitted
3409
+ * @param filter Optional filter for indexed parameters
3410
+ * @returns Unwatch function to stop listening
3411
+ */
3412
+ Transfer: (callback: (event: { from: `0x${string}`; to: `0x${string}`; tokenId: bigint }) => void, filter?: { from: `0x${string}`; to: `0x${string}`; tokenId: bigint }) => {
3413
+ return this.publicClient.watchContractEvent({
3414
+ address: this.contractAddress,
3415
+ abi: ERC721SeaDropCloneable_jsonAbi,
3416
+ eventName: 'Transfer',
3417
+ args: filter,
3418
+ onLogs: (logs: any[]) => {
3419
+ logs.forEach((log: any) => {
3420
+ callback(log.args as any);
3421
+ });
3422
+ },
3423
+ }) as () => void;
3424
+ },
3425
+ /**
3426
+ * Watch TransferValidatorUpdated events
3427
+ * @param callback Function to call when event is emitted
3428
+ * @param filter Optional filter for indexed parameters
3429
+ * @returns Unwatch function to stop listening
3430
+ */
3431
+ TransferValidatorUpdated: (callback: (event: { oldValidator: `0x${string}`; newValidator: `0x${string}` }) => void) => {
3432
+ return this.publicClient.watchContractEvent({
3433
+ address: this.contractAddress,
3434
+ abi: ERC721SeaDropCloneable_jsonAbi,
3435
+ eventName: 'TransferValidatorUpdated',
3436
+
3437
+ onLogs: (logs: any[]) => {
3438
+ logs.forEach((log: any) => {
3439
+ callback(log.args as any);
3440
+ });
3441
+ },
3442
+ }) as () => void;
3443
+ }
3444
+ };
3445
+ }
3446
+ }