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