@gitmyabi-stg/frxusd 0.0.1

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