@gitmyabi/stkgho-v1 1.0.0

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