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