@gitmyabi/sy-susde 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,1642 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * PendleSUSDESY_json ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const PendleSUSDESY_jsonAbi: readonly [{
8
+ readonly inputs: readonly [{
9
+ readonly internalType: "address";
10
+ readonly name: "_susde";
11
+ readonly type: "address";
12
+ }, {
13
+ readonly internalType: "uint256";
14
+ readonly name: "_initialSupplyCap";
15
+ readonly type: "uint256";
16
+ }];
17
+ readonly stateMutability: "nonpayable";
18
+ readonly type: "constructor";
19
+ }, {
20
+ readonly inputs: readonly [];
21
+ readonly name: "InvalidShortString";
22
+ readonly type: "error";
23
+ }, {
24
+ readonly inputs: readonly [{
25
+ readonly internalType: "uint256";
26
+ readonly name: "actualSharesOut";
27
+ readonly type: "uint256";
28
+ }, {
29
+ readonly internalType: "uint256";
30
+ readonly name: "requiredSharesOut";
31
+ readonly type: "uint256";
32
+ }];
33
+ readonly name: "SYInsufficientSharesOut";
34
+ readonly type: "error";
35
+ }, {
36
+ readonly inputs: readonly [{
37
+ readonly internalType: "uint256";
38
+ readonly name: "actualTokenOut";
39
+ readonly type: "uint256";
40
+ }, {
41
+ readonly internalType: "uint256";
42
+ readonly name: "requiredTokenOut";
43
+ readonly type: "uint256";
44
+ }];
45
+ readonly name: "SYInsufficientTokenOut";
46
+ readonly type: "error";
47
+ }, {
48
+ readonly inputs: readonly [{
49
+ readonly internalType: "address";
50
+ readonly name: "token";
51
+ readonly type: "address";
52
+ }];
53
+ readonly name: "SYInvalidTokenIn";
54
+ readonly type: "error";
55
+ }, {
56
+ readonly inputs: readonly [{
57
+ readonly internalType: "address";
58
+ readonly name: "token";
59
+ readonly type: "address";
60
+ }];
61
+ readonly name: "SYInvalidTokenOut";
62
+ readonly type: "error";
63
+ }, {
64
+ readonly inputs: readonly [];
65
+ readonly name: "SYZeroDeposit";
66
+ readonly type: "error";
67
+ }, {
68
+ readonly inputs: readonly [];
69
+ readonly name: "SYZeroRedeem";
70
+ readonly type: "error";
71
+ }, {
72
+ readonly inputs: readonly [{
73
+ readonly internalType: "string";
74
+ readonly name: "str";
75
+ readonly type: "string";
76
+ }];
77
+ readonly name: "StringTooLong";
78
+ readonly type: "error";
79
+ }, {
80
+ readonly inputs: readonly [{
81
+ readonly internalType: "uint256";
82
+ readonly name: "totalSupply";
83
+ readonly type: "uint256";
84
+ }, {
85
+ readonly internalType: "uint256";
86
+ readonly name: "supplyCap";
87
+ readonly type: "uint256";
88
+ }];
89
+ readonly name: "SupplyCapExceeded";
90
+ readonly type: "error";
91
+ }, {
92
+ readonly anonymous: false;
93
+ readonly inputs: readonly [{
94
+ readonly indexed: true;
95
+ readonly internalType: "address";
96
+ readonly name: "owner";
97
+ readonly type: "address";
98
+ }, {
99
+ readonly indexed: true;
100
+ readonly internalType: "address";
101
+ readonly name: "spender";
102
+ readonly type: "address";
103
+ }, {
104
+ readonly indexed: false;
105
+ readonly internalType: "uint256";
106
+ readonly name: "value";
107
+ readonly type: "uint256";
108
+ }];
109
+ readonly name: "Approval";
110
+ readonly type: "event";
111
+ }, {
112
+ readonly anonymous: false;
113
+ readonly inputs: readonly [{
114
+ readonly indexed: true;
115
+ readonly internalType: "address";
116
+ readonly name: "user";
117
+ readonly type: "address";
118
+ }, {
119
+ readonly indexed: false;
120
+ readonly internalType: "address[]";
121
+ readonly name: "rewardTokens";
122
+ readonly type: "address[]";
123
+ }, {
124
+ readonly indexed: false;
125
+ readonly internalType: "uint256[]";
126
+ readonly name: "rewardAmounts";
127
+ readonly type: "uint256[]";
128
+ }];
129
+ readonly name: "ClaimRewards";
130
+ readonly type: "event";
131
+ }, {
132
+ readonly anonymous: false;
133
+ readonly inputs: readonly [{
134
+ readonly indexed: true;
135
+ readonly internalType: "address";
136
+ readonly name: "caller";
137
+ readonly type: "address";
138
+ }, {
139
+ readonly indexed: true;
140
+ readonly internalType: "address";
141
+ readonly name: "receiver";
142
+ readonly type: "address";
143
+ }, {
144
+ readonly indexed: true;
145
+ readonly internalType: "address";
146
+ readonly name: "tokenIn";
147
+ readonly type: "address";
148
+ }, {
149
+ readonly indexed: false;
150
+ readonly internalType: "uint256";
151
+ readonly name: "amountDeposited";
152
+ readonly type: "uint256";
153
+ }, {
154
+ readonly indexed: false;
155
+ readonly internalType: "uint256";
156
+ readonly name: "amountSyOut";
157
+ readonly type: "uint256";
158
+ }];
159
+ readonly name: "Deposit";
160
+ readonly type: "event";
161
+ }, {
162
+ readonly anonymous: false;
163
+ readonly inputs: readonly [];
164
+ readonly name: "EIP712DomainChanged";
165
+ readonly type: "event";
166
+ }, {
167
+ readonly anonymous: false;
168
+ readonly inputs: readonly [{
169
+ readonly indexed: false;
170
+ readonly internalType: "uint8";
171
+ readonly name: "version";
172
+ readonly type: "uint8";
173
+ }];
174
+ readonly name: "Initialized";
175
+ readonly type: "event";
176
+ }, {
177
+ readonly anonymous: false;
178
+ readonly inputs: readonly [{
179
+ readonly indexed: true;
180
+ readonly internalType: "address";
181
+ readonly name: "previousOwner";
182
+ readonly type: "address";
183
+ }, {
184
+ readonly indexed: true;
185
+ readonly internalType: "address";
186
+ readonly name: "newOwner";
187
+ readonly type: "address";
188
+ }];
189
+ readonly name: "OwnershipTransferred";
190
+ readonly type: "event";
191
+ }, {
192
+ readonly anonymous: false;
193
+ readonly inputs: readonly [{
194
+ readonly indexed: false;
195
+ readonly internalType: "address";
196
+ readonly name: "account";
197
+ readonly type: "address";
198
+ }];
199
+ readonly name: "Paused";
200
+ readonly type: "event";
201
+ }, {
202
+ readonly anonymous: false;
203
+ readonly inputs: readonly [{
204
+ readonly indexed: true;
205
+ readonly internalType: "address";
206
+ readonly name: "caller";
207
+ readonly type: "address";
208
+ }, {
209
+ readonly indexed: true;
210
+ readonly internalType: "address";
211
+ readonly name: "receiver";
212
+ readonly type: "address";
213
+ }, {
214
+ readonly indexed: true;
215
+ readonly internalType: "address";
216
+ readonly name: "tokenOut";
217
+ readonly type: "address";
218
+ }, {
219
+ readonly indexed: false;
220
+ readonly internalType: "uint256";
221
+ readonly name: "amountSyToRedeem";
222
+ readonly type: "uint256";
223
+ }, {
224
+ readonly indexed: false;
225
+ readonly internalType: "uint256";
226
+ readonly name: "amountTokenOut";
227
+ readonly type: "uint256";
228
+ }];
229
+ readonly name: "Redeem";
230
+ readonly type: "event";
231
+ }, {
232
+ readonly anonymous: false;
233
+ readonly inputs: readonly [{
234
+ readonly indexed: false;
235
+ readonly internalType: "uint256";
236
+ readonly name: "newSupplyCap";
237
+ readonly type: "uint256";
238
+ }];
239
+ readonly name: "SupplyCapUpdated";
240
+ readonly type: "event";
241
+ }, {
242
+ readonly anonymous: false;
243
+ readonly inputs: readonly [{
244
+ readonly indexed: true;
245
+ readonly internalType: "address";
246
+ readonly name: "from";
247
+ readonly type: "address";
248
+ }, {
249
+ readonly indexed: true;
250
+ readonly internalType: "address";
251
+ readonly name: "to";
252
+ readonly type: "address";
253
+ }, {
254
+ readonly indexed: false;
255
+ readonly internalType: "uint256";
256
+ readonly name: "value";
257
+ readonly type: "uint256";
258
+ }];
259
+ readonly name: "Transfer";
260
+ readonly type: "event";
261
+ }, {
262
+ readonly anonymous: false;
263
+ readonly inputs: readonly [{
264
+ readonly indexed: false;
265
+ readonly internalType: "address";
266
+ readonly name: "account";
267
+ readonly type: "address";
268
+ }];
269
+ readonly name: "Unpaused";
270
+ readonly type: "event";
271
+ }, {
272
+ readonly inputs: readonly [];
273
+ readonly name: "DOMAIN_SEPARATOR";
274
+ readonly outputs: readonly [{
275
+ readonly internalType: "bytes32";
276
+ readonly name: "";
277
+ readonly type: "bytes32";
278
+ }];
279
+ readonly stateMutability: "view";
280
+ readonly type: "function";
281
+ }, {
282
+ readonly inputs: readonly [{
283
+ readonly internalType: "address";
284
+ readonly name: "";
285
+ readonly type: "address";
286
+ }];
287
+ readonly name: "accruedRewards";
288
+ readonly outputs: readonly [{
289
+ readonly internalType: "uint256[]";
290
+ readonly name: "rewardAmounts";
291
+ readonly type: "uint256[]";
292
+ }];
293
+ readonly stateMutability: "view";
294
+ readonly type: "function";
295
+ }, {
296
+ readonly inputs: readonly [{
297
+ readonly internalType: "address";
298
+ readonly name: "owner";
299
+ readonly type: "address";
300
+ }, {
301
+ readonly internalType: "address";
302
+ readonly name: "spender";
303
+ readonly type: "address";
304
+ }];
305
+ readonly name: "allowance";
306
+ readonly outputs: readonly [{
307
+ readonly internalType: "uint256";
308
+ readonly name: "";
309
+ readonly type: "uint256";
310
+ }];
311
+ readonly stateMutability: "view";
312
+ readonly type: "function";
313
+ }, {
314
+ readonly inputs: readonly [{
315
+ readonly internalType: "address";
316
+ readonly name: "spender";
317
+ readonly type: "address";
318
+ }, {
319
+ readonly internalType: "uint256";
320
+ readonly name: "amount";
321
+ readonly type: "uint256";
322
+ }];
323
+ readonly name: "approve";
324
+ readonly outputs: readonly [{
325
+ readonly internalType: "bool";
326
+ readonly name: "";
327
+ readonly type: "bool";
328
+ }];
329
+ readonly stateMutability: "nonpayable";
330
+ readonly type: "function";
331
+ }, {
332
+ readonly inputs: readonly [];
333
+ readonly name: "asset";
334
+ readonly outputs: readonly [{
335
+ readonly internalType: "address";
336
+ readonly name: "";
337
+ readonly type: "address";
338
+ }];
339
+ readonly stateMutability: "view";
340
+ readonly type: "function";
341
+ }, {
342
+ readonly inputs: readonly [];
343
+ readonly name: "assetInfo";
344
+ readonly outputs: readonly [{
345
+ readonly internalType: "enum IStandardizedYield.AssetType";
346
+ readonly name: "assetType";
347
+ readonly type: "uint8";
348
+ }, {
349
+ readonly internalType: "address";
350
+ readonly name: "assetAddress";
351
+ readonly type: "address";
352
+ }, {
353
+ readonly internalType: "uint8";
354
+ readonly name: "assetDecimals";
355
+ readonly type: "uint8";
356
+ }];
357
+ readonly stateMutability: "view";
358
+ readonly type: "function";
359
+ }, {
360
+ readonly inputs: readonly [{
361
+ readonly internalType: "address";
362
+ readonly name: "account";
363
+ readonly type: "address";
364
+ }];
365
+ readonly name: "balanceOf";
366
+ readonly outputs: readonly [{
367
+ readonly internalType: "uint256";
368
+ readonly name: "";
369
+ readonly type: "uint256";
370
+ }];
371
+ readonly stateMutability: "view";
372
+ readonly type: "function";
373
+ }, {
374
+ readonly inputs: readonly [];
375
+ readonly name: "claimOwnership";
376
+ readonly outputs: readonly [];
377
+ readonly stateMutability: "nonpayable";
378
+ readonly type: "function";
379
+ }, {
380
+ readonly inputs: readonly [{
381
+ readonly internalType: "address";
382
+ readonly name: "";
383
+ readonly type: "address";
384
+ }];
385
+ readonly name: "claimRewards";
386
+ readonly outputs: readonly [{
387
+ readonly internalType: "uint256[]";
388
+ readonly name: "rewardAmounts";
389
+ readonly type: "uint256[]";
390
+ }];
391
+ readonly stateMutability: "nonpayable";
392
+ readonly type: "function";
393
+ }, {
394
+ readonly inputs: readonly [];
395
+ readonly name: "decimals";
396
+ readonly outputs: readonly [{
397
+ readonly internalType: "uint8";
398
+ readonly name: "";
399
+ readonly type: "uint8";
400
+ }];
401
+ readonly stateMutability: "view";
402
+ readonly type: "function";
403
+ }, {
404
+ readonly inputs: readonly [{
405
+ readonly internalType: "address";
406
+ readonly name: "receiver";
407
+ readonly type: "address";
408
+ }, {
409
+ readonly internalType: "address";
410
+ readonly name: "tokenIn";
411
+ readonly type: "address";
412
+ }, {
413
+ readonly internalType: "uint256";
414
+ readonly name: "amountTokenToDeposit";
415
+ readonly type: "uint256";
416
+ }, {
417
+ readonly internalType: "uint256";
418
+ readonly name: "minSharesOut";
419
+ readonly type: "uint256";
420
+ }];
421
+ readonly name: "deposit";
422
+ readonly outputs: readonly [{
423
+ readonly internalType: "uint256";
424
+ readonly name: "amountSharesOut";
425
+ readonly type: "uint256";
426
+ }];
427
+ readonly stateMutability: "payable";
428
+ readonly type: "function";
429
+ }, {
430
+ readonly inputs: readonly [];
431
+ readonly name: "eip712Domain";
432
+ readonly outputs: readonly [{
433
+ readonly internalType: "bytes1";
434
+ readonly name: "fields";
435
+ readonly type: "bytes1";
436
+ }, {
437
+ readonly internalType: "string";
438
+ readonly name: "name";
439
+ readonly type: "string";
440
+ }, {
441
+ readonly internalType: "string";
442
+ readonly name: "version";
443
+ readonly type: "string";
444
+ }, {
445
+ readonly internalType: "uint256";
446
+ readonly name: "chainId";
447
+ readonly type: "uint256";
448
+ }, {
449
+ readonly internalType: "address";
450
+ readonly name: "verifyingContract";
451
+ readonly type: "address";
452
+ }, {
453
+ readonly internalType: "bytes32";
454
+ readonly name: "salt";
455
+ readonly type: "bytes32";
456
+ }, {
457
+ readonly internalType: "uint256[]";
458
+ readonly name: "extensions";
459
+ readonly type: "uint256[]";
460
+ }];
461
+ readonly stateMutability: "view";
462
+ readonly type: "function";
463
+ }, {
464
+ readonly inputs: readonly [];
465
+ readonly name: "exchangeRate";
466
+ readonly outputs: readonly [{
467
+ readonly internalType: "uint256";
468
+ readonly name: "";
469
+ readonly type: "uint256";
470
+ }];
471
+ readonly stateMutability: "view";
472
+ readonly type: "function";
473
+ }, {
474
+ readonly inputs: readonly [];
475
+ readonly name: "getAbsoluteSupplyCap";
476
+ readonly outputs: readonly [{
477
+ readonly internalType: "uint256";
478
+ readonly name: "";
479
+ readonly type: "uint256";
480
+ }];
481
+ readonly stateMutability: "view";
482
+ readonly type: "function";
483
+ }, {
484
+ readonly inputs: readonly [];
485
+ readonly name: "getAbsoluteTotalSupply";
486
+ readonly outputs: readonly [{
487
+ readonly internalType: "uint256";
488
+ readonly name: "";
489
+ readonly type: "uint256";
490
+ }];
491
+ readonly stateMutability: "view";
492
+ readonly type: "function";
493
+ }, {
494
+ readonly inputs: readonly [];
495
+ readonly name: "getRewardTokens";
496
+ readonly outputs: readonly [{
497
+ readonly internalType: "address[]";
498
+ readonly name: "rewardTokens";
499
+ readonly type: "address[]";
500
+ }];
501
+ readonly stateMutability: "view";
502
+ readonly type: "function";
503
+ }, {
504
+ readonly inputs: readonly [];
505
+ readonly name: "getTokensIn";
506
+ readonly outputs: readonly [{
507
+ readonly internalType: "address[]";
508
+ readonly name: "res";
509
+ readonly type: "address[]";
510
+ }];
511
+ readonly stateMutability: "view";
512
+ readonly type: "function";
513
+ }, {
514
+ readonly inputs: readonly [];
515
+ readonly name: "getTokensOut";
516
+ readonly outputs: readonly [{
517
+ readonly internalType: "address[]";
518
+ readonly name: "res";
519
+ readonly type: "address[]";
520
+ }];
521
+ readonly stateMutability: "view";
522
+ readonly type: "function";
523
+ }, {
524
+ readonly inputs: readonly [{
525
+ readonly internalType: "address";
526
+ readonly name: "token";
527
+ readonly type: "address";
528
+ }];
529
+ readonly name: "isValidTokenIn";
530
+ readonly outputs: readonly [{
531
+ readonly internalType: "bool";
532
+ readonly name: "";
533
+ readonly type: "bool";
534
+ }];
535
+ readonly stateMutability: "view";
536
+ readonly type: "function";
537
+ }, {
538
+ readonly inputs: readonly [{
539
+ readonly internalType: "address";
540
+ readonly name: "token";
541
+ readonly type: "address";
542
+ }];
543
+ readonly name: "isValidTokenOut";
544
+ readonly outputs: readonly [{
545
+ readonly internalType: "bool";
546
+ readonly name: "";
547
+ readonly type: "bool";
548
+ }];
549
+ readonly stateMutability: "view";
550
+ readonly type: "function";
551
+ }, {
552
+ readonly inputs: readonly [];
553
+ readonly name: "name";
554
+ readonly outputs: readonly [{
555
+ readonly internalType: "string";
556
+ readonly name: "";
557
+ readonly type: "string";
558
+ }];
559
+ readonly stateMutability: "view";
560
+ readonly type: "function";
561
+ }, {
562
+ readonly inputs: readonly [{
563
+ readonly internalType: "address";
564
+ readonly name: "owner";
565
+ readonly type: "address";
566
+ }];
567
+ readonly name: "nonces";
568
+ readonly outputs: readonly [{
569
+ readonly internalType: "uint256";
570
+ readonly name: "";
571
+ readonly type: "uint256";
572
+ }];
573
+ readonly stateMutability: "view";
574
+ readonly type: "function";
575
+ }, {
576
+ readonly inputs: readonly [];
577
+ readonly name: "owner";
578
+ readonly outputs: readonly [{
579
+ readonly internalType: "address";
580
+ readonly name: "";
581
+ readonly type: "address";
582
+ }];
583
+ readonly stateMutability: "view";
584
+ readonly type: "function";
585
+ }, {
586
+ readonly inputs: readonly [];
587
+ readonly name: "pause";
588
+ readonly outputs: readonly [];
589
+ readonly stateMutability: "nonpayable";
590
+ readonly type: "function";
591
+ }, {
592
+ readonly inputs: readonly [];
593
+ readonly name: "paused";
594
+ readonly outputs: readonly [{
595
+ readonly internalType: "bool";
596
+ readonly name: "";
597
+ readonly type: "bool";
598
+ }];
599
+ readonly stateMutability: "view";
600
+ readonly type: "function";
601
+ }, {
602
+ readonly inputs: readonly [];
603
+ readonly name: "pendingOwner";
604
+ readonly outputs: readonly [{
605
+ readonly internalType: "address";
606
+ readonly name: "";
607
+ readonly type: "address";
608
+ }];
609
+ readonly stateMutability: "view";
610
+ readonly type: "function";
611
+ }, {
612
+ readonly inputs: readonly [{
613
+ readonly internalType: "address";
614
+ readonly name: "owner";
615
+ readonly type: "address";
616
+ }, {
617
+ readonly internalType: "address";
618
+ readonly name: "spender";
619
+ readonly type: "address";
620
+ }, {
621
+ readonly internalType: "uint256";
622
+ readonly name: "value";
623
+ readonly type: "uint256";
624
+ }, {
625
+ readonly internalType: "uint256";
626
+ readonly name: "deadline";
627
+ readonly type: "uint256";
628
+ }, {
629
+ readonly internalType: "uint8";
630
+ readonly name: "v";
631
+ readonly type: "uint8";
632
+ }, {
633
+ readonly internalType: "bytes32";
634
+ readonly name: "r";
635
+ readonly type: "bytes32";
636
+ }, {
637
+ readonly internalType: "bytes32";
638
+ readonly name: "s";
639
+ readonly type: "bytes32";
640
+ }];
641
+ readonly name: "permit";
642
+ readonly outputs: readonly [];
643
+ readonly stateMutability: "nonpayable";
644
+ readonly type: "function";
645
+ }, {
646
+ readonly inputs: readonly [{
647
+ readonly internalType: "address";
648
+ readonly name: "tokenIn";
649
+ readonly type: "address";
650
+ }, {
651
+ readonly internalType: "uint256";
652
+ readonly name: "amountTokenToDeposit";
653
+ readonly type: "uint256";
654
+ }];
655
+ readonly name: "previewDeposit";
656
+ readonly outputs: readonly [{
657
+ readonly internalType: "uint256";
658
+ readonly name: "amountSharesOut";
659
+ readonly type: "uint256";
660
+ }];
661
+ readonly stateMutability: "view";
662
+ readonly type: "function";
663
+ }, {
664
+ readonly inputs: readonly [{
665
+ readonly internalType: "address";
666
+ readonly name: "tokenOut";
667
+ readonly type: "address";
668
+ }, {
669
+ readonly internalType: "uint256";
670
+ readonly name: "amountSharesToRedeem";
671
+ readonly type: "uint256";
672
+ }];
673
+ readonly name: "previewRedeem";
674
+ readonly outputs: readonly [{
675
+ readonly internalType: "uint256";
676
+ readonly name: "amountTokenOut";
677
+ readonly type: "uint256";
678
+ }];
679
+ readonly stateMutability: "view";
680
+ readonly type: "function";
681
+ }, {
682
+ readonly inputs: readonly [{
683
+ readonly internalType: "address";
684
+ readonly name: "receiver";
685
+ readonly type: "address";
686
+ }, {
687
+ readonly internalType: "uint256";
688
+ readonly name: "amountSharesToRedeem";
689
+ readonly type: "uint256";
690
+ }, {
691
+ readonly internalType: "address";
692
+ readonly name: "tokenOut";
693
+ readonly type: "address";
694
+ }, {
695
+ readonly internalType: "uint256";
696
+ readonly name: "minTokenOut";
697
+ readonly type: "uint256";
698
+ }, {
699
+ readonly internalType: "bool";
700
+ readonly name: "burnFromInternalBalance";
701
+ readonly type: "bool";
702
+ }];
703
+ readonly name: "redeem";
704
+ readonly outputs: readonly [{
705
+ readonly internalType: "uint256";
706
+ readonly name: "amountTokenOut";
707
+ readonly type: "uint256";
708
+ }];
709
+ readonly stateMutability: "nonpayable";
710
+ readonly type: "function";
711
+ }, {
712
+ readonly inputs: readonly [];
713
+ readonly name: "rewardIndexesCurrent";
714
+ readonly outputs: readonly [{
715
+ readonly internalType: "uint256[]";
716
+ readonly name: "indexes";
717
+ readonly type: "uint256[]";
718
+ }];
719
+ readonly stateMutability: "nonpayable";
720
+ readonly type: "function";
721
+ }, {
722
+ readonly inputs: readonly [];
723
+ readonly name: "rewardIndexesStored";
724
+ readonly outputs: readonly [{
725
+ readonly internalType: "uint256[]";
726
+ readonly name: "indexes";
727
+ readonly type: "uint256[]";
728
+ }];
729
+ readonly stateMutability: "view";
730
+ readonly type: "function";
731
+ }, {
732
+ readonly inputs: readonly [];
733
+ readonly name: "supplyCap";
734
+ readonly outputs: readonly [{
735
+ readonly internalType: "uint256";
736
+ readonly name: "";
737
+ readonly type: "uint256";
738
+ }];
739
+ readonly stateMutability: "view";
740
+ readonly type: "function";
741
+ }, {
742
+ readonly inputs: readonly [];
743
+ readonly name: "symbol";
744
+ readonly outputs: readonly [{
745
+ readonly internalType: "string";
746
+ readonly name: "";
747
+ readonly type: "string";
748
+ }];
749
+ readonly stateMutability: "view";
750
+ readonly type: "function";
751
+ }, {
752
+ readonly inputs: readonly [];
753
+ readonly name: "totalSupply";
754
+ readonly outputs: readonly [{
755
+ readonly internalType: "uint256";
756
+ readonly name: "";
757
+ readonly type: "uint256";
758
+ }];
759
+ readonly stateMutability: "view";
760
+ readonly type: "function";
761
+ }, {
762
+ readonly inputs: readonly [{
763
+ readonly internalType: "address";
764
+ readonly name: "to";
765
+ readonly type: "address";
766
+ }, {
767
+ readonly internalType: "uint256";
768
+ readonly name: "amount";
769
+ readonly type: "uint256";
770
+ }];
771
+ readonly name: "transfer";
772
+ readonly outputs: readonly [{
773
+ readonly internalType: "bool";
774
+ readonly name: "";
775
+ readonly type: "bool";
776
+ }];
777
+ readonly stateMutability: "nonpayable";
778
+ readonly type: "function";
779
+ }, {
780
+ readonly inputs: readonly [{
781
+ readonly internalType: "address";
782
+ readonly name: "from";
783
+ readonly type: "address";
784
+ }, {
785
+ readonly internalType: "address";
786
+ readonly name: "to";
787
+ readonly type: "address";
788
+ }, {
789
+ readonly internalType: "uint256";
790
+ readonly name: "amount";
791
+ readonly type: "uint256";
792
+ }];
793
+ readonly name: "transferFrom";
794
+ readonly outputs: readonly [{
795
+ readonly internalType: "bool";
796
+ readonly name: "";
797
+ readonly type: "bool";
798
+ }];
799
+ readonly stateMutability: "nonpayable";
800
+ readonly type: "function";
801
+ }, {
802
+ readonly inputs: readonly [{
803
+ readonly internalType: "address";
804
+ readonly name: "newOwner";
805
+ readonly type: "address";
806
+ }, {
807
+ readonly internalType: "bool";
808
+ readonly name: "direct";
809
+ readonly type: "bool";
810
+ }, {
811
+ readonly internalType: "bool";
812
+ readonly name: "renounce";
813
+ readonly type: "bool";
814
+ }];
815
+ readonly name: "transferOwnership";
816
+ readonly outputs: readonly [];
817
+ readonly stateMutability: "nonpayable";
818
+ readonly type: "function";
819
+ }, {
820
+ readonly inputs: readonly [];
821
+ readonly name: "unpause";
822
+ readonly outputs: readonly [];
823
+ readonly stateMutability: "nonpayable";
824
+ readonly type: "function";
825
+ }, {
826
+ readonly inputs: readonly [{
827
+ readonly internalType: "uint256";
828
+ readonly name: "newSupplyCap";
829
+ readonly type: "uint256";
830
+ }];
831
+ readonly name: "updateSupplyCap";
832
+ readonly outputs: readonly [];
833
+ readonly stateMutability: "nonpayable";
834
+ readonly type: "function";
835
+ }, {
836
+ readonly inputs: readonly [];
837
+ readonly name: "yieldToken";
838
+ readonly outputs: readonly [{
839
+ readonly internalType: "address";
840
+ readonly name: "";
841
+ readonly type: "address";
842
+ }];
843
+ readonly stateMutability: "view";
844
+ readonly type: "function";
845
+ }, {
846
+ readonly stateMutability: "payable";
847
+ readonly type: "receive";
848
+ }];
849
+ /**
850
+ * Type-safe ABI for PendleSUSDESY_json
851
+ */
852
+ export type PendleSUSDESY_jsonAbi = typeof PendleSUSDESY_jsonAbi;
853
+ /**
854
+ * Contract instance type for PendleSUSDESY_json
855
+ */
856
+ export type PendleSUSDESY_jsonContract = any;
857
+ /**
858
+ * PendleSUSDESY_json Contract Class
859
+ *
860
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
861
+ *
862
+ * @example
863
+ * ```typescript
864
+ * import { createPublicClient, createWalletClient, http } from 'viem';
865
+ * import { mainnet } from 'viem/chains';
866
+ * import { PendleSUSDESY_json } from 'PendleSUSDESY_json';
867
+ *
868
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
869
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
870
+ *
871
+ * const contract = new PendleSUSDESY_json('0x...', { publicClient, walletClient });
872
+ *
873
+ * // Read functions
874
+ * const result = await contract.balanceOf('0x...');
875
+ *
876
+ * // Write functions
877
+ * const hash = await contract.transfer('0x...', 1000n);
878
+ *
879
+ * // Simulate transactions (dry-run)
880
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
881
+ * console.log('Gas estimate:', simulation.request.gas);
882
+ *
883
+ * // Watch events
884
+ * const unwatch = contract.watch.Transfer((event) => {
885
+ * console.log('Transfer event:', event);
886
+ * });
887
+ * ```
888
+ */
889
+ export declare class PendleSUSDESY_json {
890
+ private contract;
891
+ private contractAddress;
892
+ private publicClient;
893
+ constructor(address: Address, clients: {
894
+ publicClient: PublicClient;
895
+ walletClient?: WalletClient;
896
+ });
897
+ /**
898
+ * Get the contract address
899
+ */
900
+ get address(): Address;
901
+ /**
902
+ * Get the underlying viem contract instance
903
+ */
904
+ getContract(): PendleSUSDESY_jsonContract;
905
+ /**
906
+ * DOMAIN_SEPARATOR
907
+ * view
908
+ */
909
+ DOMAIN_SEPARATOR(): Promise<`0x${string}`>;
910
+ /**
911
+ * accruedRewards
912
+ * view
913
+ */
914
+ accruedRewards(arg0: `0x${string}`): Promise<bigint[]>;
915
+ /**
916
+ * allowance
917
+ * view
918
+ */
919
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
920
+ /**
921
+ * asset
922
+ * view
923
+ */
924
+ asset(): Promise<`0x${string}`>;
925
+ /**
926
+ * assetInfo
927
+ * view
928
+ */
929
+ assetInfo(): Promise<[bigint, `0x${string}`, bigint]>;
930
+ /**
931
+ * balanceOf
932
+ * view
933
+ */
934
+ balanceOf(account: `0x${string}`): Promise<bigint>;
935
+ /**
936
+ * decimals
937
+ * view
938
+ */
939
+ decimals(): Promise<bigint>;
940
+ /**
941
+ * eip712Domain
942
+ * view
943
+ */
944
+ eip712Domain(): Promise<[`0x${string}`, string, string, bigint, `0x${string}`, `0x${string}`, bigint[]]>;
945
+ /**
946
+ * exchangeRate
947
+ * view
948
+ */
949
+ exchangeRate(): Promise<bigint>;
950
+ /**
951
+ * getAbsoluteSupplyCap
952
+ * view
953
+ */
954
+ getAbsoluteSupplyCap(): Promise<bigint>;
955
+ /**
956
+ * getAbsoluteTotalSupply
957
+ * view
958
+ */
959
+ getAbsoluteTotalSupply(): Promise<bigint>;
960
+ /**
961
+ * getRewardTokens
962
+ * view
963
+ */
964
+ getRewardTokens(): Promise<`0x${string}`[]>;
965
+ /**
966
+ * getTokensIn
967
+ * view
968
+ */
969
+ getTokensIn(): Promise<`0x${string}`[]>;
970
+ /**
971
+ * getTokensOut
972
+ * view
973
+ */
974
+ getTokensOut(): Promise<`0x${string}`[]>;
975
+ /**
976
+ * isValidTokenIn
977
+ * view
978
+ */
979
+ isValidTokenIn(token: `0x${string}`): Promise<boolean>;
980
+ /**
981
+ * isValidTokenOut
982
+ * view
983
+ */
984
+ isValidTokenOut(token: `0x${string}`): Promise<boolean>;
985
+ /**
986
+ * name
987
+ * view
988
+ */
989
+ name(): Promise<string>;
990
+ /**
991
+ * nonces
992
+ * view
993
+ */
994
+ nonces(owner: `0x${string}`): Promise<bigint>;
995
+ /**
996
+ * owner
997
+ * view
998
+ */
999
+ owner(): Promise<`0x${string}`>;
1000
+ /**
1001
+ * paused
1002
+ * view
1003
+ */
1004
+ paused(): Promise<boolean>;
1005
+ /**
1006
+ * pendingOwner
1007
+ * view
1008
+ */
1009
+ pendingOwner(): Promise<`0x${string}`>;
1010
+ /**
1011
+ * previewDeposit
1012
+ * view
1013
+ */
1014
+ previewDeposit(tokenIn: `0x${string}`, amountTokenToDeposit: bigint): Promise<bigint>;
1015
+ /**
1016
+ * previewRedeem
1017
+ * view
1018
+ */
1019
+ previewRedeem(tokenOut: `0x${string}`, amountSharesToRedeem: bigint): Promise<bigint>;
1020
+ /**
1021
+ * rewardIndexesStored
1022
+ * view
1023
+ */
1024
+ rewardIndexesStored(): Promise<bigint[]>;
1025
+ /**
1026
+ * supplyCap
1027
+ * view
1028
+ */
1029
+ supplyCap(): Promise<bigint>;
1030
+ /**
1031
+ * symbol
1032
+ * view
1033
+ */
1034
+ symbol(): Promise<string>;
1035
+ /**
1036
+ * totalSupply
1037
+ * view
1038
+ */
1039
+ totalSupply(): Promise<bigint>;
1040
+ /**
1041
+ * yieldToken
1042
+ * view
1043
+ */
1044
+ yieldToken(): Promise<`0x${string}`>;
1045
+ /**
1046
+ * approve
1047
+ * nonpayable
1048
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1049
+ */
1050
+ approve(spender: `0x${string}`, amount: bigint, options?: {
1051
+ accessList?: import('viem').AccessList;
1052
+ authorizationList?: import('viem').AuthorizationList;
1053
+ chain?: import('viem').Chain | null;
1054
+ dataSuffix?: `0x${string}`;
1055
+ gas?: bigint;
1056
+ gasPrice?: bigint;
1057
+ maxFeePerGas?: bigint;
1058
+ maxPriorityFeePerGas?: bigint;
1059
+ nonce?: number;
1060
+ value?: bigint;
1061
+ }): Promise<`0x${string}`>;
1062
+ /**
1063
+ * claimOwnership
1064
+ * nonpayable
1065
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1066
+ */
1067
+ claimOwnership(options?: {
1068
+ accessList?: import('viem').AccessList;
1069
+ authorizationList?: import('viem').AuthorizationList;
1070
+ chain?: import('viem').Chain | null;
1071
+ dataSuffix?: `0x${string}`;
1072
+ gas?: bigint;
1073
+ gasPrice?: bigint;
1074
+ maxFeePerGas?: bigint;
1075
+ maxPriorityFeePerGas?: bigint;
1076
+ nonce?: number;
1077
+ value?: bigint;
1078
+ }): Promise<`0x${string}`>;
1079
+ /**
1080
+ * claimRewards
1081
+ * nonpayable
1082
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1083
+ */
1084
+ claimRewards(arg0: `0x${string}`, options?: {
1085
+ accessList?: import('viem').AccessList;
1086
+ authorizationList?: import('viem').AuthorizationList;
1087
+ chain?: import('viem').Chain | null;
1088
+ dataSuffix?: `0x${string}`;
1089
+ gas?: bigint;
1090
+ gasPrice?: bigint;
1091
+ maxFeePerGas?: bigint;
1092
+ maxPriorityFeePerGas?: bigint;
1093
+ nonce?: number;
1094
+ value?: bigint;
1095
+ }): Promise<`0x${string}`>;
1096
+ /**
1097
+ * deposit
1098
+ * payable
1099
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1100
+ */
1101
+ deposit(receiver: `0x${string}`, tokenIn: `0x${string}`, amountTokenToDeposit: bigint, minSharesOut: bigint, options?: {
1102
+ accessList?: import('viem').AccessList;
1103
+ authorizationList?: import('viem').AuthorizationList;
1104
+ chain?: import('viem').Chain | null;
1105
+ dataSuffix?: `0x${string}`;
1106
+ gas?: bigint;
1107
+ gasPrice?: bigint;
1108
+ maxFeePerGas?: bigint;
1109
+ maxPriorityFeePerGas?: bigint;
1110
+ nonce?: number;
1111
+ value?: bigint;
1112
+ }): Promise<`0x${string}`>;
1113
+ /**
1114
+ * pause
1115
+ * nonpayable
1116
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1117
+ */
1118
+ pause(options?: {
1119
+ accessList?: import('viem').AccessList;
1120
+ authorizationList?: import('viem').AuthorizationList;
1121
+ chain?: import('viem').Chain | null;
1122
+ dataSuffix?: `0x${string}`;
1123
+ gas?: bigint;
1124
+ gasPrice?: bigint;
1125
+ maxFeePerGas?: bigint;
1126
+ maxPriorityFeePerGas?: bigint;
1127
+ nonce?: number;
1128
+ value?: bigint;
1129
+ }): Promise<`0x${string}`>;
1130
+ /**
1131
+ * permit
1132
+ * nonpayable
1133
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1134
+ */
1135
+ permit(owner: `0x${string}`, spender: `0x${string}`, value: bigint, deadline: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, options?: {
1136
+ accessList?: import('viem').AccessList;
1137
+ authorizationList?: import('viem').AuthorizationList;
1138
+ chain?: import('viem').Chain | null;
1139
+ dataSuffix?: `0x${string}`;
1140
+ gas?: bigint;
1141
+ gasPrice?: bigint;
1142
+ maxFeePerGas?: bigint;
1143
+ maxPriorityFeePerGas?: bigint;
1144
+ nonce?: number;
1145
+ value?: bigint;
1146
+ }): Promise<`0x${string}`>;
1147
+ /**
1148
+ * redeem
1149
+ * nonpayable
1150
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1151
+ */
1152
+ redeem(receiver: `0x${string}`, amountSharesToRedeem: bigint, tokenOut: `0x${string}`, minTokenOut: bigint, burnFromInternalBalance: boolean, options?: {
1153
+ accessList?: import('viem').AccessList;
1154
+ authorizationList?: import('viem').AuthorizationList;
1155
+ chain?: import('viem').Chain | null;
1156
+ dataSuffix?: `0x${string}`;
1157
+ gas?: bigint;
1158
+ gasPrice?: bigint;
1159
+ maxFeePerGas?: bigint;
1160
+ maxPriorityFeePerGas?: bigint;
1161
+ nonce?: number;
1162
+ value?: bigint;
1163
+ }): Promise<`0x${string}`>;
1164
+ /**
1165
+ * rewardIndexesCurrent
1166
+ * nonpayable
1167
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1168
+ */
1169
+ rewardIndexesCurrent(options?: {
1170
+ accessList?: import('viem').AccessList;
1171
+ authorizationList?: import('viem').AuthorizationList;
1172
+ chain?: import('viem').Chain | null;
1173
+ dataSuffix?: `0x${string}`;
1174
+ gas?: bigint;
1175
+ gasPrice?: bigint;
1176
+ maxFeePerGas?: bigint;
1177
+ maxPriorityFeePerGas?: bigint;
1178
+ nonce?: number;
1179
+ value?: bigint;
1180
+ }): Promise<`0x${string}`>;
1181
+ /**
1182
+ * transfer
1183
+ * nonpayable
1184
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1185
+ */
1186
+ transfer(to: `0x${string}`, amount: bigint, options?: {
1187
+ accessList?: import('viem').AccessList;
1188
+ authorizationList?: import('viem').AuthorizationList;
1189
+ chain?: import('viem').Chain | null;
1190
+ dataSuffix?: `0x${string}`;
1191
+ gas?: bigint;
1192
+ gasPrice?: bigint;
1193
+ maxFeePerGas?: bigint;
1194
+ maxPriorityFeePerGas?: bigint;
1195
+ nonce?: number;
1196
+ value?: bigint;
1197
+ }): Promise<`0x${string}`>;
1198
+ /**
1199
+ * transferFrom
1200
+ * nonpayable
1201
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1202
+ */
1203
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
1204
+ accessList?: import('viem').AccessList;
1205
+ authorizationList?: import('viem').AuthorizationList;
1206
+ chain?: import('viem').Chain | null;
1207
+ dataSuffix?: `0x${string}`;
1208
+ gas?: bigint;
1209
+ gasPrice?: bigint;
1210
+ maxFeePerGas?: bigint;
1211
+ maxPriorityFeePerGas?: bigint;
1212
+ nonce?: number;
1213
+ value?: bigint;
1214
+ }): Promise<`0x${string}`>;
1215
+ /**
1216
+ * transferOwnership
1217
+ * nonpayable
1218
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1219
+ */
1220
+ transferOwnership(newOwner: `0x${string}`, direct: boolean, renounce: boolean, options?: {
1221
+ accessList?: import('viem').AccessList;
1222
+ authorizationList?: import('viem').AuthorizationList;
1223
+ chain?: import('viem').Chain | null;
1224
+ dataSuffix?: `0x${string}`;
1225
+ gas?: bigint;
1226
+ gasPrice?: bigint;
1227
+ maxFeePerGas?: bigint;
1228
+ maxPriorityFeePerGas?: bigint;
1229
+ nonce?: number;
1230
+ value?: bigint;
1231
+ }): Promise<`0x${string}`>;
1232
+ /**
1233
+ * unpause
1234
+ * nonpayable
1235
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1236
+ */
1237
+ unpause(options?: {
1238
+ accessList?: import('viem').AccessList;
1239
+ authorizationList?: import('viem').AuthorizationList;
1240
+ chain?: import('viem').Chain | null;
1241
+ dataSuffix?: `0x${string}`;
1242
+ gas?: bigint;
1243
+ gasPrice?: bigint;
1244
+ maxFeePerGas?: bigint;
1245
+ maxPriorityFeePerGas?: bigint;
1246
+ nonce?: number;
1247
+ value?: bigint;
1248
+ }): Promise<`0x${string}`>;
1249
+ /**
1250
+ * updateSupplyCap
1251
+ * nonpayable
1252
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1253
+ */
1254
+ updateSupplyCap(newSupplyCap: bigint, options?: {
1255
+ accessList?: import('viem').AccessList;
1256
+ authorizationList?: import('viem').AuthorizationList;
1257
+ chain?: import('viem').Chain | null;
1258
+ dataSuffix?: `0x${string}`;
1259
+ gas?: bigint;
1260
+ gasPrice?: bigint;
1261
+ maxFeePerGas?: bigint;
1262
+ maxPriorityFeePerGas?: bigint;
1263
+ nonce?: number;
1264
+ value?: bigint;
1265
+ }): Promise<`0x${string}`>;
1266
+ /**
1267
+ * Simulate contract write operations (dry-run without sending transaction)
1268
+ *
1269
+ * @example
1270
+ * const result = await contract.simulate.transfer('0x...', 1000n);
1271
+ * console.log('Gas estimate:', result.request.gas);
1272
+ * console.log('Would succeed:', result.result);
1273
+ */
1274
+ get simulate(): {
1275
+ /**
1276
+ * Simulate approve
1277
+ * Returns gas estimate and result without sending transaction
1278
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1279
+ */
1280
+ approve(spender: `0x${string}`, amount: bigint, options?: {
1281
+ accessList?: import("viem").AccessList;
1282
+ authorizationList?: import("viem").AuthorizationList;
1283
+ chain?: import("viem").Chain | null;
1284
+ dataSuffix?: `0x${string}`;
1285
+ gas?: bigint;
1286
+ gasPrice?: bigint;
1287
+ maxFeePerGas?: bigint;
1288
+ maxPriorityFeePerGas?: bigint;
1289
+ nonce?: number;
1290
+ value?: bigint;
1291
+ }): Promise<boolean>;
1292
+ /**
1293
+ * Simulate claimOwnership
1294
+ * Returns gas estimate and result without sending transaction
1295
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1296
+ */
1297
+ claimOwnership(options?: {
1298
+ accessList?: import("viem").AccessList;
1299
+ authorizationList?: import("viem").AuthorizationList;
1300
+ chain?: import("viem").Chain | null;
1301
+ dataSuffix?: `0x${string}`;
1302
+ gas?: bigint;
1303
+ gasPrice?: bigint;
1304
+ maxFeePerGas?: bigint;
1305
+ maxPriorityFeePerGas?: bigint;
1306
+ nonce?: number;
1307
+ value?: bigint;
1308
+ }): Promise<void>;
1309
+ /**
1310
+ * Simulate claimRewards
1311
+ * Returns gas estimate and result without sending transaction
1312
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1313
+ */
1314
+ claimRewards(arg0: `0x${string}`, options?: {
1315
+ accessList?: import("viem").AccessList;
1316
+ authorizationList?: import("viem").AuthorizationList;
1317
+ chain?: import("viem").Chain | null;
1318
+ dataSuffix?: `0x${string}`;
1319
+ gas?: bigint;
1320
+ gasPrice?: bigint;
1321
+ maxFeePerGas?: bigint;
1322
+ maxPriorityFeePerGas?: bigint;
1323
+ nonce?: number;
1324
+ value?: bigint;
1325
+ }): Promise<bigint[]>;
1326
+ /**
1327
+ * Simulate deposit
1328
+ * Returns gas estimate and result without sending transaction
1329
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1330
+ */
1331
+ deposit(receiver: `0x${string}`, tokenIn: `0x${string}`, amountTokenToDeposit: bigint, minSharesOut: bigint, options?: {
1332
+ accessList?: import("viem").AccessList;
1333
+ authorizationList?: import("viem").AuthorizationList;
1334
+ chain?: import("viem").Chain | null;
1335
+ dataSuffix?: `0x${string}`;
1336
+ gas?: bigint;
1337
+ gasPrice?: bigint;
1338
+ maxFeePerGas?: bigint;
1339
+ maxPriorityFeePerGas?: bigint;
1340
+ nonce?: number;
1341
+ value?: bigint;
1342
+ }): Promise<bigint>;
1343
+ /**
1344
+ * Simulate pause
1345
+ * Returns gas estimate and result without sending transaction
1346
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1347
+ */
1348
+ pause(options?: {
1349
+ accessList?: import("viem").AccessList;
1350
+ authorizationList?: import("viem").AuthorizationList;
1351
+ chain?: import("viem").Chain | null;
1352
+ dataSuffix?: `0x${string}`;
1353
+ gas?: bigint;
1354
+ gasPrice?: bigint;
1355
+ maxFeePerGas?: bigint;
1356
+ maxPriorityFeePerGas?: bigint;
1357
+ nonce?: number;
1358
+ value?: bigint;
1359
+ }): Promise<void>;
1360
+ /**
1361
+ * Simulate permit
1362
+ * Returns gas estimate and result without sending transaction
1363
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1364
+ */
1365
+ permit(owner: `0x${string}`, spender: `0x${string}`, value: bigint, deadline: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, options?: {
1366
+ accessList?: import("viem").AccessList;
1367
+ authorizationList?: import("viem").AuthorizationList;
1368
+ chain?: import("viem").Chain | null;
1369
+ dataSuffix?: `0x${string}`;
1370
+ gas?: bigint;
1371
+ gasPrice?: bigint;
1372
+ maxFeePerGas?: bigint;
1373
+ maxPriorityFeePerGas?: bigint;
1374
+ nonce?: number;
1375
+ value?: bigint;
1376
+ }): Promise<void>;
1377
+ /**
1378
+ * Simulate redeem
1379
+ * Returns gas estimate and result without sending transaction
1380
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1381
+ */
1382
+ redeem(receiver: `0x${string}`, amountSharesToRedeem: bigint, tokenOut: `0x${string}`, minTokenOut: bigint, burnFromInternalBalance: boolean, options?: {
1383
+ accessList?: import("viem").AccessList;
1384
+ authorizationList?: import("viem").AuthorizationList;
1385
+ chain?: import("viem").Chain | null;
1386
+ dataSuffix?: `0x${string}`;
1387
+ gas?: bigint;
1388
+ gasPrice?: bigint;
1389
+ maxFeePerGas?: bigint;
1390
+ maxPriorityFeePerGas?: bigint;
1391
+ nonce?: number;
1392
+ value?: bigint;
1393
+ }): Promise<bigint>;
1394
+ /**
1395
+ * Simulate rewardIndexesCurrent
1396
+ * Returns gas estimate and result without sending transaction
1397
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1398
+ */
1399
+ rewardIndexesCurrent(options?: {
1400
+ accessList?: import("viem").AccessList;
1401
+ authorizationList?: import("viem").AuthorizationList;
1402
+ chain?: import("viem").Chain | null;
1403
+ dataSuffix?: `0x${string}`;
1404
+ gas?: bigint;
1405
+ gasPrice?: bigint;
1406
+ maxFeePerGas?: bigint;
1407
+ maxPriorityFeePerGas?: bigint;
1408
+ nonce?: number;
1409
+ value?: bigint;
1410
+ }): Promise<bigint[]>;
1411
+ /**
1412
+ * Simulate transfer
1413
+ * Returns gas estimate and result without sending transaction
1414
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1415
+ */
1416
+ transfer(to: `0x${string}`, amount: bigint, options?: {
1417
+ accessList?: import("viem").AccessList;
1418
+ authorizationList?: import("viem").AuthorizationList;
1419
+ chain?: import("viem").Chain | null;
1420
+ dataSuffix?: `0x${string}`;
1421
+ gas?: bigint;
1422
+ gasPrice?: bigint;
1423
+ maxFeePerGas?: bigint;
1424
+ maxPriorityFeePerGas?: bigint;
1425
+ nonce?: number;
1426
+ value?: bigint;
1427
+ }): Promise<boolean>;
1428
+ /**
1429
+ * Simulate transferFrom
1430
+ * Returns gas estimate and result without sending transaction
1431
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1432
+ */
1433
+ transferFrom(from: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
1434
+ accessList?: import("viem").AccessList;
1435
+ authorizationList?: import("viem").AuthorizationList;
1436
+ chain?: import("viem").Chain | null;
1437
+ dataSuffix?: `0x${string}`;
1438
+ gas?: bigint;
1439
+ gasPrice?: bigint;
1440
+ maxFeePerGas?: bigint;
1441
+ maxPriorityFeePerGas?: bigint;
1442
+ nonce?: number;
1443
+ value?: bigint;
1444
+ }): Promise<boolean>;
1445
+ /**
1446
+ * Simulate transferOwnership
1447
+ * Returns gas estimate and result without sending transaction
1448
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1449
+ */
1450
+ transferOwnership(newOwner: `0x${string}`, direct: boolean, renounce: boolean, options?: {
1451
+ accessList?: import("viem").AccessList;
1452
+ authorizationList?: import("viem").AuthorizationList;
1453
+ chain?: import("viem").Chain | null;
1454
+ dataSuffix?: `0x${string}`;
1455
+ gas?: bigint;
1456
+ gasPrice?: bigint;
1457
+ maxFeePerGas?: bigint;
1458
+ maxPriorityFeePerGas?: bigint;
1459
+ nonce?: number;
1460
+ value?: bigint;
1461
+ }): Promise<void>;
1462
+ /**
1463
+ * Simulate unpause
1464
+ * Returns gas estimate and result without sending transaction
1465
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1466
+ */
1467
+ unpause(options?: {
1468
+ accessList?: import("viem").AccessList;
1469
+ authorizationList?: import("viem").AuthorizationList;
1470
+ chain?: import("viem").Chain | null;
1471
+ dataSuffix?: `0x${string}`;
1472
+ gas?: bigint;
1473
+ gasPrice?: bigint;
1474
+ maxFeePerGas?: bigint;
1475
+ maxPriorityFeePerGas?: bigint;
1476
+ nonce?: number;
1477
+ value?: bigint;
1478
+ }): Promise<void>;
1479
+ /**
1480
+ * Simulate updateSupplyCap
1481
+ * Returns gas estimate and result without sending transaction
1482
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1483
+ */
1484
+ updateSupplyCap(newSupplyCap: bigint, options?: {
1485
+ accessList?: import("viem").AccessList;
1486
+ authorizationList?: import("viem").AuthorizationList;
1487
+ chain?: import("viem").Chain | null;
1488
+ dataSuffix?: `0x${string}`;
1489
+ gas?: bigint;
1490
+ gasPrice?: bigint;
1491
+ maxFeePerGas?: bigint;
1492
+ maxPriorityFeePerGas?: bigint;
1493
+ nonce?: number;
1494
+ value?: bigint;
1495
+ }): Promise<void>;
1496
+ };
1497
+ /**
1498
+ * Watch contract events
1499
+ *
1500
+ * @example
1501
+ * // Watch all Transfer events
1502
+ * const unwatch = contract.watch.Transfer((event) => {
1503
+ * console.log('Transfer:', event);
1504
+ * });
1505
+ *
1506
+ * // Stop watching
1507
+ * unwatch();
1508
+ */
1509
+ get watch(): {
1510
+ /**
1511
+ * Watch Approval events
1512
+ * @param callback Function to call when event is emitted
1513
+ * @param filter Optional filter for indexed parameters
1514
+ * @returns Unwatch function to stop listening
1515
+ */
1516
+ Approval: (callback: (event: {
1517
+ owner: `0x${string}`;
1518
+ spender: `0x${string}`;
1519
+ value: bigint;
1520
+ }) => void, filter?: {
1521
+ owner: `0x${string}`;
1522
+ spender: `0x${string}`;
1523
+ }) => () => void;
1524
+ /**
1525
+ * Watch ClaimRewards events
1526
+ * @param callback Function to call when event is emitted
1527
+ * @param filter Optional filter for indexed parameters
1528
+ * @returns Unwatch function to stop listening
1529
+ */
1530
+ ClaimRewards: (callback: (event: {
1531
+ user: `0x${string}`;
1532
+ rewardTokens: `0x${string}`[];
1533
+ rewardAmounts: bigint[];
1534
+ }) => void, filter?: {
1535
+ user: `0x${string}`;
1536
+ }) => () => void;
1537
+ /**
1538
+ * Watch Deposit events
1539
+ * @param callback Function to call when event is emitted
1540
+ * @param filter Optional filter for indexed parameters
1541
+ * @returns Unwatch function to stop listening
1542
+ */
1543
+ Deposit: (callback: (event: {
1544
+ caller: `0x${string}`;
1545
+ receiver: `0x${string}`;
1546
+ tokenIn: `0x${string}`;
1547
+ amountDeposited: bigint;
1548
+ amountSyOut: bigint;
1549
+ }) => void, filter?: {
1550
+ caller: `0x${string}`;
1551
+ receiver: `0x${string}`;
1552
+ tokenIn: `0x${string}`;
1553
+ }) => () => void;
1554
+ /**
1555
+ * Watch EIP712DomainChanged events
1556
+ * @param callback Function to call when event is emitted
1557
+ * @param filter Optional filter for indexed parameters
1558
+ * @returns Unwatch function to stop listening
1559
+ */
1560
+ EIP712DomainChanged: (callback: (event: {}) => void) => () => void;
1561
+ /**
1562
+ * Watch Initialized events
1563
+ * @param callback Function to call when event is emitted
1564
+ * @param filter Optional filter for indexed parameters
1565
+ * @returns Unwatch function to stop listening
1566
+ */
1567
+ Initialized: (callback: (event: {
1568
+ version: bigint;
1569
+ }) => void) => () => void;
1570
+ /**
1571
+ * Watch OwnershipTransferred events
1572
+ * @param callback Function to call when event is emitted
1573
+ * @param filter Optional filter for indexed parameters
1574
+ * @returns Unwatch function to stop listening
1575
+ */
1576
+ OwnershipTransferred: (callback: (event: {
1577
+ previousOwner: `0x${string}`;
1578
+ newOwner: `0x${string}`;
1579
+ }) => void, filter?: {
1580
+ previousOwner: `0x${string}`;
1581
+ newOwner: `0x${string}`;
1582
+ }) => () => void;
1583
+ /**
1584
+ * Watch Paused events
1585
+ * @param callback Function to call when event is emitted
1586
+ * @param filter Optional filter for indexed parameters
1587
+ * @returns Unwatch function to stop listening
1588
+ */
1589
+ Paused: (callback: (event: {
1590
+ account: `0x${string}`;
1591
+ }) => void) => () => void;
1592
+ /**
1593
+ * Watch Redeem events
1594
+ * @param callback Function to call when event is emitted
1595
+ * @param filter Optional filter for indexed parameters
1596
+ * @returns Unwatch function to stop listening
1597
+ */
1598
+ Redeem: (callback: (event: {
1599
+ caller: `0x${string}`;
1600
+ receiver: `0x${string}`;
1601
+ tokenOut: `0x${string}`;
1602
+ amountSyToRedeem: bigint;
1603
+ amountTokenOut: bigint;
1604
+ }) => void, filter?: {
1605
+ caller: `0x${string}`;
1606
+ receiver: `0x${string}`;
1607
+ tokenOut: `0x${string}`;
1608
+ }) => () => void;
1609
+ /**
1610
+ * Watch SupplyCapUpdated events
1611
+ * @param callback Function to call when event is emitted
1612
+ * @param filter Optional filter for indexed parameters
1613
+ * @returns Unwatch function to stop listening
1614
+ */
1615
+ SupplyCapUpdated: (callback: (event: {
1616
+ newSupplyCap: bigint;
1617
+ }) => void) => () => void;
1618
+ /**
1619
+ * Watch Transfer events
1620
+ * @param callback Function to call when event is emitted
1621
+ * @param filter Optional filter for indexed parameters
1622
+ * @returns Unwatch function to stop listening
1623
+ */
1624
+ Transfer: (callback: (event: {
1625
+ from: `0x${string}`;
1626
+ to: `0x${string}`;
1627
+ value: bigint;
1628
+ }) => void, filter?: {
1629
+ from: `0x${string}`;
1630
+ to: `0x${string}`;
1631
+ }) => () => void;
1632
+ /**
1633
+ * Watch Unpaused events
1634
+ * @param callback Function to call when event is emitted
1635
+ * @param filter Optional filter for indexed parameters
1636
+ * @returns Unwatch function to stop listening
1637
+ */
1638
+ Unpaused: (callback: (event: {
1639
+ account: `0x${string}`;
1640
+ }) => void) => () => void;
1641
+ };
1642
+ }