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