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