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