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