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