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