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