@gitmyabi/usdt 1.0.10 → 1.0.11

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,2564 @@
1
+ import type { Abi, Address, PublicClient, WalletClient, GetContractReturnType } from 'viem';
2
+ import { getContract } from 'viem';
3
+
4
+
5
+ /**
6
+ * DefiTokenFixedSupply.ERC20ConfigProps struct type
7
+ */
8
+ export type DefiTokenFixedSupply_ERC20ConfigProps = {
9
+ _isBurnable: boolean;
10
+ _isDocumentAllowed: boolean;
11
+ _isMaxAmountOfTokensSet: boolean;
12
+ _isTaxable: boolean;
13
+ _isDeflationary: boolean;
14
+ _isReflective: boolean;
15
+ };
16
+ /**
17
+ * DefiTokenFixedSupply_json ABI
18
+ *
19
+ * This ABI is typed using viem's type system for full type safety.
20
+ */
21
+ export const DefiTokenFixedSupply_jsonAbi = [
22
+ {
23
+ "inputs": [
24
+ {
25
+ "internalType": "string",
26
+ "name": "name_",
27
+ "type": "string"
28
+ },
29
+ {
30
+ "internalType": "string",
31
+ "name": "symbol_",
32
+ "type": "string"
33
+ },
34
+ {
35
+ "internalType": "uint256",
36
+ "name": "initialSupplyToSet",
37
+ "type": "uint256"
38
+ },
39
+ {
40
+ "internalType": "uint8",
41
+ "name": "decimalsToSet",
42
+ "type": "uint8"
43
+ },
44
+ {
45
+ "internalType": "address",
46
+ "name": "tokenOwner",
47
+ "type": "address"
48
+ },
49
+ {
50
+ "components": [
51
+ {
52
+ "internalType": "bool",
53
+ "name": "_isBurnable",
54
+ "type": "bool"
55
+ },
56
+ {
57
+ "internalType": "bool",
58
+ "name": "_isDocumentAllowed",
59
+ "type": "bool"
60
+ },
61
+ {
62
+ "internalType": "bool",
63
+ "name": "_isMaxAmountOfTokensSet",
64
+ "type": "bool"
65
+ },
66
+ {
67
+ "internalType": "bool",
68
+ "name": "_isTaxable",
69
+ "type": "bool"
70
+ },
71
+ {
72
+ "internalType": "bool",
73
+ "name": "_isDeflationary",
74
+ "type": "bool"
75
+ },
76
+ {
77
+ "internalType": "bool",
78
+ "name": "_isReflective",
79
+ "type": "bool"
80
+ }
81
+ ],
82
+ "internalType": "struct DefiTokenFixedSupply.ERC20ConfigProps",
83
+ "name": "customConfigProps",
84
+ "type": "tuple"
85
+ },
86
+ {
87
+ "internalType": "string",
88
+ "name": "newDocumentUri",
89
+ "type": "string"
90
+ },
91
+ {
92
+ "internalType": "address",
93
+ "name": "_taxAddress",
94
+ "type": "address"
95
+ },
96
+ {
97
+ "internalType": "uint256[3]",
98
+ "name": "bpsParams",
99
+ "type": "uint256[3]"
100
+ },
101
+ {
102
+ "internalType": "uint256[1]",
103
+ "name": "amountParams",
104
+ "type": "uint256[1]"
105
+ }
106
+ ],
107
+ "stateMutability": "nonpayable",
108
+ "type": "constructor"
109
+ },
110
+ {
111
+ "inputs": [],
112
+ "name": "AlreadyExcludedFromFeesAndLimits",
113
+ "type": "error"
114
+ },
115
+ {
116
+ "inputs": [],
117
+ "name": "AlreadyExcludedFromRewards",
118
+ "type": "error"
119
+ },
120
+ {
121
+ "inputs": [],
122
+ "name": "AlreadyIncludedInFeesAndLimits",
123
+ "type": "error"
124
+ },
125
+ {
126
+ "inputs": [],
127
+ "name": "AlreadyIncludedInRewards",
128
+ "type": "error"
129
+ },
130
+ {
131
+ "inputs": [],
132
+ "name": "BurningNotEnabled",
133
+ "type": "error"
134
+ },
135
+ {
136
+ "inputs": [
137
+ {
138
+ "internalType": "address",
139
+ "name": "addr",
140
+ "type": "address"
141
+ }
142
+ ],
143
+ "name": "DestBalanceExceedsMaxAllowed",
144
+ "type": "error"
145
+ },
146
+ {
147
+ "inputs": [],
148
+ "name": "DocumentUriNotAllowed",
149
+ "type": "error"
150
+ },
151
+ {
152
+ "inputs": [
153
+ {
154
+ "internalType": "address",
155
+ "name": "recipient",
156
+ "type": "address"
157
+ },
158
+ {
159
+ "internalType": "uint256",
160
+ "name": "fromBalance",
161
+ "type": "uint256"
162
+ },
163
+ {
164
+ "internalType": "uint256",
165
+ "name": "balance",
166
+ "type": "uint256"
167
+ }
168
+ ],
169
+ "name": "ERC20InsufficientBalance",
170
+ "type": "error"
171
+ },
172
+ {
173
+ "inputs": [
174
+ {
175
+ "internalType": "uint8",
176
+ "name": "decimals",
177
+ "type": "uint8"
178
+ }
179
+ ],
180
+ "name": "InvalidDecimals",
181
+ "type": "error"
182
+ },
183
+ {
184
+ "inputs": [
185
+ {
186
+ "internalType": "uint256",
187
+ "name": "maxTokenAmount",
188
+ "type": "uint256"
189
+ }
190
+ ],
191
+ "name": "InvalidMaxTokenAmount",
192
+ "type": "error"
193
+ },
194
+ {
195
+ "inputs": [],
196
+ "name": "InvalidReflectiveConfig",
197
+ "type": "error"
198
+ },
199
+ {
200
+ "inputs": [
201
+ {
202
+ "internalType": "uint256",
203
+ "name": "bps",
204
+ "type": "uint256"
205
+ }
206
+ ],
207
+ "name": "InvalidTotalBPS",
208
+ "type": "error"
209
+ },
210
+ {
211
+ "inputs": [],
212
+ "name": "MaxTokenAmountNotAllowed",
213
+ "type": "error"
214
+ },
215
+ {
216
+ "inputs": [],
217
+ "name": "MaxTokenAmountPerAddrLtPrevious",
218
+ "type": "error"
219
+ },
220
+ {
221
+ "inputs": [],
222
+ "name": "ReachedMaxExclusionLimit",
223
+ "type": "error"
224
+ },
225
+ {
226
+ "inputs": [],
227
+ "name": "ReachedMaxRewardExclusionLimit",
228
+ "type": "error"
229
+ },
230
+ {
231
+ "inputs": [],
232
+ "name": "TokenIsNotDeflationary",
233
+ "type": "error"
234
+ },
235
+ {
236
+ "inputs": [],
237
+ "name": "TokenIsNotReflective",
238
+ "type": "error"
239
+ },
240
+ {
241
+ "inputs": [],
242
+ "name": "TokenIsNotTaxable",
243
+ "type": "error"
244
+ },
245
+ {
246
+ "inputs": [],
247
+ "name": "TotalReflectionTooSmall",
248
+ "type": "error"
249
+ },
250
+ {
251
+ "inputs": [],
252
+ "name": "ZeroTransferError",
253
+ "type": "error"
254
+ },
255
+ {
256
+ "anonymous": false,
257
+ "inputs": [
258
+ {
259
+ "indexed": true,
260
+ "internalType": "address",
261
+ "name": "owner",
262
+ "type": "address"
263
+ },
264
+ {
265
+ "indexed": true,
266
+ "internalType": "address",
267
+ "name": "spender",
268
+ "type": "address"
269
+ },
270
+ {
271
+ "indexed": false,
272
+ "internalType": "uint256",
273
+ "name": "value",
274
+ "type": "uint256"
275
+ }
276
+ ],
277
+ "name": "Approval",
278
+ "type": "event"
279
+ },
280
+ {
281
+ "anonymous": false,
282
+ "inputs": [
283
+ {
284
+ "indexed": true,
285
+ "internalType": "uint256",
286
+ "name": "_deflationBPS",
287
+ "type": "uint256"
288
+ }
289
+ ],
290
+ "name": "DeflationConfigSet",
291
+ "type": "event"
292
+ },
293
+ {
294
+ "anonymous": false,
295
+ "inputs": [
296
+ {
297
+ "indexed": false,
298
+ "internalType": "string",
299
+ "name": "newDocUri",
300
+ "type": "string"
301
+ }
302
+ ],
303
+ "name": "DocumentUriSet",
304
+ "type": "event"
305
+ },
306
+ {
307
+ "anonymous": false,
308
+ "inputs": [
309
+ {
310
+ "indexed": true,
311
+ "internalType": "address",
312
+ "name": "account",
313
+ "type": "address"
314
+ }
315
+ ],
316
+ "name": "ExcludeFromFeesAndLimits",
317
+ "type": "event"
318
+ },
319
+ {
320
+ "anonymous": false,
321
+ "inputs": [
322
+ {
323
+ "indexed": true,
324
+ "internalType": "address",
325
+ "name": "account",
326
+ "type": "address"
327
+ }
328
+ ],
329
+ "name": "ExcludedFromRewards",
330
+ "type": "event"
331
+ },
332
+ {
333
+ "anonymous": false,
334
+ "inputs": [
335
+ {
336
+ "indexed": true,
337
+ "internalType": "address",
338
+ "name": "account",
339
+ "type": "address"
340
+ }
341
+ ],
342
+ "name": "IncludedInFeesAndLimits",
343
+ "type": "event"
344
+ },
345
+ {
346
+ "anonymous": false,
347
+ "inputs": [
348
+ {
349
+ "indexed": true,
350
+ "internalType": "address",
351
+ "name": "account",
352
+ "type": "address"
353
+ }
354
+ ],
355
+ "name": "IncludedInRewards",
356
+ "type": "event"
357
+ },
358
+ {
359
+ "anonymous": false,
360
+ "inputs": [
361
+ {
362
+ "indexed": false,
363
+ "internalType": "uint256",
364
+ "name": "newMaxTokenAmount",
365
+ "type": "uint256"
366
+ }
367
+ ],
368
+ "name": "MaxTokenAmountPerSet",
369
+ "type": "event"
370
+ },
371
+ {
372
+ "anonymous": false,
373
+ "inputs": [
374
+ {
375
+ "indexed": true,
376
+ "internalType": "address",
377
+ "name": "previousOwner",
378
+ "type": "address"
379
+ },
380
+ {
381
+ "indexed": true,
382
+ "internalType": "address",
383
+ "name": "newOwner",
384
+ "type": "address"
385
+ }
386
+ ],
387
+ "name": "OwnershipTransferred",
388
+ "type": "event"
389
+ },
390
+ {
391
+ "anonymous": false,
392
+ "inputs": [
393
+ {
394
+ "indexed": true,
395
+ "internalType": "uint256",
396
+ "name": "_feeBPS",
397
+ "type": "uint256"
398
+ }
399
+ ],
400
+ "name": "ReflectionConfigSet",
401
+ "type": "event"
402
+ },
403
+ {
404
+ "anonymous": false,
405
+ "inputs": [
406
+ {
407
+ "indexed": true,
408
+ "internalType": "address",
409
+ "name": "_taxAddress",
410
+ "type": "address"
411
+ },
412
+ {
413
+ "indexed": true,
414
+ "internalType": "uint256",
415
+ "name": "_taxBPS",
416
+ "type": "uint256"
417
+ }
418
+ ],
419
+ "name": "TaxConfigSet",
420
+ "type": "event"
421
+ },
422
+ {
423
+ "anonymous": false,
424
+ "inputs": [
425
+ {
426
+ "indexed": true,
427
+ "internalType": "address",
428
+ "name": "from",
429
+ "type": "address"
430
+ },
431
+ {
432
+ "indexed": true,
433
+ "internalType": "address",
434
+ "name": "to",
435
+ "type": "address"
436
+ },
437
+ {
438
+ "indexed": false,
439
+ "internalType": "uint256",
440
+ "name": "value",
441
+ "type": "uint256"
442
+ }
443
+ ],
444
+ "name": "Transfer",
445
+ "type": "event"
446
+ },
447
+ {
448
+ "inputs": [],
449
+ "name": "CONTRACT_HASH",
450
+ "outputs": [
451
+ {
452
+ "internalType": "bytes32",
453
+ "name": "",
454
+ "type": "bytes32"
455
+ }
456
+ ],
457
+ "stateMutability": "view",
458
+ "type": "function"
459
+ },
460
+ {
461
+ "inputs": [],
462
+ "name": "CONTRACT_NAME",
463
+ "outputs": [
464
+ {
465
+ "internalType": "string",
466
+ "name": "",
467
+ "type": "string"
468
+ }
469
+ ],
470
+ "stateMutability": "view",
471
+ "type": "function"
472
+ },
473
+ {
474
+ "inputs": [],
475
+ "name": "MAX_EXCLUSION_LIMIT",
476
+ "outputs": [
477
+ {
478
+ "internalType": "uint256",
479
+ "name": "",
480
+ "type": "uint256"
481
+ }
482
+ ],
483
+ "stateMutability": "view",
484
+ "type": "function"
485
+ },
486
+ {
487
+ "inputs": [],
488
+ "name": "MAX_REWARDS_EXCLUSION_LIMIT",
489
+ "outputs": [
490
+ {
491
+ "internalType": "uint256",
492
+ "name": "",
493
+ "type": "uint256"
494
+ }
495
+ ],
496
+ "stateMutability": "view",
497
+ "type": "function"
498
+ },
499
+ {
500
+ "inputs": [],
501
+ "name": "VERSION",
502
+ "outputs": [
503
+ {
504
+ "internalType": "string",
505
+ "name": "",
506
+ "type": "string"
507
+ }
508
+ ],
509
+ "stateMutability": "view",
510
+ "type": "function"
511
+ },
512
+ {
513
+ "inputs": [],
514
+ "name": "_tTotal",
515
+ "outputs": [
516
+ {
517
+ "internalType": "uint256",
518
+ "name": "",
519
+ "type": "uint256"
520
+ }
521
+ ],
522
+ "stateMutability": "view",
523
+ "type": "function"
524
+ },
525
+ {
526
+ "inputs": [
527
+ {
528
+ "internalType": "address",
529
+ "name": "owner",
530
+ "type": "address"
531
+ },
532
+ {
533
+ "internalType": "address",
534
+ "name": "spender",
535
+ "type": "address"
536
+ }
537
+ ],
538
+ "name": "allowance",
539
+ "outputs": [
540
+ {
541
+ "internalType": "uint256",
542
+ "name": "",
543
+ "type": "uint256"
544
+ }
545
+ ],
546
+ "stateMutability": "view",
547
+ "type": "function"
548
+ },
549
+ {
550
+ "inputs": [
551
+ {
552
+ "internalType": "address",
553
+ "name": "spender",
554
+ "type": "address"
555
+ },
556
+ {
557
+ "internalType": "uint256",
558
+ "name": "amount",
559
+ "type": "uint256"
560
+ }
561
+ ],
562
+ "name": "approve",
563
+ "outputs": [
564
+ {
565
+ "internalType": "bool",
566
+ "name": "",
567
+ "type": "bool"
568
+ }
569
+ ],
570
+ "stateMutability": "nonpayable",
571
+ "type": "function"
572
+ },
573
+ {
574
+ "inputs": [
575
+ {
576
+ "internalType": "address",
577
+ "name": "account",
578
+ "type": "address"
579
+ }
580
+ ],
581
+ "name": "balanceOf",
582
+ "outputs": [
583
+ {
584
+ "internalType": "uint256",
585
+ "name": "",
586
+ "type": "uint256"
587
+ }
588
+ ],
589
+ "stateMutability": "view",
590
+ "type": "function"
591
+ },
592
+ {
593
+ "inputs": [
594
+ {
595
+ "internalType": "uint256",
596
+ "name": "amount",
597
+ "type": "uint256"
598
+ }
599
+ ],
600
+ "name": "burn",
601
+ "outputs": [],
602
+ "stateMutability": "nonpayable",
603
+ "type": "function"
604
+ },
605
+ {
606
+ "inputs": [],
607
+ "name": "decimals",
608
+ "outputs": [
609
+ {
610
+ "internalType": "uint8",
611
+ "name": "",
612
+ "type": "uint8"
613
+ }
614
+ ],
615
+ "stateMutability": "view",
616
+ "type": "function"
617
+ },
618
+ {
619
+ "inputs": [
620
+ {
621
+ "internalType": "address",
622
+ "name": "spender",
623
+ "type": "address"
624
+ },
625
+ {
626
+ "internalType": "uint256",
627
+ "name": "subtractedValue",
628
+ "type": "uint256"
629
+ }
630
+ ],
631
+ "name": "decreaseAllowance",
632
+ "outputs": [
633
+ {
634
+ "internalType": "bool",
635
+ "name": "",
636
+ "type": "bool"
637
+ }
638
+ ],
639
+ "stateMutability": "nonpayable",
640
+ "type": "function"
641
+ },
642
+ {
643
+ "inputs": [],
644
+ "name": "deflationBPS",
645
+ "outputs": [
646
+ {
647
+ "internalType": "uint256",
648
+ "name": "",
649
+ "type": "uint256"
650
+ }
651
+ ],
652
+ "stateMutability": "view",
653
+ "type": "function"
654
+ },
655
+ {
656
+ "inputs": [],
657
+ "name": "documentUri",
658
+ "outputs": [
659
+ {
660
+ "internalType": "string",
661
+ "name": "",
662
+ "type": "string"
663
+ }
664
+ ],
665
+ "stateMutability": "view",
666
+ "type": "function"
667
+ },
668
+ {
669
+ "inputs": [
670
+ {
671
+ "internalType": "address",
672
+ "name": "account",
673
+ "type": "address"
674
+ }
675
+ ],
676
+ "name": "excludeFromFeesAndLimits",
677
+ "outputs": [],
678
+ "stateMutability": "nonpayable",
679
+ "type": "function"
680
+ },
681
+ {
682
+ "inputs": [
683
+ {
684
+ "internalType": "address",
685
+ "name": "account",
686
+ "type": "address"
687
+ }
688
+ ],
689
+ "name": "excludeFromRewards",
690
+ "outputs": [],
691
+ "stateMutability": "nonpayable",
692
+ "type": "function"
693
+ },
694
+ {
695
+ "inputs": [
696
+ {
697
+ "internalType": "uint256",
698
+ "name": "",
699
+ "type": "uint256"
700
+ }
701
+ ],
702
+ "name": "feesAndLimitsExcluded",
703
+ "outputs": [
704
+ {
705
+ "internalType": "address",
706
+ "name": "",
707
+ "type": "address"
708
+ }
709
+ ],
710
+ "stateMutability": "view",
711
+ "type": "function"
712
+ },
713
+ {
714
+ "inputs": [],
715
+ "name": "getFeesAndLimitsExclusionList",
716
+ "outputs": [
717
+ {
718
+ "internalType": "address[]",
719
+ "name": "",
720
+ "type": "address[]"
721
+ }
722
+ ],
723
+ "stateMutability": "view",
724
+ "type": "function"
725
+ },
726
+ {
727
+ "inputs": [],
728
+ "name": "getRewardsExclusionList",
729
+ "outputs": [
730
+ {
731
+ "internalType": "address[]",
732
+ "name": "",
733
+ "type": "address[]"
734
+ }
735
+ ],
736
+ "stateMutability": "view",
737
+ "type": "function"
738
+ },
739
+ {
740
+ "inputs": [
741
+ {
742
+ "internalType": "address",
743
+ "name": "account",
744
+ "type": "address"
745
+ }
746
+ ],
747
+ "name": "includeInFeesAndLimits",
748
+ "outputs": [],
749
+ "stateMutability": "nonpayable",
750
+ "type": "function"
751
+ },
752
+ {
753
+ "inputs": [
754
+ {
755
+ "internalType": "address",
756
+ "name": "account",
757
+ "type": "address"
758
+ }
759
+ ],
760
+ "name": "includeInRewards",
761
+ "outputs": [],
762
+ "stateMutability": "nonpayable",
763
+ "type": "function"
764
+ },
765
+ {
766
+ "inputs": [
767
+ {
768
+ "internalType": "address",
769
+ "name": "spender",
770
+ "type": "address"
771
+ },
772
+ {
773
+ "internalType": "uint256",
774
+ "name": "addedValue",
775
+ "type": "uint256"
776
+ }
777
+ ],
778
+ "name": "increaseAllowance",
779
+ "outputs": [
780
+ {
781
+ "internalType": "bool",
782
+ "name": "",
783
+ "type": "bool"
784
+ }
785
+ ],
786
+ "stateMutability": "nonpayable",
787
+ "type": "function"
788
+ },
789
+ {
790
+ "inputs": [],
791
+ "name": "initialDocumentUri",
792
+ "outputs": [
793
+ {
794
+ "internalType": "string",
795
+ "name": "",
796
+ "type": "string"
797
+ }
798
+ ],
799
+ "stateMutability": "view",
800
+ "type": "function"
801
+ },
802
+ {
803
+ "inputs": [],
804
+ "name": "initialMaxTokenAmountPerAddress",
805
+ "outputs": [
806
+ {
807
+ "internalType": "uint256",
808
+ "name": "",
809
+ "type": "uint256"
810
+ }
811
+ ],
812
+ "stateMutability": "view",
813
+ "type": "function"
814
+ },
815
+ {
816
+ "inputs": [],
817
+ "name": "initialSupply",
818
+ "outputs": [
819
+ {
820
+ "internalType": "uint256",
821
+ "name": "",
822
+ "type": "uint256"
823
+ }
824
+ ],
825
+ "stateMutability": "view",
826
+ "type": "function"
827
+ },
828
+ {
829
+ "inputs": [],
830
+ "name": "initialTokenOwner",
831
+ "outputs": [
832
+ {
833
+ "internalType": "address",
834
+ "name": "",
835
+ "type": "address"
836
+ }
837
+ ],
838
+ "stateMutability": "view",
839
+ "type": "function"
840
+ },
841
+ {
842
+ "inputs": [],
843
+ "name": "isBurnable",
844
+ "outputs": [
845
+ {
846
+ "internalType": "bool",
847
+ "name": "",
848
+ "type": "bool"
849
+ }
850
+ ],
851
+ "stateMutability": "view",
852
+ "type": "function"
853
+ },
854
+ {
855
+ "inputs": [],
856
+ "name": "isDeflationary",
857
+ "outputs": [
858
+ {
859
+ "internalType": "bool",
860
+ "name": "",
861
+ "type": "bool"
862
+ }
863
+ ],
864
+ "stateMutability": "view",
865
+ "type": "function"
866
+ },
867
+ {
868
+ "inputs": [],
869
+ "name": "isDocumentUriAllowed",
870
+ "outputs": [
871
+ {
872
+ "internalType": "bool",
873
+ "name": "",
874
+ "type": "bool"
875
+ }
876
+ ],
877
+ "stateMutability": "view",
878
+ "type": "function"
879
+ },
880
+ {
881
+ "inputs": [
882
+ {
883
+ "internalType": "address",
884
+ "name": "",
885
+ "type": "address"
886
+ }
887
+ ],
888
+ "name": "isFeesAndLimitsExcluded",
889
+ "outputs": [
890
+ {
891
+ "internalType": "bool",
892
+ "name": "",
893
+ "type": "bool"
894
+ }
895
+ ],
896
+ "stateMutability": "view",
897
+ "type": "function"
898
+ },
899
+ {
900
+ "inputs": [],
901
+ "name": "isMaxAmountOfTokensSet",
902
+ "outputs": [
903
+ {
904
+ "internalType": "bool",
905
+ "name": "",
906
+ "type": "bool"
907
+ }
908
+ ],
909
+ "stateMutability": "view",
910
+ "type": "function"
911
+ },
912
+ {
913
+ "inputs": [],
914
+ "name": "isReflective",
915
+ "outputs": [
916
+ {
917
+ "internalType": "bool",
918
+ "name": "",
919
+ "type": "bool"
920
+ }
921
+ ],
922
+ "stateMutability": "view",
923
+ "type": "function"
924
+ },
925
+ {
926
+ "inputs": [],
927
+ "name": "isTaxable",
928
+ "outputs": [
929
+ {
930
+ "internalType": "bool",
931
+ "name": "",
932
+ "type": "bool"
933
+ }
934
+ ],
935
+ "stateMutability": "view",
936
+ "type": "function"
937
+ },
938
+ {
939
+ "inputs": [],
940
+ "name": "maxTokenAmountPerAddress",
941
+ "outputs": [
942
+ {
943
+ "internalType": "uint256",
944
+ "name": "",
945
+ "type": "uint256"
946
+ }
947
+ ],
948
+ "stateMutability": "view",
949
+ "type": "function"
950
+ },
951
+ {
952
+ "inputs": [],
953
+ "name": "name",
954
+ "outputs": [
955
+ {
956
+ "internalType": "string",
957
+ "name": "",
958
+ "type": "string"
959
+ }
960
+ ],
961
+ "stateMutability": "view",
962
+ "type": "function"
963
+ },
964
+ {
965
+ "inputs": [],
966
+ "name": "owner",
967
+ "outputs": [
968
+ {
969
+ "internalType": "address",
970
+ "name": "",
971
+ "type": "address"
972
+ }
973
+ ],
974
+ "stateMutability": "view",
975
+ "type": "function"
976
+ },
977
+ {
978
+ "inputs": [],
979
+ "name": "renounceOwnership",
980
+ "outputs": [],
981
+ "stateMutability": "nonpayable",
982
+ "type": "function"
983
+ },
984
+ {
985
+ "inputs": [
986
+ {
987
+ "internalType": "uint256",
988
+ "name": "",
989
+ "type": "uint256"
990
+ }
991
+ ],
992
+ "name": "rewardsExcluded",
993
+ "outputs": [
994
+ {
995
+ "internalType": "address",
996
+ "name": "",
997
+ "type": "address"
998
+ }
999
+ ],
1000
+ "stateMutability": "view",
1001
+ "type": "function"
1002
+ },
1003
+ {
1004
+ "inputs": [
1005
+ {
1006
+ "internalType": "uint256",
1007
+ "name": "_deflationBPS",
1008
+ "type": "uint256"
1009
+ }
1010
+ ],
1011
+ "name": "setDeflationConfig",
1012
+ "outputs": [],
1013
+ "stateMutability": "nonpayable",
1014
+ "type": "function"
1015
+ },
1016
+ {
1017
+ "inputs": [
1018
+ {
1019
+ "internalType": "string",
1020
+ "name": "newDocumentUri",
1021
+ "type": "string"
1022
+ }
1023
+ ],
1024
+ "name": "setDocumentUri",
1025
+ "outputs": [],
1026
+ "stateMutability": "nonpayable",
1027
+ "type": "function"
1028
+ },
1029
+ {
1030
+ "inputs": [
1031
+ {
1032
+ "internalType": "uint256",
1033
+ "name": "newMaxTokenAmount",
1034
+ "type": "uint256"
1035
+ }
1036
+ ],
1037
+ "name": "setMaxTokenAmountPerAddress",
1038
+ "outputs": [],
1039
+ "stateMutability": "nonpayable",
1040
+ "type": "function"
1041
+ },
1042
+ {
1043
+ "inputs": [
1044
+ {
1045
+ "internalType": "uint256",
1046
+ "name": "_feeBPS",
1047
+ "type": "uint256"
1048
+ }
1049
+ ],
1050
+ "name": "setReflectionConfig",
1051
+ "outputs": [],
1052
+ "stateMutability": "nonpayable",
1053
+ "type": "function"
1054
+ },
1055
+ {
1056
+ "inputs": [
1057
+ {
1058
+ "internalType": "address",
1059
+ "name": "_taxAddress",
1060
+ "type": "address"
1061
+ },
1062
+ {
1063
+ "internalType": "uint256",
1064
+ "name": "_taxBPS",
1065
+ "type": "uint256"
1066
+ }
1067
+ ],
1068
+ "name": "setTaxConfig",
1069
+ "outputs": [],
1070
+ "stateMutability": "nonpayable",
1071
+ "type": "function"
1072
+ },
1073
+ {
1074
+ "inputs": [],
1075
+ "name": "symbol",
1076
+ "outputs": [
1077
+ {
1078
+ "internalType": "string",
1079
+ "name": "",
1080
+ "type": "string"
1081
+ }
1082
+ ],
1083
+ "stateMutability": "view",
1084
+ "type": "function"
1085
+ },
1086
+ {
1087
+ "inputs": [],
1088
+ "name": "tFeeBPS",
1089
+ "outputs": [
1090
+ {
1091
+ "internalType": "uint256",
1092
+ "name": "",
1093
+ "type": "uint256"
1094
+ }
1095
+ ],
1096
+ "stateMutability": "view",
1097
+ "type": "function"
1098
+ },
1099
+ {
1100
+ "inputs": [],
1101
+ "name": "taxAddress",
1102
+ "outputs": [
1103
+ {
1104
+ "internalType": "address",
1105
+ "name": "",
1106
+ "type": "address"
1107
+ }
1108
+ ],
1109
+ "stateMutability": "view",
1110
+ "type": "function"
1111
+ },
1112
+ {
1113
+ "inputs": [],
1114
+ "name": "taxBPS",
1115
+ "outputs": [
1116
+ {
1117
+ "internalType": "uint256",
1118
+ "name": "",
1119
+ "type": "uint256"
1120
+ }
1121
+ ],
1122
+ "stateMutability": "view",
1123
+ "type": "function"
1124
+ },
1125
+ {
1126
+ "inputs": [
1127
+ {
1128
+ "internalType": "uint256",
1129
+ "name": "rAmount",
1130
+ "type": "uint256"
1131
+ }
1132
+ ],
1133
+ "name": "tokenFromReflection",
1134
+ "outputs": [
1135
+ {
1136
+ "internalType": "uint256",
1137
+ "name": "",
1138
+ "type": "uint256"
1139
+ }
1140
+ ],
1141
+ "stateMutability": "view",
1142
+ "type": "function"
1143
+ },
1144
+ {
1145
+ "inputs": [],
1146
+ "name": "totalSupply",
1147
+ "outputs": [
1148
+ {
1149
+ "internalType": "uint256",
1150
+ "name": "",
1151
+ "type": "uint256"
1152
+ }
1153
+ ],
1154
+ "stateMutability": "view",
1155
+ "type": "function"
1156
+ },
1157
+ {
1158
+ "inputs": [
1159
+ {
1160
+ "internalType": "address",
1161
+ "name": "to",
1162
+ "type": "address"
1163
+ },
1164
+ {
1165
+ "internalType": "uint256",
1166
+ "name": "amount",
1167
+ "type": "uint256"
1168
+ }
1169
+ ],
1170
+ "name": "transfer",
1171
+ "outputs": [
1172
+ {
1173
+ "internalType": "bool",
1174
+ "name": "",
1175
+ "type": "bool"
1176
+ }
1177
+ ],
1178
+ "stateMutability": "nonpayable",
1179
+ "type": "function"
1180
+ },
1181
+ {
1182
+ "inputs": [
1183
+ {
1184
+ "internalType": "address",
1185
+ "name": "from",
1186
+ "type": "address"
1187
+ },
1188
+ {
1189
+ "internalType": "address",
1190
+ "name": "to",
1191
+ "type": "address"
1192
+ },
1193
+ {
1194
+ "internalType": "uint256",
1195
+ "name": "amount",
1196
+ "type": "uint256"
1197
+ }
1198
+ ],
1199
+ "name": "transferFrom",
1200
+ "outputs": [
1201
+ {
1202
+ "internalType": "bool",
1203
+ "name": "",
1204
+ "type": "bool"
1205
+ }
1206
+ ],
1207
+ "stateMutability": "nonpayable",
1208
+ "type": "function"
1209
+ },
1210
+ {
1211
+ "inputs": [
1212
+ {
1213
+ "internalType": "address",
1214
+ "name": "newOwner",
1215
+ "type": "address"
1216
+ }
1217
+ ],
1218
+ "name": "transferOwnership",
1219
+ "outputs": [],
1220
+ "stateMutability": "nonpayable",
1221
+ "type": "function"
1222
+ }
1223
+ ] as const satisfies Abi;
1224
+
1225
+ /**
1226
+ * Type-safe ABI for DefiTokenFixedSupply_json
1227
+ */
1228
+ export type DefiTokenFixedSupply_jsonAbi = typeof DefiTokenFixedSupply_jsonAbi;
1229
+
1230
+ /**
1231
+ * Contract instance type for DefiTokenFixedSupply_json
1232
+ */
1233
+ // Use any for contract type to avoid complex viem type issues
1234
+ // The runtime behavior is type-safe through viem's ABI typing
1235
+ export type DefiTokenFixedSupply_jsonContract = any;
1236
+
1237
+ /**
1238
+ * DefiTokenFixedSupply_json Contract Class
1239
+ *
1240
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1241
+ *
1242
+ * @example
1243
+ * ```typescript
1244
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1245
+ * import { mainnet } from 'viem/chains';
1246
+ * import { DefiTokenFixedSupply_json } from 'DefiTokenFixedSupply_json';
1247
+ *
1248
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1249
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1250
+ *
1251
+ * const contract = new DefiTokenFixedSupply_json('0x...', { publicClient, walletClient });
1252
+ *
1253
+ * // Read functions
1254
+ * const result = await contract.balanceOf('0x...');
1255
+ *
1256
+ * // Write functions
1257
+ * const hash = await contract.transfer('0x...', 1000n);
1258
+ *
1259
+ * // Simulate transactions (dry-run)
1260
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
1261
+ * console.log('Gas estimate:', simulation.request.gas);
1262
+ *
1263
+ * // Watch events
1264
+ * const unwatch = contract.watch.Transfer((event) => {
1265
+ * console.log('Transfer event:', event);
1266
+ * });
1267
+ * ```
1268
+ */
1269
+ export class DefiTokenFixedSupply_json {
1270
+ private contract: DefiTokenFixedSupply_jsonContract;
1271
+ private contractAddress: Address;
1272
+ private publicClient: PublicClient;
1273
+
1274
+ constructor(
1275
+ address: Address,
1276
+ clients: {
1277
+ publicClient: PublicClient;
1278
+ walletClient?: WalletClient;
1279
+ }
1280
+ ) {
1281
+ this.contractAddress = address;
1282
+ this.publicClient = clients.publicClient;
1283
+ this.contract = getContract({
1284
+ address,
1285
+ abi: DefiTokenFixedSupply_jsonAbi,
1286
+ client: {
1287
+ public: clients.publicClient,
1288
+ wallet: clients.walletClient,
1289
+ },
1290
+ });
1291
+ }
1292
+
1293
+ /**
1294
+ * Get the contract address
1295
+ */
1296
+ get address(): Address {
1297
+ return this.contractAddress;
1298
+ }
1299
+
1300
+ /**
1301
+ * Get the underlying viem contract instance
1302
+ */
1303
+ getContract(): DefiTokenFixedSupply_jsonContract {
1304
+ return this.contract;
1305
+ }
1306
+
1307
+ /**
1308
+ * CONTRACT_HASH
1309
+ * view
1310
+ */
1311
+ async CONTRACT_HASH(): Promise<`0x${string}`> {
1312
+ return this.contract.read.CONTRACT_HASH() as Promise<`0x${string}`>;
1313
+ }
1314
+
1315
+ /**
1316
+ * CONTRACT_NAME
1317
+ * view
1318
+ */
1319
+ async CONTRACT_NAME(): Promise<string> {
1320
+ return this.contract.read.CONTRACT_NAME() as Promise<string>;
1321
+ }
1322
+
1323
+ /**
1324
+ * MAX_EXCLUSION_LIMIT
1325
+ * view
1326
+ */
1327
+ async MAX_EXCLUSION_LIMIT(): Promise<bigint> {
1328
+ return this.contract.read.MAX_EXCLUSION_LIMIT() as Promise<bigint>;
1329
+ }
1330
+
1331
+ /**
1332
+ * MAX_REWARDS_EXCLUSION_LIMIT
1333
+ * view
1334
+ */
1335
+ async MAX_REWARDS_EXCLUSION_LIMIT(): Promise<bigint> {
1336
+ return this.contract.read.MAX_REWARDS_EXCLUSION_LIMIT() as Promise<bigint>;
1337
+ }
1338
+
1339
+ /**
1340
+ * VERSION
1341
+ * view
1342
+ */
1343
+ async VERSION(): Promise<string> {
1344
+ return this.contract.read.VERSION() as Promise<string>;
1345
+ }
1346
+
1347
+ /**
1348
+ * _tTotal
1349
+ * view
1350
+ */
1351
+ async _tTotal(): Promise<bigint> {
1352
+ return this.contract.read._tTotal() as Promise<bigint>;
1353
+ }
1354
+
1355
+ /**
1356
+ * allowance
1357
+ * view
1358
+ */
1359
+ async allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint> {
1360
+ return this.contract.read.allowance([owner, spender] as const) as Promise<bigint>;
1361
+ }
1362
+
1363
+ /**
1364
+ * balanceOf
1365
+ * view
1366
+ */
1367
+ async balanceOf(account: `0x${string}`): Promise<bigint> {
1368
+ return this.contract.read.balanceOf([account] as const) as Promise<bigint>;
1369
+ }
1370
+
1371
+ /**
1372
+ * decimals
1373
+ * view
1374
+ */
1375
+ async decimals(): Promise<bigint> {
1376
+ return this.contract.read.decimals() as Promise<bigint>;
1377
+ }
1378
+
1379
+ /**
1380
+ * deflationBPS
1381
+ * view
1382
+ */
1383
+ async deflationBPS(): Promise<bigint> {
1384
+ return this.contract.read.deflationBPS() as Promise<bigint>;
1385
+ }
1386
+
1387
+ /**
1388
+ * documentUri
1389
+ * view
1390
+ */
1391
+ async documentUri(): Promise<string> {
1392
+ return this.contract.read.documentUri() as Promise<string>;
1393
+ }
1394
+
1395
+ /**
1396
+ * feesAndLimitsExcluded
1397
+ * view
1398
+ */
1399
+ async feesAndLimitsExcluded(arg0: bigint): Promise<`0x${string}`> {
1400
+ return this.contract.read.feesAndLimitsExcluded([arg0] as const) as Promise<`0x${string}`>;
1401
+ }
1402
+
1403
+ /**
1404
+ * getFeesAndLimitsExclusionList
1405
+ * view
1406
+ */
1407
+ async getFeesAndLimitsExclusionList(): Promise<`0x${string}`[]> {
1408
+ return this.contract.read.getFeesAndLimitsExclusionList() as Promise<`0x${string}`[]>;
1409
+ }
1410
+
1411
+ /**
1412
+ * getRewardsExclusionList
1413
+ * view
1414
+ */
1415
+ async getRewardsExclusionList(): Promise<`0x${string}`[]> {
1416
+ return this.contract.read.getRewardsExclusionList() as Promise<`0x${string}`[]>;
1417
+ }
1418
+
1419
+ /**
1420
+ * initialDocumentUri
1421
+ * view
1422
+ */
1423
+ async initialDocumentUri(): Promise<string> {
1424
+ return this.contract.read.initialDocumentUri() as Promise<string>;
1425
+ }
1426
+
1427
+ /**
1428
+ * initialMaxTokenAmountPerAddress
1429
+ * view
1430
+ */
1431
+ async initialMaxTokenAmountPerAddress(): Promise<bigint> {
1432
+ return this.contract.read.initialMaxTokenAmountPerAddress() as Promise<bigint>;
1433
+ }
1434
+
1435
+ /**
1436
+ * initialSupply
1437
+ * view
1438
+ */
1439
+ async initialSupply(): Promise<bigint> {
1440
+ return this.contract.read.initialSupply() as Promise<bigint>;
1441
+ }
1442
+
1443
+ /**
1444
+ * initialTokenOwner
1445
+ * view
1446
+ */
1447
+ async initialTokenOwner(): Promise<`0x${string}`> {
1448
+ return this.contract.read.initialTokenOwner() as Promise<`0x${string}`>;
1449
+ }
1450
+
1451
+ /**
1452
+ * isBurnable
1453
+ * view
1454
+ */
1455
+ async isBurnable(): Promise<boolean> {
1456
+ return this.contract.read.isBurnable() as Promise<boolean>;
1457
+ }
1458
+
1459
+ /**
1460
+ * isDeflationary
1461
+ * view
1462
+ */
1463
+ async isDeflationary(): Promise<boolean> {
1464
+ return this.contract.read.isDeflationary() as Promise<boolean>;
1465
+ }
1466
+
1467
+ /**
1468
+ * isDocumentUriAllowed
1469
+ * view
1470
+ */
1471
+ async isDocumentUriAllowed(): Promise<boolean> {
1472
+ return this.contract.read.isDocumentUriAllowed() as Promise<boolean>;
1473
+ }
1474
+
1475
+ /**
1476
+ * isFeesAndLimitsExcluded
1477
+ * view
1478
+ */
1479
+ async isFeesAndLimitsExcluded(arg0: `0x${string}`): Promise<boolean> {
1480
+ return this.contract.read.isFeesAndLimitsExcluded([arg0] as const) as Promise<boolean>;
1481
+ }
1482
+
1483
+ /**
1484
+ * isMaxAmountOfTokensSet
1485
+ * view
1486
+ */
1487
+ async isMaxAmountOfTokensSet(): Promise<boolean> {
1488
+ return this.contract.read.isMaxAmountOfTokensSet() as Promise<boolean>;
1489
+ }
1490
+
1491
+ /**
1492
+ * isReflective
1493
+ * view
1494
+ */
1495
+ async isReflective(): Promise<boolean> {
1496
+ return this.contract.read.isReflective() as Promise<boolean>;
1497
+ }
1498
+
1499
+ /**
1500
+ * isTaxable
1501
+ * view
1502
+ */
1503
+ async isTaxable(): Promise<boolean> {
1504
+ return this.contract.read.isTaxable() as Promise<boolean>;
1505
+ }
1506
+
1507
+ /**
1508
+ * maxTokenAmountPerAddress
1509
+ * view
1510
+ */
1511
+ async maxTokenAmountPerAddress(): Promise<bigint> {
1512
+ return this.contract.read.maxTokenAmountPerAddress() as Promise<bigint>;
1513
+ }
1514
+
1515
+ /**
1516
+ * name
1517
+ * view
1518
+ */
1519
+ async name(): Promise<string> {
1520
+ return this.contract.read.name() as Promise<string>;
1521
+ }
1522
+
1523
+ /**
1524
+ * owner
1525
+ * view
1526
+ */
1527
+ async owner(): Promise<`0x${string}`> {
1528
+ return this.contract.read.owner() as Promise<`0x${string}`>;
1529
+ }
1530
+
1531
+ /**
1532
+ * rewardsExcluded
1533
+ * view
1534
+ */
1535
+ async rewardsExcluded(arg0: bigint): Promise<`0x${string}`> {
1536
+ return this.contract.read.rewardsExcluded([arg0] as const) as Promise<`0x${string}`>;
1537
+ }
1538
+
1539
+ /**
1540
+ * symbol
1541
+ * view
1542
+ */
1543
+ async symbol(): Promise<string> {
1544
+ return this.contract.read.symbol() as Promise<string>;
1545
+ }
1546
+
1547
+ /**
1548
+ * tFeeBPS
1549
+ * view
1550
+ */
1551
+ async tFeeBPS(): Promise<bigint> {
1552
+ return this.contract.read.tFeeBPS() as Promise<bigint>;
1553
+ }
1554
+
1555
+ /**
1556
+ * taxAddress
1557
+ * view
1558
+ */
1559
+ async taxAddress(): Promise<`0x${string}`> {
1560
+ return this.contract.read.taxAddress() as Promise<`0x${string}`>;
1561
+ }
1562
+
1563
+ /**
1564
+ * taxBPS
1565
+ * view
1566
+ */
1567
+ async taxBPS(): Promise<bigint> {
1568
+ return this.contract.read.taxBPS() as Promise<bigint>;
1569
+ }
1570
+
1571
+ /**
1572
+ * tokenFromReflection
1573
+ * view
1574
+ */
1575
+ async tokenFromReflection(rAmount: bigint): Promise<bigint> {
1576
+ return this.contract.read.tokenFromReflection([rAmount] as const) as Promise<bigint>;
1577
+ }
1578
+
1579
+ /**
1580
+ * totalSupply
1581
+ * view
1582
+ */
1583
+ async totalSupply(): Promise<bigint> {
1584
+ return this.contract.read.totalSupply() as Promise<bigint>;
1585
+ }
1586
+
1587
+ /**
1588
+ * approve
1589
+ * nonpayable
1590
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1591
+ */
1592
+ async approve(spender: `0x${string}`, amount: bigint, options?: {
1593
+ accessList?: import('viem').AccessList;
1594
+ authorizationList?: import('viem').AuthorizationList;
1595
+ chain?: import('viem').Chain | null;
1596
+ dataSuffix?: `0x${string}`;
1597
+ gas?: bigint;
1598
+ gasPrice?: bigint;
1599
+ maxFeePerGas?: bigint;
1600
+ maxPriorityFeePerGas?: bigint;
1601
+ nonce?: number;
1602
+ value?: bigint;
1603
+ }): Promise<`0x${string}`> {
1604
+ if (!this.contract.write) {
1605
+ throw new Error('Wallet client is required for write operations');
1606
+ }
1607
+ return this.contract.write.approve([spender, amount] as const, options) as Promise<`0x${string}`>;
1608
+ }
1609
+
1610
+ /**
1611
+ * burn
1612
+ * nonpayable
1613
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1614
+ */
1615
+ async burn(amount: bigint, options?: {
1616
+ accessList?: import('viem').AccessList;
1617
+ authorizationList?: import('viem').AuthorizationList;
1618
+ chain?: import('viem').Chain | null;
1619
+ dataSuffix?: `0x${string}`;
1620
+ gas?: bigint;
1621
+ gasPrice?: bigint;
1622
+ maxFeePerGas?: bigint;
1623
+ maxPriorityFeePerGas?: bigint;
1624
+ nonce?: number;
1625
+ value?: bigint;
1626
+ }): Promise<`0x${string}`> {
1627
+ if (!this.contract.write) {
1628
+ throw new Error('Wallet client is required for write operations');
1629
+ }
1630
+ return this.contract.write.burn([amount] as const, options) as Promise<`0x${string}`>;
1631
+ }
1632
+
1633
+ /**
1634
+ * decreaseAllowance
1635
+ * nonpayable
1636
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1637
+ */
1638
+ async decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
1639
+ accessList?: import('viem').AccessList;
1640
+ authorizationList?: import('viem').AuthorizationList;
1641
+ chain?: import('viem').Chain | null;
1642
+ dataSuffix?: `0x${string}`;
1643
+ gas?: bigint;
1644
+ gasPrice?: bigint;
1645
+ maxFeePerGas?: bigint;
1646
+ maxPriorityFeePerGas?: bigint;
1647
+ nonce?: number;
1648
+ value?: bigint;
1649
+ }): Promise<`0x${string}`> {
1650
+ if (!this.contract.write) {
1651
+ throw new Error('Wallet client is required for write operations');
1652
+ }
1653
+ return this.contract.write.decreaseAllowance([spender, subtractedValue] as const, options) as Promise<`0x${string}`>;
1654
+ }
1655
+
1656
+ /**
1657
+ * excludeFromFeesAndLimits
1658
+ * nonpayable
1659
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1660
+ */
1661
+ async excludeFromFeesAndLimits(account: `0x${string}`, options?: {
1662
+ accessList?: import('viem').AccessList;
1663
+ authorizationList?: import('viem').AuthorizationList;
1664
+ chain?: import('viem').Chain | null;
1665
+ dataSuffix?: `0x${string}`;
1666
+ gas?: bigint;
1667
+ gasPrice?: bigint;
1668
+ maxFeePerGas?: bigint;
1669
+ maxPriorityFeePerGas?: bigint;
1670
+ nonce?: number;
1671
+ value?: bigint;
1672
+ }): Promise<`0x${string}`> {
1673
+ if (!this.contract.write) {
1674
+ throw new Error('Wallet client is required for write operations');
1675
+ }
1676
+ return this.contract.write.excludeFromFeesAndLimits([account] as const, options) as Promise<`0x${string}`>;
1677
+ }
1678
+
1679
+ /**
1680
+ * excludeFromRewards
1681
+ * nonpayable
1682
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1683
+ */
1684
+ async excludeFromRewards(account: `0x${string}`, options?: {
1685
+ accessList?: import('viem').AccessList;
1686
+ authorizationList?: import('viem').AuthorizationList;
1687
+ chain?: import('viem').Chain | null;
1688
+ dataSuffix?: `0x${string}`;
1689
+ gas?: bigint;
1690
+ gasPrice?: bigint;
1691
+ maxFeePerGas?: bigint;
1692
+ maxPriorityFeePerGas?: bigint;
1693
+ nonce?: number;
1694
+ value?: bigint;
1695
+ }): Promise<`0x${string}`> {
1696
+ if (!this.contract.write) {
1697
+ throw new Error('Wallet client is required for write operations');
1698
+ }
1699
+ return this.contract.write.excludeFromRewards([account] as const, options) as Promise<`0x${string}`>;
1700
+ }
1701
+
1702
+ /**
1703
+ * includeInFeesAndLimits
1704
+ * nonpayable
1705
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1706
+ */
1707
+ async includeInFeesAndLimits(account: `0x${string}`, options?: {
1708
+ accessList?: import('viem').AccessList;
1709
+ authorizationList?: import('viem').AuthorizationList;
1710
+ chain?: import('viem').Chain | null;
1711
+ dataSuffix?: `0x${string}`;
1712
+ gas?: bigint;
1713
+ gasPrice?: bigint;
1714
+ maxFeePerGas?: bigint;
1715
+ maxPriorityFeePerGas?: bigint;
1716
+ nonce?: number;
1717
+ value?: bigint;
1718
+ }): Promise<`0x${string}`> {
1719
+ if (!this.contract.write) {
1720
+ throw new Error('Wallet client is required for write operations');
1721
+ }
1722
+ return this.contract.write.includeInFeesAndLimits([account] as const, options) as Promise<`0x${string}`>;
1723
+ }
1724
+
1725
+ /**
1726
+ * includeInRewards
1727
+ * nonpayable
1728
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1729
+ */
1730
+ async includeInRewards(account: `0x${string}`, options?: {
1731
+ accessList?: import('viem').AccessList;
1732
+ authorizationList?: import('viem').AuthorizationList;
1733
+ chain?: import('viem').Chain | null;
1734
+ dataSuffix?: `0x${string}`;
1735
+ gas?: bigint;
1736
+ gasPrice?: bigint;
1737
+ maxFeePerGas?: bigint;
1738
+ maxPriorityFeePerGas?: bigint;
1739
+ nonce?: number;
1740
+ value?: bigint;
1741
+ }): Promise<`0x${string}`> {
1742
+ if (!this.contract.write) {
1743
+ throw new Error('Wallet client is required for write operations');
1744
+ }
1745
+ return this.contract.write.includeInRewards([account] as const, options) as Promise<`0x${string}`>;
1746
+ }
1747
+
1748
+ /**
1749
+ * increaseAllowance
1750
+ * nonpayable
1751
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1752
+ */
1753
+ async increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
1754
+ accessList?: import('viem').AccessList;
1755
+ authorizationList?: import('viem').AuthorizationList;
1756
+ chain?: import('viem').Chain | null;
1757
+ dataSuffix?: `0x${string}`;
1758
+ gas?: bigint;
1759
+ gasPrice?: bigint;
1760
+ maxFeePerGas?: bigint;
1761
+ maxPriorityFeePerGas?: bigint;
1762
+ nonce?: number;
1763
+ value?: bigint;
1764
+ }): Promise<`0x${string}`> {
1765
+ if (!this.contract.write) {
1766
+ throw new Error('Wallet client is required for write operations');
1767
+ }
1768
+ return this.contract.write.increaseAllowance([spender, addedValue] as const, options) as Promise<`0x${string}`>;
1769
+ }
1770
+
1771
+ /**
1772
+ * renounceOwnership
1773
+ * nonpayable
1774
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1775
+ */
1776
+ async renounceOwnership(options?: {
1777
+ accessList?: import('viem').AccessList;
1778
+ authorizationList?: import('viem').AuthorizationList;
1779
+ chain?: import('viem').Chain | null;
1780
+ dataSuffix?: `0x${string}`;
1781
+ gas?: bigint;
1782
+ gasPrice?: bigint;
1783
+ maxFeePerGas?: bigint;
1784
+ maxPriorityFeePerGas?: bigint;
1785
+ nonce?: number;
1786
+ value?: bigint;
1787
+ }): Promise<`0x${string}`> {
1788
+ if (!this.contract.write) {
1789
+ throw new Error('Wallet client is required for write operations');
1790
+ }
1791
+ return this.contract.write.renounceOwnership(options) as Promise<`0x${string}`>;
1792
+ }
1793
+
1794
+ /**
1795
+ * setDeflationConfig
1796
+ * nonpayable
1797
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1798
+ */
1799
+ async setDeflationConfig(_deflationBPS: bigint, options?: {
1800
+ accessList?: import('viem').AccessList;
1801
+ authorizationList?: import('viem').AuthorizationList;
1802
+ chain?: import('viem').Chain | null;
1803
+ dataSuffix?: `0x${string}`;
1804
+ gas?: bigint;
1805
+ gasPrice?: bigint;
1806
+ maxFeePerGas?: bigint;
1807
+ maxPriorityFeePerGas?: bigint;
1808
+ nonce?: number;
1809
+ value?: bigint;
1810
+ }): Promise<`0x${string}`> {
1811
+ if (!this.contract.write) {
1812
+ throw new Error('Wallet client is required for write operations');
1813
+ }
1814
+ return this.contract.write.setDeflationConfig([_deflationBPS] as const, options) as Promise<`0x${string}`>;
1815
+ }
1816
+
1817
+ /**
1818
+ * setDocumentUri
1819
+ * nonpayable
1820
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1821
+ */
1822
+ async setDocumentUri(newDocumentUri: string, options?: {
1823
+ accessList?: import('viem').AccessList;
1824
+ authorizationList?: import('viem').AuthorizationList;
1825
+ chain?: import('viem').Chain | null;
1826
+ dataSuffix?: `0x${string}`;
1827
+ gas?: bigint;
1828
+ gasPrice?: bigint;
1829
+ maxFeePerGas?: bigint;
1830
+ maxPriorityFeePerGas?: bigint;
1831
+ nonce?: number;
1832
+ value?: bigint;
1833
+ }): Promise<`0x${string}`> {
1834
+ if (!this.contract.write) {
1835
+ throw new Error('Wallet client is required for write operations');
1836
+ }
1837
+ return this.contract.write.setDocumentUri([newDocumentUri] as const, options) as Promise<`0x${string}`>;
1838
+ }
1839
+
1840
+ /**
1841
+ * setMaxTokenAmountPerAddress
1842
+ * nonpayable
1843
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1844
+ */
1845
+ async setMaxTokenAmountPerAddress(newMaxTokenAmount: bigint, options?: {
1846
+ accessList?: import('viem').AccessList;
1847
+ authorizationList?: import('viem').AuthorizationList;
1848
+ chain?: import('viem').Chain | null;
1849
+ dataSuffix?: `0x${string}`;
1850
+ gas?: bigint;
1851
+ gasPrice?: bigint;
1852
+ maxFeePerGas?: bigint;
1853
+ maxPriorityFeePerGas?: bigint;
1854
+ nonce?: number;
1855
+ value?: bigint;
1856
+ }): Promise<`0x${string}`> {
1857
+ if (!this.contract.write) {
1858
+ throw new Error('Wallet client is required for write operations');
1859
+ }
1860
+ return this.contract.write.setMaxTokenAmountPerAddress([newMaxTokenAmount] as const, options) as Promise<`0x${string}`>;
1861
+ }
1862
+
1863
+ /**
1864
+ * setReflectionConfig
1865
+ * nonpayable
1866
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1867
+ */
1868
+ async setReflectionConfig(_feeBPS: bigint, options?: {
1869
+ accessList?: import('viem').AccessList;
1870
+ authorizationList?: import('viem').AuthorizationList;
1871
+ chain?: import('viem').Chain | null;
1872
+ dataSuffix?: `0x${string}`;
1873
+ gas?: bigint;
1874
+ gasPrice?: bigint;
1875
+ maxFeePerGas?: bigint;
1876
+ maxPriorityFeePerGas?: bigint;
1877
+ nonce?: number;
1878
+ value?: bigint;
1879
+ }): Promise<`0x${string}`> {
1880
+ if (!this.contract.write) {
1881
+ throw new Error('Wallet client is required for write operations');
1882
+ }
1883
+ return this.contract.write.setReflectionConfig([_feeBPS] as const, options) as Promise<`0x${string}`>;
1884
+ }
1885
+
1886
+ /**
1887
+ * setTaxConfig
1888
+ * nonpayable
1889
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1890
+ */
1891
+ async setTaxConfig(_taxAddress: `0x${string}`, _taxBPS: bigint, options?: {
1892
+ accessList?: import('viem').AccessList;
1893
+ authorizationList?: import('viem').AuthorizationList;
1894
+ chain?: import('viem').Chain | null;
1895
+ dataSuffix?: `0x${string}`;
1896
+ gas?: bigint;
1897
+ gasPrice?: bigint;
1898
+ maxFeePerGas?: bigint;
1899
+ maxPriorityFeePerGas?: bigint;
1900
+ nonce?: number;
1901
+ value?: bigint;
1902
+ }): Promise<`0x${string}`> {
1903
+ if (!this.contract.write) {
1904
+ throw new Error('Wallet client is required for write operations');
1905
+ }
1906
+ return this.contract.write.setTaxConfig([_taxAddress, _taxBPS] as const, options) as Promise<`0x${string}`>;
1907
+ }
1908
+
1909
+ /**
1910
+ * transfer
1911
+ * nonpayable
1912
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1913
+ */
1914
+ async transfer(to: `0x${string}`, amount: bigint, options?: {
1915
+ accessList?: import('viem').AccessList;
1916
+ authorizationList?: import('viem').AuthorizationList;
1917
+ chain?: import('viem').Chain | null;
1918
+ dataSuffix?: `0x${string}`;
1919
+ gas?: bigint;
1920
+ gasPrice?: bigint;
1921
+ maxFeePerGas?: bigint;
1922
+ maxPriorityFeePerGas?: bigint;
1923
+ nonce?: number;
1924
+ value?: bigint;
1925
+ }): Promise<`0x${string}`> {
1926
+ if (!this.contract.write) {
1927
+ throw new Error('Wallet client is required for write operations');
1928
+ }
1929
+ return this.contract.write.transfer([to, amount] as const, options) as Promise<`0x${string}`>;
1930
+ }
1931
+
1932
+ /**
1933
+ * transferFrom
1934
+ * nonpayable
1935
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1936
+ */
1937
+ async transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
1938
+ accessList?: import('viem').AccessList;
1939
+ authorizationList?: import('viem').AuthorizationList;
1940
+ chain?: import('viem').Chain | null;
1941
+ dataSuffix?: `0x${string}`;
1942
+ gas?: bigint;
1943
+ gasPrice?: bigint;
1944
+ maxFeePerGas?: bigint;
1945
+ maxPriorityFeePerGas?: bigint;
1946
+ nonce?: number;
1947
+ value?: bigint;
1948
+ }): Promise<`0x${string}`> {
1949
+ if (!this.contract.write) {
1950
+ throw new Error('Wallet client is required for write operations');
1951
+ }
1952
+ return this.contract.write.transferFrom([from, to, amount] as const, options) as Promise<`0x${string}`>;
1953
+ }
1954
+
1955
+ /**
1956
+ * transferOwnership
1957
+ * nonpayable
1958
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1959
+ */
1960
+ async transferOwnership(newOwner: `0x${string}`, options?: {
1961
+ accessList?: import('viem').AccessList;
1962
+ authorizationList?: import('viem').AuthorizationList;
1963
+ chain?: import('viem').Chain | null;
1964
+ dataSuffix?: `0x${string}`;
1965
+ gas?: bigint;
1966
+ gasPrice?: bigint;
1967
+ maxFeePerGas?: bigint;
1968
+ maxPriorityFeePerGas?: bigint;
1969
+ nonce?: number;
1970
+ value?: bigint;
1971
+ }): Promise<`0x${string}`> {
1972
+ if (!this.contract.write) {
1973
+ throw new Error('Wallet client is required for write operations');
1974
+ }
1975
+ return this.contract.write.transferOwnership([newOwner] as const, options) as Promise<`0x${string}`>;
1976
+ }
1977
+
1978
+
1979
+
1980
+ /**
1981
+ * Simulate contract write operations (dry-run without sending transaction)
1982
+ *
1983
+ * @example
1984
+ * const result = await contract.simulate.transfer('0x...', 1000n);
1985
+ * console.log('Gas estimate:', result.request.gas);
1986
+ * console.log('Would succeed:', result.result);
1987
+ */
1988
+ get simulate() {
1989
+ const contract = this.contract;
1990
+ if (!contract.simulate) {
1991
+ throw new Error('Public client is required for simulation');
1992
+ }
1993
+ return {
1994
+ /**
1995
+ * Simulate approve
1996
+ * Returns gas estimate and result without sending transaction
1997
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1998
+ */
1999
+ async approve(spender: `0x${string}`, amount: bigint, options?: {
2000
+ accessList?: import('viem').AccessList;
2001
+ authorizationList?: import('viem').AuthorizationList;
2002
+ chain?: import('viem').Chain | null;
2003
+ dataSuffix?: `0x${string}`;
2004
+ gas?: bigint;
2005
+ gasPrice?: bigint;
2006
+ maxFeePerGas?: bigint;
2007
+ maxPriorityFeePerGas?: bigint;
2008
+ nonce?: number;
2009
+ value?: bigint;
2010
+ }): Promise<boolean> {
2011
+ return contract.simulate.approve([spender, amount] as const, options) as Promise<boolean>;
2012
+ },
2013
+ /**
2014
+ * Simulate burn
2015
+ * Returns gas estimate and result without sending transaction
2016
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2017
+ */
2018
+ async burn(amount: bigint, options?: {
2019
+ accessList?: import('viem').AccessList;
2020
+ authorizationList?: import('viem').AuthorizationList;
2021
+ chain?: import('viem').Chain | null;
2022
+ dataSuffix?: `0x${string}`;
2023
+ gas?: bigint;
2024
+ gasPrice?: bigint;
2025
+ maxFeePerGas?: bigint;
2026
+ maxPriorityFeePerGas?: bigint;
2027
+ nonce?: number;
2028
+ value?: bigint;
2029
+ }): Promise<void> {
2030
+ return contract.simulate.burn([amount] as const, options) as Promise<void>;
2031
+ },
2032
+ /**
2033
+ * Simulate decreaseAllowance
2034
+ * Returns gas estimate and result without sending transaction
2035
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2036
+ */
2037
+ async decreaseAllowance(spender: `0x${string}`, subtractedValue: bigint, options?: {
2038
+ accessList?: import('viem').AccessList;
2039
+ authorizationList?: import('viem').AuthorizationList;
2040
+ chain?: import('viem').Chain | null;
2041
+ dataSuffix?: `0x${string}`;
2042
+ gas?: bigint;
2043
+ gasPrice?: bigint;
2044
+ maxFeePerGas?: bigint;
2045
+ maxPriorityFeePerGas?: bigint;
2046
+ nonce?: number;
2047
+ value?: bigint;
2048
+ }): Promise<boolean> {
2049
+ return contract.simulate.decreaseAllowance([spender, subtractedValue] as const, options) as Promise<boolean>;
2050
+ },
2051
+ /**
2052
+ * Simulate excludeFromFeesAndLimits
2053
+ * Returns gas estimate and result without sending transaction
2054
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2055
+ */
2056
+ async excludeFromFeesAndLimits(account: `0x${string}`, options?: {
2057
+ accessList?: import('viem').AccessList;
2058
+ authorizationList?: import('viem').AuthorizationList;
2059
+ chain?: import('viem').Chain | null;
2060
+ dataSuffix?: `0x${string}`;
2061
+ gas?: bigint;
2062
+ gasPrice?: bigint;
2063
+ maxFeePerGas?: bigint;
2064
+ maxPriorityFeePerGas?: bigint;
2065
+ nonce?: number;
2066
+ value?: bigint;
2067
+ }): Promise<void> {
2068
+ return contract.simulate.excludeFromFeesAndLimits([account] as const, options) as Promise<void>;
2069
+ },
2070
+ /**
2071
+ * Simulate excludeFromRewards
2072
+ * Returns gas estimate and result without sending transaction
2073
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2074
+ */
2075
+ async excludeFromRewards(account: `0x${string}`, options?: {
2076
+ accessList?: import('viem').AccessList;
2077
+ authorizationList?: import('viem').AuthorizationList;
2078
+ chain?: import('viem').Chain | null;
2079
+ dataSuffix?: `0x${string}`;
2080
+ gas?: bigint;
2081
+ gasPrice?: bigint;
2082
+ maxFeePerGas?: bigint;
2083
+ maxPriorityFeePerGas?: bigint;
2084
+ nonce?: number;
2085
+ value?: bigint;
2086
+ }): Promise<void> {
2087
+ return contract.simulate.excludeFromRewards([account] as const, options) as Promise<void>;
2088
+ },
2089
+ /**
2090
+ * Simulate includeInFeesAndLimits
2091
+ * Returns gas estimate and result without sending transaction
2092
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2093
+ */
2094
+ async includeInFeesAndLimits(account: `0x${string}`, options?: {
2095
+ accessList?: import('viem').AccessList;
2096
+ authorizationList?: import('viem').AuthorizationList;
2097
+ chain?: import('viem').Chain | null;
2098
+ dataSuffix?: `0x${string}`;
2099
+ gas?: bigint;
2100
+ gasPrice?: bigint;
2101
+ maxFeePerGas?: bigint;
2102
+ maxPriorityFeePerGas?: bigint;
2103
+ nonce?: number;
2104
+ value?: bigint;
2105
+ }): Promise<void> {
2106
+ return contract.simulate.includeInFeesAndLimits([account] as const, options) as Promise<void>;
2107
+ },
2108
+ /**
2109
+ * Simulate includeInRewards
2110
+ * Returns gas estimate and result without sending transaction
2111
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2112
+ */
2113
+ async includeInRewards(account: `0x${string}`, options?: {
2114
+ accessList?: import('viem').AccessList;
2115
+ authorizationList?: import('viem').AuthorizationList;
2116
+ chain?: import('viem').Chain | null;
2117
+ dataSuffix?: `0x${string}`;
2118
+ gas?: bigint;
2119
+ gasPrice?: bigint;
2120
+ maxFeePerGas?: bigint;
2121
+ maxPriorityFeePerGas?: bigint;
2122
+ nonce?: number;
2123
+ value?: bigint;
2124
+ }): Promise<void> {
2125
+ return contract.simulate.includeInRewards([account] as const, options) as Promise<void>;
2126
+ },
2127
+ /**
2128
+ * Simulate increaseAllowance
2129
+ * Returns gas estimate and result without sending transaction
2130
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2131
+ */
2132
+ async increaseAllowance(spender: `0x${string}`, addedValue: bigint, options?: {
2133
+ accessList?: import('viem').AccessList;
2134
+ authorizationList?: import('viem').AuthorizationList;
2135
+ chain?: import('viem').Chain | null;
2136
+ dataSuffix?: `0x${string}`;
2137
+ gas?: bigint;
2138
+ gasPrice?: bigint;
2139
+ maxFeePerGas?: bigint;
2140
+ maxPriorityFeePerGas?: bigint;
2141
+ nonce?: number;
2142
+ value?: bigint;
2143
+ }): Promise<boolean> {
2144
+ return contract.simulate.increaseAllowance([spender, addedValue] as const, options) as Promise<boolean>;
2145
+ },
2146
+ /**
2147
+ * Simulate renounceOwnership
2148
+ * Returns gas estimate and result without sending transaction
2149
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2150
+ */
2151
+ async renounceOwnership(options?: {
2152
+ accessList?: import('viem').AccessList;
2153
+ authorizationList?: import('viem').AuthorizationList;
2154
+ chain?: import('viem').Chain | null;
2155
+ dataSuffix?: `0x${string}`;
2156
+ gas?: bigint;
2157
+ gasPrice?: bigint;
2158
+ maxFeePerGas?: bigint;
2159
+ maxPriorityFeePerGas?: bigint;
2160
+ nonce?: number;
2161
+ value?: bigint;
2162
+ }): Promise<void> {
2163
+ return contract.simulate.renounceOwnership(options) as Promise<void>;
2164
+ },
2165
+ /**
2166
+ * Simulate setDeflationConfig
2167
+ * Returns gas estimate and result without sending transaction
2168
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2169
+ */
2170
+ async setDeflationConfig(_deflationBPS: bigint, options?: {
2171
+ accessList?: import('viem').AccessList;
2172
+ authorizationList?: import('viem').AuthorizationList;
2173
+ chain?: import('viem').Chain | null;
2174
+ dataSuffix?: `0x${string}`;
2175
+ gas?: bigint;
2176
+ gasPrice?: bigint;
2177
+ maxFeePerGas?: bigint;
2178
+ maxPriorityFeePerGas?: bigint;
2179
+ nonce?: number;
2180
+ value?: bigint;
2181
+ }): Promise<void> {
2182
+ return contract.simulate.setDeflationConfig([_deflationBPS] as const, options) as Promise<void>;
2183
+ },
2184
+ /**
2185
+ * Simulate setDocumentUri
2186
+ * Returns gas estimate and result without sending transaction
2187
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2188
+ */
2189
+ async setDocumentUri(newDocumentUri: string, options?: {
2190
+ accessList?: import('viem').AccessList;
2191
+ authorizationList?: import('viem').AuthorizationList;
2192
+ chain?: import('viem').Chain | null;
2193
+ dataSuffix?: `0x${string}`;
2194
+ gas?: bigint;
2195
+ gasPrice?: bigint;
2196
+ maxFeePerGas?: bigint;
2197
+ maxPriorityFeePerGas?: bigint;
2198
+ nonce?: number;
2199
+ value?: bigint;
2200
+ }): Promise<void> {
2201
+ return contract.simulate.setDocumentUri([newDocumentUri] as const, options) as Promise<void>;
2202
+ },
2203
+ /**
2204
+ * Simulate setMaxTokenAmountPerAddress
2205
+ * Returns gas estimate and result without sending transaction
2206
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2207
+ */
2208
+ async setMaxTokenAmountPerAddress(newMaxTokenAmount: bigint, options?: {
2209
+ accessList?: import('viem').AccessList;
2210
+ authorizationList?: import('viem').AuthorizationList;
2211
+ chain?: import('viem').Chain | null;
2212
+ dataSuffix?: `0x${string}`;
2213
+ gas?: bigint;
2214
+ gasPrice?: bigint;
2215
+ maxFeePerGas?: bigint;
2216
+ maxPriorityFeePerGas?: bigint;
2217
+ nonce?: number;
2218
+ value?: bigint;
2219
+ }): Promise<void> {
2220
+ return contract.simulate.setMaxTokenAmountPerAddress([newMaxTokenAmount] as const, options) as Promise<void>;
2221
+ },
2222
+ /**
2223
+ * Simulate setReflectionConfig
2224
+ * Returns gas estimate and result without sending transaction
2225
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2226
+ */
2227
+ async setReflectionConfig(_feeBPS: bigint, options?: {
2228
+ accessList?: import('viem').AccessList;
2229
+ authorizationList?: import('viem').AuthorizationList;
2230
+ chain?: import('viem').Chain | null;
2231
+ dataSuffix?: `0x${string}`;
2232
+ gas?: bigint;
2233
+ gasPrice?: bigint;
2234
+ maxFeePerGas?: bigint;
2235
+ maxPriorityFeePerGas?: bigint;
2236
+ nonce?: number;
2237
+ value?: bigint;
2238
+ }): Promise<void> {
2239
+ return contract.simulate.setReflectionConfig([_feeBPS] as const, options) as Promise<void>;
2240
+ },
2241
+ /**
2242
+ * Simulate setTaxConfig
2243
+ * Returns gas estimate and result without sending transaction
2244
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2245
+ */
2246
+ async setTaxConfig(_taxAddress: `0x${string}`, _taxBPS: bigint, options?: {
2247
+ accessList?: import('viem').AccessList;
2248
+ authorizationList?: import('viem').AuthorizationList;
2249
+ chain?: import('viem').Chain | null;
2250
+ dataSuffix?: `0x${string}`;
2251
+ gas?: bigint;
2252
+ gasPrice?: bigint;
2253
+ maxFeePerGas?: bigint;
2254
+ maxPriorityFeePerGas?: bigint;
2255
+ nonce?: number;
2256
+ value?: bigint;
2257
+ }): Promise<void> {
2258
+ return contract.simulate.setTaxConfig([_taxAddress, _taxBPS] as const, options) as Promise<void>;
2259
+ },
2260
+ /**
2261
+ * Simulate transfer
2262
+ * Returns gas estimate and result without sending transaction
2263
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2264
+ */
2265
+ async transfer(to: `0x${string}`, amount: bigint, options?: {
2266
+ accessList?: import('viem').AccessList;
2267
+ authorizationList?: import('viem').AuthorizationList;
2268
+ chain?: import('viem').Chain | null;
2269
+ dataSuffix?: `0x${string}`;
2270
+ gas?: bigint;
2271
+ gasPrice?: bigint;
2272
+ maxFeePerGas?: bigint;
2273
+ maxPriorityFeePerGas?: bigint;
2274
+ nonce?: number;
2275
+ value?: bigint;
2276
+ }): Promise<boolean> {
2277
+ return contract.simulate.transfer([to, amount] as const, options) as Promise<boolean>;
2278
+ },
2279
+ /**
2280
+ * Simulate transferFrom
2281
+ * Returns gas estimate and result without sending transaction
2282
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2283
+ */
2284
+ async transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
2285
+ accessList?: import('viem').AccessList;
2286
+ authorizationList?: import('viem').AuthorizationList;
2287
+ chain?: import('viem').Chain | null;
2288
+ dataSuffix?: `0x${string}`;
2289
+ gas?: bigint;
2290
+ gasPrice?: bigint;
2291
+ maxFeePerGas?: bigint;
2292
+ maxPriorityFeePerGas?: bigint;
2293
+ nonce?: number;
2294
+ value?: bigint;
2295
+ }): Promise<boolean> {
2296
+ return contract.simulate.transferFrom([from, to, amount] as const, options) as Promise<boolean>;
2297
+ },
2298
+ /**
2299
+ * Simulate transferOwnership
2300
+ * Returns gas estimate and result without sending transaction
2301
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2302
+ */
2303
+ async transferOwnership(newOwner: `0x${string}`, options?: {
2304
+ accessList?: import('viem').AccessList;
2305
+ authorizationList?: import('viem').AuthorizationList;
2306
+ chain?: import('viem').Chain | null;
2307
+ dataSuffix?: `0x${string}`;
2308
+ gas?: bigint;
2309
+ gasPrice?: bigint;
2310
+ maxFeePerGas?: bigint;
2311
+ maxPriorityFeePerGas?: bigint;
2312
+ nonce?: number;
2313
+ value?: bigint;
2314
+ }): Promise<void> {
2315
+ return contract.simulate.transferOwnership([newOwner] as const, options) as Promise<void>;
2316
+ }
2317
+ };
2318
+ }
2319
+
2320
+ /**
2321
+ * Watch contract events
2322
+ *
2323
+ * @example
2324
+ * // Watch all Transfer events
2325
+ * const unwatch = contract.watch.Transfer((event) => {
2326
+ * console.log('Transfer:', event);
2327
+ * });
2328
+ *
2329
+ * // Stop watching
2330
+ * unwatch();
2331
+ */
2332
+ get watch() {
2333
+ return {
2334
+ /**
2335
+ * Watch Approval events
2336
+ * @param callback Function to call when event is emitted
2337
+ * @param filter Optional filter for indexed parameters
2338
+ * @returns Unwatch function to stop listening
2339
+ */
2340
+ Approval: (callback: (event: { owner: `0x${string}`; spender: `0x${string}`; value: bigint }) => void, filter?: { owner: `0x${string}`; spender: `0x${string}` }) => {
2341
+ return this.publicClient.watchContractEvent({
2342
+ address: this.contractAddress,
2343
+ abi: DefiTokenFixedSupply_jsonAbi,
2344
+ eventName: 'Approval',
2345
+ args: filter,
2346
+ onLogs: (logs: any[]) => {
2347
+ logs.forEach((log: any) => {
2348
+ callback(log.args as any);
2349
+ });
2350
+ },
2351
+ }) as () => void;
2352
+ },
2353
+ /**
2354
+ * Watch DeflationConfigSet events
2355
+ * @param callback Function to call when event is emitted
2356
+ * @param filter Optional filter for indexed parameters
2357
+ * @returns Unwatch function to stop listening
2358
+ */
2359
+ DeflationConfigSet: (callback: (event: { _deflationBPS: bigint }) => void, filter?: { _deflationBPS: bigint }) => {
2360
+ return this.publicClient.watchContractEvent({
2361
+ address: this.contractAddress,
2362
+ abi: DefiTokenFixedSupply_jsonAbi,
2363
+ eventName: 'DeflationConfigSet',
2364
+ args: filter,
2365
+ onLogs: (logs: any[]) => {
2366
+ logs.forEach((log: any) => {
2367
+ callback(log.args as any);
2368
+ });
2369
+ },
2370
+ }) as () => void;
2371
+ },
2372
+ /**
2373
+ * Watch DocumentUriSet events
2374
+ * @param callback Function to call when event is emitted
2375
+ * @param filter Optional filter for indexed parameters
2376
+ * @returns Unwatch function to stop listening
2377
+ */
2378
+ DocumentUriSet: (callback: (event: { newDocUri: string }) => void) => {
2379
+ return this.publicClient.watchContractEvent({
2380
+ address: this.contractAddress,
2381
+ abi: DefiTokenFixedSupply_jsonAbi,
2382
+ eventName: 'DocumentUriSet',
2383
+
2384
+ onLogs: (logs: any[]) => {
2385
+ logs.forEach((log: any) => {
2386
+ callback(log.args as any);
2387
+ });
2388
+ },
2389
+ }) as () => void;
2390
+ },
2391
+ /**
2392
+ * Watch ExcludeFromFeesAndLimits events
2393
+ * @param callback Function to call when event is emitted
2394
+ * @param filter Optional filter for indexed parameters
2395
+ * @returns Unwatch function to stop listening
2396
+ */
2397
+ ExcludeFromFeesAndLimits: (callback: (event: { account: `0x${string}` }) => void, filter?: { account: `0x${string}` }) => {
2398
+ return this.publicClient.watchContractEvent({
2399
+ address: this.contractAddress,
2400
+ abi: DefiTokenFixedSupply_jsonAbi,
2401
+ eventName: 'ExcludeFromFeesAndLimits',
2402
+ args: filter,
2403
+ onLogs: (logs: any[]) => {
2404
+ logs.forEach((log: any) => {
2405
+ callback(log.args as any);
2406
+ });
2407
+ },
2408
+ }) as () => void;
2409
+ },
2410
+ /**
2411
+ * Watch ExcludedFromRewards events
2412
+ * @param callback Function to call when event is emitted
2413
+ * @param filter Optional filter for indexed parameters
2414
+ * @returns Unwatch function to stop listening
2415
+ */
2416
+ ExcludedFromRewards: (callback: (event: { account: `0x${string}` }) => void, filter?: { account: `0x${string}` }) => {
2417
+ return this.publicClient.watchContractEvent({
2418
+ address: this.contractAddress,
2419
+ abi: DefiTokenFixedSupply_jsonAbi,
2420
+ eventName: 'ExcludedFromRewards',
2421
+ args: filter,
2422
+ onLogs: (logs: any[]) => {
2423
+ logs.forEach((log: any) => {
2424
+ callback(log.args as any);
2425
+ });
2426
+ },
2427
+ }) as () => void;
2428
+ },
2429
+ /**
2430
+ * Watch IncludedInFeesAndLimits events
2431
+ * @param callback Function to call when event is emitted
2432
+ * @param filter Optional filter for indexed parameters
2433
+ * @returns Unwatch function to stop listening
2434
+ */
2435
+ IncludedInFeesAndLimits: (callback: (event: { account: `0x${string}` }) => void, filter?: { account: `0x${string}` }) => {
2436
+ return this.publicClient.watchContractEvent({
2437
+ address: this.contractAddress,
2438
+ abi: DefiTokenFixedSupply_jsonAbi,
2439
+ eventName: 'IncludedInFeesAndLimits',
2440
+ args: filter,
2441
+ onLogs: (logs: any[]) => {
2442
+ logs.forEach((log: any) => {
2443
+ callback(log.args as any);
2444
+ });
2445
+ },
2446
+ }) as () => void;
2447
+ },
2448
+ /**
2449
+ * Watch IncludedInRewards events
2450
+ * @param callback Function to call when event is emitted
2451
+ * @param filter Optional filter for indexed parameters
2452
+ * @returns Unwatch function to stop listening
2453
+ */
2454
+ IncludedInRewards: (callback: (event: { account: `0x${string}` }) => void, filter?: { account: `0x${string}` }) => {
2455
+ return this.publicClient.watchContractEvent({
2456
+ address: this.contractAddress,
2457
+ abi: DefiTokenFixedSupply_jsonAbi,
2458
+ eventName: 'IncludedInRewards',
2459
+ args: filter,
2460
+ onLogs: (logs: any[]) => {
2461
+ logs.forEach((log: any) => {
2462
+ callback(log.args as any);
2463
+ });
2464
+ },
2465
+ }) as () => void;
2466
+ },
2467
+ /**
2468
+ * Watch MaxTokenAmountPerSet events
2469
+ * @param callback Function to call when event is emitted
2470
+ * @param filter Optional filter for indexed parameters
2471
+ * @returns Unwatch function to stop listening
2472
+ */
2473
+ MaxTokenAmountPerSet: (callback: (event: { newMaxTokenAmount: bigint }) => void) => {
2474
+ return this.publicClient.watchContractEvent({
2475
+ address: this.contractAddress,
2476
+ abi: DefiTokenFixedSupply_jsonAbi,
2477
+ eventName: 'MaxTokenAmountPerSet',
2478
+
2479
+ onLogs: (logs: any[]) => {
2480
+ logs.forEach((log: any) => {
2481
+ callback(log.args as any);
2482
+ });
2483
+ },
2484
+ }) as () => void;
2485
+ },
2486
+ /**
2487
+ * Watch OwnershipTransferred events
2488
+ * @param callback Function to call when event is emitted
2489
+ * @param filter Optional filter for indexed parameters
2490
+ * @returns Unwatch function to stop listening
2491
+ */
2492
+ OwnershipTransferred: (callback: (event: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => void, filter?: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => {
2493
+ return this.publicClient.watchContractEvent({
2494
+ address: this.contractAddress,
2495
+ abi: DefiTokenFixedSupply_jsonAbi,
2496
+ eventName: 'OwnershipTransferred',
2497
+ args: filter,
2498
+ onLogs: (logs: any[]) => {
2499
+ logs.forEach((log: any) => {
2500
+ callback(log.args as any);
2501
+ });
2502
+ },
2503
+ }) as () => void;
2504
+ },
2505
+ /**
2506
+ * Watch ReflectionConfigSet events
2507
+ * @param callback Function to call when event is emitted
2508
+ * @param filter Optional filter for indexed parameters
2509
+ * @returns Unwatch function to stop listening
2510
+ */
2511
+ ReflectionConfigSet: (callback: (event: { _feeBPS: bigint }) => void, filter?: { _feeBPS: bigint }) => {
2512
+ return this.publicClient.watchContractEvent({
2513
+ address: this.contractAddress,
2514
+ abi: DefiTokenFixedSupply_jsonAbi,
2515
+ eventName: 'ReflectionConfigSet',
2516
+ args: filter,
2517
+ onLogs: (logs: any[]) => {
2518
+ logs.forEach((log: any) => {
2519
+ callback(log.args as any);
2520
+ });
2521
+ },
2522
+ }) as () => void;
2523
+ },
2524
+ /**
2525
+ * Watch TaxConfigSet events
2526
+ * @param callback Function to call when event is emitted
2527
+ * @param filter Optional filter for indexed parameters
2528
+ * @returns Unwatch function to stop listening
2529
+ */
2530
+ TaxConfigSet: (callback: (event: { _taxAddress: `0x${string}`; _taxBPS: bigint }) => void, filter?: { _taxAddress: `0x${string}`; _taxBPS: bigint }) => {
2531
+ return this.publicClient.watchContractEvent({
2532
+ address: this.contractAddress,
2533
+ abi: DefiTokenFixedSupply_jsonAbi,
2534
+ eventName: 'TaxConfigSet',
2535
+ args: filter,
2536
+ onLogs: (logs: any[]) => {
2537
+ logs.forEach((log: any) => {
2538
+ callback(log.args as any);
2539
+ });
2540
+ },
2541
+ }) as () => void;
2542
+ },
2543
+ /**
2544
+ * Watch Transfer events
2545
+ * @param callback Function to call when event is emitted
2546
+ * @param filter Optional filter for indexed parameters
2547
+ * @returns Unwatch function to stop listening
2548
+ */
2549
+ Transfer: (callback: (event: { from: `0x${string}`; to: `0x${string}`; value: bigint }) => void, filter?: { from: `0x${string}`; to: `0x${string}` }) => {
2550
+ return this.publicClient.watchContractEvent({
2551
+ address: this.contractAddress,
2552
+ abi: DefiTokenFixedSupply_jsonAbi,
2553
+ eventName: 'Transfer',
2554
+ args: filter,
2555
+ onLogs: (logs: any[]) => {
2556
+ logs.forEach((log: any) => {
2557
+ callback(log.args as any);
2558
+ });
2559
+ },
2560
+ }) as () => void;
2561
+ }
2562
+ };
2563
+ }
2564
+ }