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