@gitmyabi/tokenizedvault 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,3971 @@
1
+ import type { Abi, Address, PublicClient, WalletClient, GetContractReturnType } from 'viem';
2
+ import { getContract } from 'viem';
3
+
4
+
5
+ /**
6
+ * ITokenizedVault.ConfigInfo struct type
7
+ */
8
+ export type ITokenizedVault_ConfigInfo = {
9
+ maxDepositAmount: bigint;
10
+ maxWithdrawalAmount: bigint;
11
+ instantRedemptionFee: bigint;
12
+ lagDuration: bigint;
13
+ withdrawalFee: bigint;
14
+ watermarkTimeWindow: bigint;
15
+ maxChangePercent: bigint;
16
+ managementFeePercent: bigint;
17
+ performanceFeeRate: bigint;
18
+ sendersWhitelistAddress: `0x${string}`;
19
+ operatorAddress: `0x${string}`;
20
+ scheduledCallerAddress: `0x${string}`;
21
+ lpTokenAddress: `0x${string}`;
22
+ referenceAsset: `0x${string}`;
23
+ futureOwnerAddress: `0x${string}`;
24
+ assetsWhitelistAddress: `0x${string}`;
25
+ };
26
+
27
+ /**
28
+ * IFeeCollectorsAware.CollectorDefinition struct type
29
+ */
30
+ export type IFeeCollectorsAware_CollectorDefinition = {
31
+ collectorAddress: `0x${string}`;
32
+ percentage: bigint;
33
+ };
34
+ /**
35
+ * TokenizedVault_json ABI
36
+ *
37
+ * This ABI is typed using viem's type system for full type safety.
38
+ */
39
+ export const TokenizedVault_jsonAbi = [
40
+ {
41
+ "inputs": [],
42
+ "stateMutability": "nonpayable",
43
+ "type": "constructor"
44
+ },
45
+ {
46
+ "inputs": [],
47
+ "name": "AccountNotWhitelisted",
48
+ "type": "error"
49
+ },
50
+ {
51
+ "inputs": [],
52
+ "name": "AlreadyConfigured",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [],
57
+ "name": "AmountTooLow",
58
+ "type": "error"
59
+ },
60
+ {
61
+ "inputs": [],
62
+ "name": "AssetNotWhitelisted",
63
+ "type": "error"
64
+ },
65
+ {
66
+ "inputs": [
67
+ {
68
+ "internalType": "uint256",
69
+ "name": "fee",
70
+ "type": "uint256"
71
+ },
72
+ {
73
+ "internalType": "uint256",
74
+ "name": "remaining",
75
+ "type": "uint256"
76
+ }
77
+ ],
78
+ "name": "CollectableFeesExceeded",
79
+ "type": "error"
80
+ },
81
+ {
82
+ "inputs": [],
83
+ "name": "DepositCapReached",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [],
88
+ "name": "DepositsPaused",
89
+ "type": "error"
90
+ },
91
+ {
92
+ "inputs": [],
93
+ "name": "FeeAmountTooLow",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [],
98
+ "name": "FeesMustSum100",
99
+ "type": "error"
100
+ },
101
+ {
102
+ "inputs": [],
103
+ "name": "HighWatermarkDurationError",
104
+ "type": "error"
105
+ },
106
+ {
107
+ "inputs": [],
108
+ "name": "HighWatermarkViolation",
109
+ "type": "error"
110
+ },
111
+ {
112
+ "inputs": [],
113
+ "name": "InsufficientShares",
114
+ "type": "error"
115
+ },
116
+ {
117
+ "inputs": [],
118
+ "name": "InvalidAccountType",
119
+ "type": "error"
120
+ },
121
+ {
122
+ "inputs": [],
123
+ "name": "InvalidAddress",
124
+ "type": "error"
125
+ },
126
+ {
127
+ "inputs": [],
128
+ "name": "InvalidAmount",
129
+ "type": "error"
130
+ },
131
+ {
132
+ "inputs": [],
133
+ "name": "InvalidDepositLimit",
134
+ "type": "error"
135
+ },
136
+ {
137
+ "inputs": [],
138
+ "name": "InvalidExternalAssets",
139
+ "type": "error"
140
+ },
141
+ {
142
+ "inputs": [],
143
+ "name": "InvalidLagDuration",
144
+ "type": "error"
145
+ },
146
+ {
147
+ "inputs": [],
148
+ "name": "InvalidReceiver",
149
+ "type": "error"
150
+ },
151
+ {
152
+ "inputs": [],
153
+ "name": "InvalidTimestamp",
154
+ "type": "error"
155
+ },
156
+ {
157
+ "inputs": [],
158
+ "name": "InvalidWithdrawalLimit",
159
+ "type": "error"
160
+ },
161
+ {
162
+ "inputs": [],
163
+ "name": "LimitRequired",
164
+ "type": "error"
165
+ },
166
+ {
167
+ "inputs": [],
168
+ "name": "MaxAllowedChangeReached",
169
+ "type": "error"
170
+ },
171
+ {
172
+ "inputs": [],
173
+ "name": "MaxDepositAmountReached",
174
+ "type": "error"
175
+ },
176
+ {
177
+ "inputs": [],
178
+ "name": "MissingFeeCollectors",
179
+ "type": "error"
180
+ },
181
+ {
182
+ "inputs": [],
183
+ "name": "NoSharesForReceiver",
184
+ "type": "error"
185
+ },
186
+ {
187
+ "inputs": [],
188
+ "name": "NotConfigured",
189
+ "type": "error"
190
+ },
191
+ {
192
+ "inputs": [],
193
+ "name": "NothingToProcess",
194
+ "type": "error"
195
+ },
196
+ {
197
+ "inputs": [],
198
+ "name": "OnlyOwnerOrOperator",
199
+ "type": "error"
200
+ },
201
+ {
202
+ "inputs": [],
203
+ "name": "OperatorOnly",
204
+ "type": "error"
205
+ },
206
+ {
207
+ "inputs": [],
208
+ "name": "OwnerAddressRequired",
209
+ "type": "error"
210
+ },
211
+ {
212
+ "inputs": [],
213
+ "name": "OwnerOnly",
214
+ "type": "error"
215
+ },
216
+ {
217
+ "inputs": [],
218
+ "name": "ReentrancyGuardReentrantCall",
219
+ "type": "error"
220
+ },
221
+ {
222
+ "inputs": [],
223
+ "name": "ReferenceAssetMismatch",
224
+ "type": "error"
225
+ },
226
+ {
227
+ "inputs": [],
228
+ "name": "SenderNotWhitelisted",
229
+ "type": "error"
230
+ },
231
+ {
232
+ "inputs": [],
233
+ "name": "TokenDecimalsMismatch",
234
+ "type": "error"
235
+ },
236
+ {
237
+ "inputs": [],
238
+ "name": "TooEarly",
239
+ "type": "error"
240
+ },
241
+ {
242
+ "inputs": [],
243
+ "name": "Unauthorized",
244
+ "type": "error"
245
+ },
246
+ {
247
+ "inputs": [],
248
+ "name": "VaultNotTimelocked",
249
+ "type": "error"
250
+ },
251
+ {
252
+ "inputs": [],
253
+ "name": "WhitelistLimitReached",
254
+ "type": "error"
255
+ },
256
+ {
257
+ "inputs": [],
258
+ "name": "WithdrawalLimitReached",
259
+ "type": "error"
260
+ },
261
+ {
262
+ "inputs": [],
263
+ "name": "WithdrawalsPaused",
264
+ "type": "error"
265
+ },
266
+ {
267
+ "inputs": [],
268
+ "name": "ZeroAddressError",
269
+ "type": "error"
270
+ },
271
+ {
272
+ "anonymous": false,
273
+ "inputs": [],
274
+ "name": "ContractConfigured",
275
+ "type": "event"
276
+ },
277
+ {
278
+ "anonymous": false,
279
+ "inputs": [
280
+ {
281
+ "indexed": false,
282
+ "internalType": "address",
283
+ "name": "assetIn",
284
+ "type": "address"
285
+ },
286
+ {
287
+ "indexed": false,
288
+ "internalType": "uint256",
289
+ "name": "amountIn",
290
+ "type": "uint256"
291
+ },
292
+ {
293
+ "indexed": false,
294
+ "internalType": "uint256",
295
+ "name": "shares",
296
+ "type": "uint256"
297
+ },
298
+ {
299
+ "indexed": true,
300
+ "internalType": "address",
301
+ "name": "senderAddr",
302
+ "type": "address"
303
+ },
304
+ {
305
+ "indexed": true,
306
+ "internalType": "address",
307
+ "name": "receiverAddr",
308
+ "type": "address"
309
+ }
310
+ ],
311
+ "name": "Deposit",
312
+ "type": "event"
313
+ },
314
+ {
315
+ "anonymous": false,
316
+ "inputs": [
317
+ {
318
+ "indexed": false,
319
+ "internalType": "bool",
320
+ "name": "bDepositsPaused",
321
+ "type": "bool"
322
+ },
323
+ {
324
+ "indexed": false,
325
+ "internalType": "bool",
326
+ "name": "bWithdrawalsPaused",
327
+ "type": "bool"
328
+ }
329
+ ],
330
+ "name": "DepositWithdrawalStatusChanged",
331
+ "type": "event"
332
+ },
333
+ {
334
+ "anonymous": false,
335
+ "inputs": [],
336
+ "name": "FeesCollected",
337
+ "type": "event"
338
+ },
339
+ {
340
+ "anonymous": false,
341
+ "inputs": [
342
+ {
343
+ "indexed": false,
344
+ "internalType": "uint8",
345
+ "name": "version",
346
+ "type": "uint8"
347
+ }
348
+ ],
349
+ "name": "Initialized",
350
+ "type": "event"
351
+ },
352
+ {
353
+ "anonymous": false,
354
+ "inputs": [
355
+ {
356
+ "indexed": false,
357
+ "internalType": "uint256",
358
+ "name": "managementFeeAmount",
359
+ "type": "uint256"
360
+ }
361
+ ],
362
+ "name": "ManagementFeeCharged",
363
+ "type": "event"
364
+ },
365
+ {
366
+ "anonymous": false,
367
+ "inputs": [
368
+ {
369
+ "indexed": false,
370
+ "internalType": "uint256",
371
+ "name": "newManagementFeePercent",
372
+ "type": "uint256"
373
+ }
374
+ ],
375
+ "name": "ManagementFeeUpdated",
376
+ "type": "event"
377
+ },
378
+ {
379
+ "anonymous": false,
380
+ "inputs": [
381
+ {
382
+ "indexed": false,
383
+ "internalType": "uint256",
384
+ "name": "newValue",
385
+ "type": "uint256"
386
+ }
387
+ ],
388
+ "name": "MaxChangePercentUpdated",
389
+ "type": "event"
390
+ },
391
+ {
392
+ "anonymous": false,
393
+ "inputs": [
394
+ {
395
+ "indexed": false,
396
+ "internalType": "address",
397
+ "name": "receiverAddr",
398
+ "type": "address"
399
+ }
400
+ ],
401
+ "name": "OnEmergencyWithdraw",
402
+ "type": "event"
403
+ },
404
+ {
405
+ "anonymous": false,
406
+ "inputs": [
407
+ {
408
+ "indexed": true,
409
+ "internalType": "address",
410
+ "name": "previousOwner",
411
+ "type": "address"
412
+ },
413
+ {
414
+ "indexed": true,
415
+ "internalType": "address",
416
+ "name": "newOwner",
417
+ "type": "address"
418
+ }
419
+ ],
420
+ "name": "OwnershipTransferStarted",
421
+ "type": "event"
422
+ },
423
+ {
424
+ "anonymous": false,
425
+ "inputs": [
426
+ {
427
+ "indexed": true,
428
+ "internalType": "address",
429
+ "name": "previousOwner",
430
+ "type": "address"
431
+ },
432
+ {
433
+ "indexed": true,
434
+ "internalType": "address",
435
+ "name": "newOwner",
436
+ "type": "address"
437
+ }
438
+ ],
439
+ "name": "OwnershipTransferred",
440
+ "type": "event"
441
+ },
442
+ {
443
+ "anonymous": false,
444
+ "inputs": [
445
+ {
446
+ "indexed": false,
447
+ "internalType": "address",
448
+ "name": "newWhitelistAddr",
449
+ "type": "address"
450
+ }
451
+ ],
452
+ "name": "SendersWhitelistUpdated",
453
+ "type": "event"
454
+ },
455
+ {
456
+ "anonymous": false,
457
+ "inputs": [
458
+ {
459
+ "indexed": false,
460
+ "internalType": "address",
461
+ "name": "subAccountAddr",
462
+ "type": "address"
463
+ }
464
+ ],
465
+ "name": "SubAccountDisabled",
466
+ "type": "event"
467
+ },
468
+ {
469
+ "anonymous": false,
470
+ "inputs": [
471
+ {
472
+ "indexed": false,
473
+ "internalType": "address",
474
+ "name": "subAccountAddr",
475
+ "type": "address"
476
+ }
477
+ ],
478
+ "name": "SubAccountEnabled",
479
+ "type": "event"
480
+ },
481
+ {
482
+ "anonymous": false,
483
+ "inputs": [
484
+ {
485
+ "indexed": true,
486
+ "internalType": "address",
487
+ "name": "sender",
488
+ "type": "address"
489
+ },
490
+ {
491
+ "indexed": true,
492
+ "internalType": "address",
493
+ "name": "receiver",
494
+ "type": "address"
495
+ },
496
+ {
497
+ "indexed": true,
498
+ "internalType": "address",
499
+ "name": "owner",
500
+ "type": "address"
501
+ },
502
+ {
503
+ "indexed": false,
504
+ "internalType": "uint256",
505
+ "name": "assets",
506
+ "type": "uint256"
507
+ },
508
+ {
509
+ "indexed": false,
510
+ "internalType": "uint256",
511
+ "name": "shares",
512
+ "type": "uint256"
513
+ }
514
+ ],
515
+ "name": "Withdraw",
516
+ "type": "event"
517
+ },
518
+ {
519
+ "anonymous": false,
520
+ "inputs": [
521
+ {
522
+ "indexed": false,
523
+ "internalType": "uint256",
524
+ "name": "assetsAmount",
525
+ "type": "uint256"
526
+ },
527
+ {
528
+ "indexed": true,
529
+ "internalType": "address",
530
+ "name": "receiverAddr",
531
+ "type": "address"
532
+ }
533
+ ],
534
+ "name": "WithdrawalProcessed",
535
+ "type": "event"
536
+ },
537
+ {
538
+ "anonymous": false,
539
+ "inputs": [
540
+ {
541
+ "indexed": false,
542
+ "internalType": "uint256",
543
+ "name": "shares",
544
+ "type": "uint256"
545
+ },
546
+ {
547
+ "indexed": true,
548
+ "internalType": "address",
549
+ "name": "holderAddr",
550
+ "type": "address"
551
+ },
552
+ {
553
+ "indexed": true,
554
+ "internalType": "address",
555
+ "name": "receiverAddr",
556
+ "type": "address"
557
+ }
558
+ ],
559
+ "name": "WithdrawalRequested",
560
+ "type": "event"
561
+ },
562
+ {
563
+ "inputs": [],
564
+ "name": "acceptOwnership",
565
+ "outputs": [],
566
+ "stateMutability": "nonpayable",
567
+ "type": "function"
568
+ },
569
+ {
570
+ "inputs": [],
571
+ "name": "asset",
572
+ "outputs": [
573
+ {
574
+ "internalType": "address",
575
+ "name": "",
576
+ "type": "address"
577
+ }
578
+ ],
579
+ "stateMutability": "view",
580
+ "type": "function"
581
+ },
582
+ {
583
+ "inputs": [],
584
+ "name": "assetsUpdatedOn",
585
+ "outputs": [
586
+ {
587
+ "internalType": "uint256",
588
+ "name": "",
589
+ "type": "uint256"
590
+ }
591
+ ],
592
+ "stateMutability": "view",
593
+ "type": "function"
594
+ },
595
+ {
596
+ "inputs": [],
597
+ "name": "assetsWhitelistAddress",
598
+ "outputs": [
599
+ {
600
+ "internalType": "address",
601
+ "name": "",
602
+ "type": "address"
603
+ }
604
+ ],
605
+ "stateMutability": "view",
606
+ "type": "function"
607
+ },
608
+ {
609
+ "inputs": [],
610
+ "name": "chargeManagementFee",
611
+ "outputs": [],
612
+ "stateMutability": "nonpayable",
613
+ "type": "function"
614
+ },
615
+ {
616
+ "inputs": [],
617
+ "name": "chargePerformanceFees",
618
+ "outputs": [],
619
+ "stateMutability": "nonpayable",
620
+ "type": "function"
621
+ },
622
+ {
623
+ "inputs": [
624
+ {
625
+ "internalType": "uint256",
626
+ "name": "year",
627
+ "type": "uint256"
628
+ },
629
+ {
630
+ "internalType": "uint256",
631
+ "name": "month",
632
+ "type": "uint256"
633
+ },
634
+ {
635
+ "internalType": "uint256",
636
+ "name": "day",
637
+ "type": "uint256"
638
+ },
639
+ {
640
+ "internalType": "address",
641
+ "name": "receiverAddr",
642
+ "type": "address"
643
+ }
644
+ ],
645
+ "name": "claim",
646
+ "outputs": [
647
+ {
648
+ "internalType": "uint256",
649
+ "name": "",
650
+ "type": "uint256"
651
+ },
652
+ {
653
+ "internalType": "uint256",
654
+ "name": "",
655
+ "type": "uint256"
656
+ }
657
+ ],
658
+ "stateMutability": "nonpayable",
659
+ "type": "function"
660
+ },
661
+ {
662
+ "inputs": [],
663
+ "name": "collectFees",
664
+ "outputs": [],
665
+ "stateMutability": "nonpayable",
666
+ "type": "function"
667
+ },
668
+ {
669
+ "inputs": [
670
+ {
671
+ "components": [
672
+ {
673
+ "internalType": "uint256",
674
+ "name": "maxDepositAmount",
675
+ "type": "uint256"
676
+ },
677
+ {
678
+ "internalType": "uint256",
679
+ "name": "maxWithdrawalAmount",
680
+ "type": "uint256"
681
+ },
682
+ {
683
+ "internalType": "uint256",
684
+ "name": "instantRedemptionFee",
685
+ "type": "uint256"
686
+ },
687
+ {
688
+ "internalType": "uint256",
689
+ "name": "lagDuration",
690
+ "type": "uint256"
691
+ },
692
+ {
693
+ "internalType": "uint256",
694
+ "name": "withdrawalFee",
695
+ "type": "uint256"
696
+ },
697
+ {
698
+ "internalType": "uint256",
699
+ "name": "watermarkTimeWindow",
700
+ "type": "uint256"
701
+ },
702
+ {
703
+ "internalType": "uint256",
704
+ "name": "maxChangePercent",
705
+ "type": "uint256"
706
+ },
707
+ {
708
+ "internalType": "uint256",
709
+ "name": "managementFeePercent",
710
+ "type": "uint256"
711
+ },
712
+ {
713
+ "internalType": "uint256",
714
+ "name": "performanceFeeRate",
715
+ "type": "uint256"
716
+ },
717
+ {
718
+ "internalType": "address",
719
+ "name": "sendersWhitelistAddress",
720
+ "type": "address"
721
+ },
722
+ {
723
+ "internalType": "address",
724
+ "name": "operatorAddress",
725
+ "type": "address"
726
+ },
727
+ {
728
+ "internalType": "address",
729
+ "name": "scheduledCallerAddress",
730
+ "type": "address"
731
+ },
732
+ {
733
+ "internalType": "address",
734
+ "name": "lpTokenAddress",
735
+ "type": "address"
736
+ },
737
+ {
738
+ "internalType": "address",
739
+ "name": "referenceAsset",
740
+ "type": "address"
741
+ },
742
+ {
743
+ "internalType": "address",
744
+ "name": "futureOwnerAddress",
745
+ "type": "address"
746
+ },
747
+ {
748
+ "internalType": "address",
749
+ "name": "assetsWhitelistAddress",
750
+ "type": "address"
751
+ }
752
+ ],
753
+ "internalType": "struct ITokenizedVault.ConfigInfo",
754
+ "name": "newConfig",
755
+ "type": "tuple"
756
+ }
757
+ ],
758
+ "name": "configure",
759
+ "outputs": [],
760
+ "stateMutability": "nonpayable",
761
+ "type": "function"
762
+ },
763
+ {
764
+ "inputs": [
765
+ {
766
+ "internalType": "address",
767
+ "name": "assetIn",
768
+ "type": "address"
769
+ },
770
+ {
771
+ "internalType": "uint256",
772
+ "name": "amountIn",
773
+ "type": "uint256"
774
+ },
775
+ {
776
+ "internalType": "address",
777
+ "name": "receiverAddr",
778
+ "type": "address"
779
+ }
780
+ ],
781
+ "name": "deposit",
782
+ "outputs": [
783
+ {
784
+ "internalType": "uint256",
785
+ "name": "shares",
786
+ "type": "uint256"
787
+ }
788
+ ],
789
+ "stateMutability": "nonpayable",
790
+ "type": "function"
791
+ },
792
+ {
793
+ "inputs": [],
794
+ "name": "depositCap",
795
+ "outputs": [
796
+ {
797
+ "internalType": "uint256",
798
+ "name": "",
799
+ "type": "uint256"
800
+ }
801
+ ],
802
+ "stateMutability": "view",
803
+ "type": "function"
804
+ },
805
+ {
806
+ "inputs": [
807
+ {
808
+ "internalType": "address",
809
+ "name": "inputAssetAddr",
810
+ "type": "address"
811
+ },
812
+ {
813
+ "internalType": "uint256",
814
+ "name": "depositAmount",
815
+ "type": "uint256"
816
+ },
817
+ {
818
+ "internalType": "address",
819
+ "name": "subAccountAddr",
820
+ "type": "address"
821
+ }
822
+ ],
823
+ "name": "depositToSubaccount",
824
+ "outputs": [],
825
+ "stateMutability": "nonpayable",
826
+ "type": "function"
827
+ },
828
+ {
829
+ "inputs": [
830
+ {
831
+ "internalType": "address",
832
+ "name": "assetIn",
833
+ "type": "address"
834
+ },
835
+ {
836
+ "internalType": "uint256",
837
+ "name": "amountIn",
838
+ "type": "uint256"
839
+ },
840
+ {
841
+ "internalType": "address",
842
+ "name": "receiverAddr",
843
+ "type": "address"
844
+ },
845
+ {
846
+ "internalType": "uint256",
847
+ "name": "deadline",
848
+ "type": "uint256"
849
+ },
850
+ {
851
+ "internalType": "bytes32",
852
+ "name": "r",
853
+ "type": "bytes32"
854
+ },
855
+ {
856
+ "internalType": "bytes32",
857
+ "name": "s",
858
+ "type": "bytes32"
859
+ },
860
+ {
861
+ "internalType": "uint8",
862
+ "name": "v",
863
+ "type": "uint8"
864
+ }
865
+ ],
866
+ "name": "depositWithPermit",
867
+ "outputs": [
868
+ {
869
+ "internalType": "uint256",
870
+ "name": "shares",
871
+ "type": "uint256"
872
+ }
873
+ ],
874
+ "stateMutability": "nonpayable",
875
+ "type": "function"
876
+ },
877
+ {
878
+ "inputs": [],
879
+ "name": "depositsPaused",
880
+ "outputs": [
881
+ {
882
+ "internalType": "bool",
883
+ "name": "",
884
+ "type": "bool"
885
+ }
886
+ ],
887
+ "stateMutability": "view",
888
+ "type": "function"
889
+ },
890
+ {
891
+ "inputs": [
892
+ {
893
+ "internalType": "address",
894
+ "name": "addr",
895
+ "type": "address"
896
+ }
897
+ ],
898
+ "name": "disableSubAccount",
899
+ "outputs": [],
900
+ "stateMutability": "nonpayable",
901
+ "type": "function"
902
+ },
903
+ {
904
+ "inputs": [
905
+ {
906
+ "internalType": "address",
907
+ "name": "receiverAddr",
908
+ "type": "address"
909
+ }
910
+ ],
911
+ "name": "emergencyWithdraw",
912
+ "outputs": [],
913
+ "stateMutability": "nonpayable",
914
+ "type": "function"
915
+ },
916
+ {
917
+ "inputs": [
918
+ {
919
+ "internalType": "address",
920
+ "name": "addr",
921
+ "type": "address"
922
+ },
923
+ {
924
+ "internalType": "uint8",
925
+ "name": "accountType",
926
+ "type": "uint8"
927
+ }
928
+ ],
929
+ "name": "enableSubAccount",
930
+ "outputs": [],
931
+ "stateMutability": "nonpayable",
932
+ "type": "function"
933
+ },
934
+ {
935
+ "inputs": [],
936
+ "name": "externalAssets",
937
+ "outputs": [
938
+ {
939
+ "internalType": "uint256",
940
+ "name": "",
941
+ "type": "uint256"
942
+ }
943
+ ],
944
+ "stateMutability": "view",
945
+ "type": "function"
946
+ },
947
+ {
948
+ "inputs": [
949
+ {
950
+ "internalType": "uint256",
951
+ "name": "",
952
+ "type": "uint256"
953
+ }
954
+ ],
955
+ "name": "feeCollectors",
956
+ "outputs": [
957
+ {
958
+ "internalType": "address",
959
+ "name": "collectorAddress",
960
+ "type": "address"
961
+ },
962
+ {
963
+ "internalType": "uint256",
964
+ "name": "percentage",
965
+ "type": "uint256"
966
+ }
967
+ ],
968
+ "stateMutability": "view",
969
+ "type": "function"
970
+ },
971
+ {
972
+ "inputs": [],
973
+ "name": "feesTimestamp",
974
+ "outputs": [
975
+ {
976
+ "internalType": "uint256",
977
+ "name": "",
978
+ "type": "uint256"
979
+ }
980
+ ],
981
+ "stateMutability": "view",
982
+ "type": "function"
983
+ },
984
+ {
985
+ "inputs": [
986
+ {
987
+ "internalType": "uint256",
988
+ "name": "year",
989
+ "type": "uint256"
990
+ },
991
+ {
992
+ "internalType": "uint256",
993
+ "name": "month",
994
+ "type": "uint256"
995
+ },
996
+ {
997
+ "internalType": "uint256",
998
+ "name": "day",
999
+ "type": "uint256"
1000
+ },
1001
+ {
1002
+ "internalType": "address",
1003
+ "name": "receiverAddr",
1004
+ "type": "address"
1005
+ }
1006
+ ],
1007
+ "name": "getBurnableAmountByReceiver",
1008
+ "outputs": [
1009
+ {
1010
+ "internalType": "uint256",
1011
+ "name": "",
1012
+ "type": "uint256"
1013
+ }
1014
+ ],
1015
+ "stateMutability": "view",
1016
+ "type": "function"
1017
+ },
1018
+ {
1019
+ "inputs": [
1020
+ {
1021
+ "internalType": "uint256",
1022
+ "name": "externalAssetsAmount",
1023
+ "type": "uint256"
1024
+ }
1025
+ ],
1026
+ "name": "getChangePercentage",
1027
+ "outputs": [
1028
+ {
1029
+ "internalType": "uint256",
1030
+ "name": "",
1031
+ "type": "uint256"
1032
+ }
1033
+ ],
1034
+ "stateMutability": "view",
1035
+ "type": "function"
1036
+ },
1037
+ {
1038
+ "inputs": [],
1039
+ "name": "getFeeCollectors",
1040
+ "outputs": [
1041
+ {
1042
+ "components": [
1043
+ {
1044
+ "internalType": "address",
1045
+ "name": "collectorAddress",
1046
+ "type": "address"
1047
+ },
1048
+ {
1049
+ "internalType": "uint256",
1050
+ "name": "percentage",
1051
+ "type": "uint256"
1052
+ }
1053
+ ],
1054
+ "internalType": "struct IFeeCollectorsAware.CollectorDefinition[]",
1055
+ "name": "",
1056
+ "type": "tuple[]"
1057
+ }
1058
+ ],
1059
+ "stateMutability": "view",
1060
+ "type": "function"
1061
+ },
1062
+ {
1063
+ "inputs": [],
1064
+ "name": "getMaxAllowedChange",
1065
+ "outputs": [
1066
+ {
1067
+ "internalType": "uint256",
1068
+ "name": "",
1069
+ "type": "uint256"
1070
+ }
1071
+ ],
1072
+ "stateMutability": "view",
1073
+ "type": "function"
1074
+ },
1075
+ {
1076
+ "inputs": [],
1077
+ "name": "getPerformanceFeeRecipients",
1078
+ "outputs": [
1079
+ {
1080
+ "components": [
1081
+ {
1082
+ "internalType": "address",
1083
+ "name": "collectorAddress",
1084
+ "type": "address"
1085
+ },
1086
+ {
1087
+ "internalType": "uint256",
1088
+ "name": "percentage",
1089
+ "type": "uint256"
1090
+ }
1091
+ ],
1092
+ "internalType": "struct IFeeCollectorsAware.CollectorDefinition[]",
1093
+ "name": "",
1094
+ "type": "tuple[]"
1095
+ }
1096
+ ],
1097
+ "stateMutability": "view",
1098
+ "type": "function"
1099
+ },
1100
+ {
1101
+ "inputs": [
1102
+ {
1103
+ "internalType": "uint256",
1104
+ "name": "year",
1105
+ "type": "uint256"
1106
+ },
1107
+ {
1108
+ "internalType": "uint256",
1109
+ "name": "month",
1110
+ "type": "uint256"
1111
+ },
1112
+ {
1113
+ "internalType": "uint256",
1114
+ "name": "day",
1115
+ "type": "uint256"
1116
+ }
1117
+ ],
1118
+ "name": "getRequirementByDate",
1119
+ "outputs": [
1120
+ {
1121
+ "internalType": "uint256",
1122
+ "name": "shares",
1123
+ "type": "uint256"
1124
+ }
1125
+ ],
1126
+ "stateMutability": "view",
1127
+ "type": "function"
1128
+ },
1129
+ {
1130
+ "inputs": [
1131
+ {
1132
+ "internalType": "uint256",
1133
+ "name": "year",
1134
+ "type": "uint256"
1135
+ },
1136
+ {
1137
+ "internalType": "uint256",
1138
+ "name": "month",
1139
+ "type": "uint256"
1140
+ },
1141
+ {
1142
+ "internalType": "uint256",
1143
+ "name": "day",
1144
+ "type": "uint256"
1145
+ }
1146
+ ],
1147
+ "name": "getScheduledTransactionsByDate",
1148
+ "outputs": [
1149
+ {
1150
+ "internalType": "uint256",
1151
+ "name": "totalTransactions",
1152
+ "type": "uint256"
1153
+ },
1154
+ {
1155
+ "internalType": "uint256",
1156
+ "name": "executionEpoch",
1157
+ "type": "uint256"
1158
+ }
1159
+ ],
1160
+ "stateMutability": "view",
1161
+ "type": "function"
1162
+ },
1163
+ {
1164
+ "inputs": [],
1165
+ "name": "getSharePrice",
1166
+ "outputs": [
1167
+ {
1168
+ "internalType": "uint256",
1169
+ "name": "",
1170
+ "type": "uint256"
1171
+ }
1172
+ ],
1173
+ "stateMutability": "view",
1174
+ "type": "function"
1175
+ },
1176
+ {
1177
+ "inputs": [],
1178
+ "name": "getTotalAssets",
1179
+ "outputs": [
1180
+ {
1181
+ "internalType": "uint256",
1182
+ "name": "",
1183
+ "type": "uint256"
1184
+ }
1185
+ ],
1186
+ "stateMutability": "view",
1187
+ "type": "function"
1188
+ },
1189
+ {
1190
+ "inputs": [],
1191
+ "name": "getWithdrawalEpoch",
1192
+ "outputs": [
1193
+ {
1194
+ "internalType": "uint256",
1195
+ "name": "year",
1196
+ "type": "uint256"
1197
+ },
1198
+ {
1199
+ "internalType": "uint256",
1200
+ "name": "month",
1201
+ "type": "uint256"
1202
+ },
1203
+ {
1204
+ "internalType": "uint256",
1205
+ "name": "day",
1206
+ "type": "uint256"
1207
+ },
1208
+ {
1209
+ "internalType": "uint256",
1210
+ "name": "claimableEpoch",
1211
+ "type": "uint256"
1212
+ }
1213
+ ],
1214
+ "stateMutability": "view",
1215
+ "type": "function"
1216
+ },
1217
+ {
1218
+ "inputs": [],
1219
+ "name": "globalLiabilityShares",
1220
+ "outputs": [
1221
+ {
1222
+ "internalType": "uint256",
1223
+ "name": "",
1224
+ "type": "uint256"
1225
+ }
1226
+ ],
1227
+ "stateMutability": "view",
1228
+ "type": "function"
1229
+ },
1230
+ {
1231
+ "inputs": [],
1232
+ "name": "highWatermark",
1233
+ "outputs": [
1234
+ {
1235
+ "internalType": "uint256",
1236
+ "name": "",
1237
+ "type": "uint256"
1238
+ }
1239
+ ],
1240
+ "stateMutability": "view",
1241
+ "type": "function"
1242
+ },
1243
+ {
1244
+ "inputs": [
1245
+ {
1246
+ "internalType": "address",
1247
+ "name": "ownerAddr",
1248
+ "type": "address"
1249
+ }
1250
+ ],
1251
+ "name": "initialize",
1252
+ "outputs": [],
1253
+ "stateMutability": "nonpayable",
1254
+ "type": "function"
1255
+ },
1256
+ {
1257
+ "inputs": [
1258
+ {
1259
+ "internalType": "uint256",
1260
+ "name": "shares",
1261
+ "type": "uint256"
1262
+ },
1263
+ {
1264
+ "internalType": "address",
1265
+ "name": "receiverAddr",
1266
+ "type": "address"
1267
+ }
1268
+ ],
1269
+ "name": "instantRedeem",
1270
+ "outputs": [],
1271
+ "stateMutability": "nonpayable",
1272
+ "type": "function"
1273
+ },
1274
+ {
1275
+ "inputs": [],
1276
+ "name": "instantRedemptionFee",
1277
+ "outputs": [
1278
+ {
1279
+ "internalType": "uint256",
1280
+ "name": "",
1281
+ "type": "uint256"
1282
+ }
1283
+ ],
1284
+ "stateMutability": "view",
1285
+ "type": "function"
1286
+ },
1287
+ {
1288
+ "inputs": [],
1289
+ "name": "keepFeeInVault",
1290
+ "outputs": [
1291
+ {
1292
+ "internalType": "bool",
1293
+ "name": "",
1294
+ "type": "bool"
1295
+ }
1296
+ ],
1297
+ "stateMutability": "view",
1298
+ "type": "function"
1299
+ },
1300
+ {
1301
+ "inputs": [],
1302
+ "name": "lagDuration",
1303
+ "outputs": [
1304
+ {
1305
+ "internalType": "uint256",
1306
+ "name": "",
1307
+ "type": "uint256"
1308
+ }
1309
+ ],
1310
+ "stateMutability": "view",
1311
+ "type": "function"
1312
+ },
1313
+ {
1314
+ "inputs": [],
1315
+ "name": "lpTokenAddress",
1316
+ "outputs": [
1317
+ {
1318
+ "internalType": "address",
1319
+ "name": "",
1320
+ "type": "address"
1321
+ }
1322
+ ],
1323
+ "stateMutability": "view",
1324
+ "type": "function"
1325
+ },
1326
+ {
1327
+ "inputs": [],
1328
+ "name": "managementFeePercent",
1329
+ "outputs": [
1330
+ {
1331
+ "internalType": "uint256",
1332
+ "name": "",
1333
+ "type": "uint256"
1334
+ }
1335
+ ],
1336
+ "stateMutability": "view",
1337
+ "type": "function"
1338
+ },
1339
+ {
1340
+ "inputs": [],
1341
+ "name": "maxChangePercent",
1342
+ "outputs": [
1343
+ {
1344
+ "internalType": "uint256",
1345
+ "name": "",
1346
+ "type": "uint256"
1347
+ }
1348
+ ],
1349
+ "stateMutability": "view",
1350
+ "type": "function"
1351
+ },
1352
+ {
1353
+ "inputs": [],
1354
+ "name": "maxDepositAmount",
1355
+ "outputs": [
1356
+ {
1357
+ "internalType": "uint256",
1358
+ "name": "",
1359
+ "type": "uint256"
1360
+ }
1361
+ ],
1362
+ "stateMutability": "view",
1363
+ "type": "function"
1364
+ },
1365
+ {
1366
+ "inputs": [],
1367
+ "name": "maxWithdrawalAmount",
1368
+ "outputs": [
1369
+ {
1370
+ "internalType": "uint256",
1371
+ "name": "",
1372
+ "type": "uint256"
1373
+ }
1374
+ ],
1375
+ "stateMutability": "view",
1376
+ "type": "function"
1377
+ },
1378
+ {
1379
+ "inputs": [],
1380
+ "name": "operatorAddress",
1381
+ "outputs": [
1382
+ {
1383
+ "internalType": "address",
1384
+ "name": "",
1385
+ "type": "address"
1386
+ }
1387
+ ],
1388
+ "stateMutability": "view",
1389
+ "type": "function"
1390
+ },
1391
+ {
1392
+ "inputs": [],
1393
+ "name": "owner",
1394
+ "outputs": [
1395
+ {
1396
+ "internalType": "address",
1397
+ "name": "",
1398
+ "type": "address"
1399
+ }
1400
+ ],
1401
+ "stateMutability": "view",
1402
+ "type": "function"
1403
+ },
1404
+ {
1405
+ "inputs": [
1406
+ {
1407
+ "internalType": "bool",
1408
+ "name": "bPauseDeposits",
1409
+ "type": "bool"
1410
+ },
1411
+ {
1412
+ "internalType": "bool",
1413
+ "name": "bPauseWithdrawals",
1414
+ "type": "bool"
1415
+ }
1416
+ ],
1417
+ "name": "pauseDepositsAndWithdrawals",
1418
+ "outputs": [],
1419
+ "stateMutability": "nonpayable",
1420
+ "type": "function"
1421
+ },
1422
+ {
1423
+ "inputs": [],
1424
+ "name": "pendingOwner",
1425
+ "outputs": [
1426
+ {
1427
+ "internalType": "address",
1428
+ "name": "",
1429
+ "type": "address"
1430
+ }
1431
+ ],
1432
+ "stateMutability": "view",
1433
+ "type": "function"
1434
+ },
1435
+ {
1436
+ "inputs": [],
1437
+ "name": "performanceFeeRate",
1438
+ "outputs": [
1439
+ {
1440
+ "internalType": "uint256",
1441
+ "name": "",
1442
+ "type": "uint256"
1443
+ }
1444
+ ],
1445
+ "stateMutability": "view",
1446
+ "type": "function"
1447
+ },
1448
+ {
1449
+ "inputs": [
1450
+ {
1451
+ "internalType": "uint256",
1452
+ "name": "",
1453
+ "type": "uint256"
1454
+ }
1455
+ ],
1456
+ "name": "performanceFeeRecipients",
1457
+ "outputs": [
1458
+ {
1459
+ "internalType": "address",
1460
+ "name": "collectorAddress",
1461
+ "type": "address"
1462
+ },
1463
+ {
1464
+ "internalType": "uint256",
1465
+ "name": "percentage",
1466
+ "type": "uint256"
1467
+ }
1468
+ ],
1469
+ "stateMutability": "view",
1470
+ "type": "function"
1471
+ },
1472
+ {
1473
+ "inputs": [
1474
+ {
1475
+ "internalType": "address",
1476
+ "name": "assetIn",
1477
+ "type": "address"
1478
+ },
1479
+ {
1480
+ "internalType": "uint256",
1481
+ "name": "amountIn",
1482
+ "type": "uint256"
1483
+ }
1484
+ ],
1485
+ "name": "previewDeposit",
1486
+ "outputs": [
1487
+ {
1488
+ "internalType": "uint256",
1489
+ "name": "",
1490
+ "type": "uint256"
1491
+ },
1492
+ {
1493
+ "internalType": "uint256",
1494
+ "name": "",
1495
+ "type": "uint256"
1496
+ }
1497
+ ],
1498
+ "stateMutability": "view",
1499
+ "type": "function"
1500
+ },
1501
+ {
1502
+ "inputs": [
1503
+ {
1504
+ "internalType": "uint256",
1505
+ "name": "shares",
1506
+ "type": "uint256"
1507
+ },
1508
+ {
1509
+ "internalType": "bool",
1510
+ "name": "isInstant",
1511
+ "type": "bool"
1512
+ }
1513
+ ],
1514
+ "name": "previewRedemption",
1515
+ "outputs": [
1516
+ {
1517
+ "internalType": "uint256",
1518
+ "name": "assetsAmount",
1519
+ "type": "uint256"
1520
+ },
1521
+ {
1522
+ "internalType": "uint256",
1523
+ "name": "assetsAfterFee",
1524
+ "type": "uint256"
1525
+ }
1526
+ ],
1527
+ "stateMutability": "view",
1528
+ "type": "function"
1529
+ },
1530
+ {
1531
+ "inputs": [
1532
+ {
1533
+ "internalType": "uint256",
1534
+ "name": "year",
1535
+ "type": "uint256"
1536
+ },
1537
+ {
1538
+ "internalType": "uint256",
1539
+ "name": "month",
1540
+ "type": "uint256"
1541
+ },
1542
+ {
1543
+ "internalType": "uint256",
1544
+ "name": "day",
1545
+ "type": "uint256"
1546
+ },
1547
+ {
1548
+ "internalType": "uint256",
1549
+ "name": "maxLimit",
1550
+ "type": "uint256"
1551
+ }
1552
+ ],
1553
+ "name": "processAllClaimsByDate",
1554
+ "outputs": [],
1555
+ "stateMutability": "nonpayable",
1556
+ "type": "function"
1557
+ },
1558
+ {
1559
+ "inputs": [
1560
+ {
1561
+ "internalType": "uint256",
1562
+ "name": "shares",
1563
+ "type": "uint256"
1564
+ },
1565
+ {
1566
+ "internalType": "address",
1567
+ "name": "receiverAddr",
1568
+ "type": "address"
1569
+ }
1570
+ ],
1571
+ "name": "requestRedeem",
1572
+ "outputs": [
1573
+ {
1574
+ "internalType": "uint256",
1575
+ "name": "claimableEpoch",
1576
+ "type": "uint256"
1577
+ },
1578
+ {
1579
+ "internalType": "uint256",
1580
+ "name": "year",
1581
+ "type": "uint256"
1582
+ },
1583
+ {
1584
+ "internalType": "uint256",
1585
+ "name": "month",
1586
+ "type": "uint256"
1587
+ },
1588
+ {
1589
+ "internalType": "uint256",
1590
+ "name": "day",
1591
+ "type": "uint256"
1592
+ }
1593
+ ],
1594
+ "stateMutability": "nonpayable",
1595
+ "type": "function"
1596
+ },
1597
+ {
1598
+ "inputs": [],
1599
+ "name": "scheduledCallerAddress",
1600
+ "outputs": [
1601
+ {
1602
+ "internalType": "address",
1603
+ "name": "",
1604
+ "type": "address"
1605
+ }
1606
+ ],
1607
+ "stateMutability": "view",
1608
+ "type": "function"
1609
+ },
1610
+ {
1611
+ "inputs": [],
1612
+ "name": "sendersWhitelistAddress",
1613
+ "outputs": [
1614
+ {
1615
+ "internalType": "address",
1616
+ "name": "",
1617
+ "type": "address"
1618
+ }
1619
+ ],
1620
+ "stateMutability": "view",
1621
+ "type": "function"
1622
+ },
1623
+ {
1624
+ "inputs": [],
1625
+ "name": "totalCollectableFees",
1626
+ "outputs": [
1627
+ {
1628
+ "internalType": "uint256",
1629
+ "name": "",
1630
+ "type": "uint256"
1631
+ }
1632
+ ],
1633
+ "stateMutability": "view",
1634
+ "type": "function"
1635
+ },
1636
+ {
1637
+ "inputs": [
1638
+ {
1639
+ "internalType": "address",
1640
+ "name": "newOwner",
1641
+ "type": "address"
1642
+ }
1643
+ ],
1644
+ "name": "transferOwnership",
1645
+ "outputs": [],
1646
+ "stateMutability": "nonpayable",
1647
+ "type": "function"
1648
+ },
1649
+ {
1650
+ "inputs": [
1651
+ {
1652
+ "internalType": "address",
1653
+ "name": "newWhitelistAddr",
1654
+ "type": "address"
1655
+ }
1656
+ ],
1657
+ "name": "updateAssetsWhitelist",
1658
+ "outputs": [],
1659
+ "stateMutability": "nonpayable",
1660
+ "type": "function"
1661
+ },
1662
+ {
1663
+ "inputs": [
1664
+ {
1665
+ "components": [
1666
+ {
1667
+ "internalType": "address",
1668
+ "name": "collectorAddress",
1669
+ "type": "address"
1670
+ },
1671
+ {
1672
+ "internalType": "uint256",
1673
+ "name": "percentage",
1674
+ "type": "uint256"
1675
+ }
1676
+ ],
1677
+ "internalType": "struct IFeeCollectorsAware.CollectorDefinition[]",
1678
+ "name": "collectors",
1679
+ "type": "tuple[]"
1680
+ }
1681
+ ],
1682
+ "name": "updateFeeCollectors",
1683
+ "outputs": [],
1684
+ "stateMutability": "nonpayable",
1685
+ "type": "function"
1686
+ },
1687
+ {
1688
+ "inputs": [
1689
+ {
1690
+ "internalType": "uint256",
1691
+ "name": "newValue",
1692
+ "type": "uint256"
1693
+ },
1694
+ {
1695
+ "internalType": "bool",
1696
+ "name": "pKeepFeeInVault",
1697
+ "type": "bool"
1698
+ }
1699
+ ],
1700
+ "name": "updateInstantRedemptionFee",
1701
+ "outputs": [],
1702
+ "stateMutability": "nonpayable",
1703
+ "type": "function"
1704
+ },
1705
+ {
1706
+ "inputs": [
1707
+ {
1708
+ "internalType": "uint256",
1709
+ "name": "newMaxDepositAmount",
1710
+ "type": "uint256"
1711
+ },
1712
+ {
1713
+ "internalType": "uint256",
1714
+ "name": "newMaxWithdrawalAmount",
1715
+ "type": "uint256"
1716
+ },
1717
+ {
1718
+ "internalType": "uint256",
1719
+ "name": "newDepositCap",
1720
+ "type": "uint256"
1721
+ }
1722
+ ],
1723
+ "name": "updateLimits",
1724
+ "outputs": [],
1725
+ "stateMutability": "nonpayable",
1726
+ "type": "function"
1727
+ },
1728
+ {
1729
+ "inputs": [
1730
+ {
1731
+ "internalType": "uint256",
1732
+ "name": "newManagementFeePercent",
1733
+ "type": "uint256"
1734
+ }
1735
+ ],
1736
+ "name": "updateManagementFee",
1737
+ "outputs": [],
1738
+ "stateMutability": "nonpayable",
1739
+ "type": "function"
1740
+ },
1741
+ {
1742
+ "inputs": [
1743
+ {
1744
+ "internalType": "uint256",
1745
+ "name": "newValue",
1746
+ "type": "uint256"
1747
+ }
1748
+ ],
1749
+ "name": "updateMaxChangePercent",
1750
+ "outputs": [],
1751
+ "stateMutability": "nonpayable",
1752
+ "type": "function"
1753
+ },
1754
+ {
1755
+ "inputs": [
1756
+ {
1757
+ "internalType": "uint256",
1758
+ "name": "newValue",
1759
+ "type": "uint256"
1760
+ }
1761
+ ],
1762
+ "name": "updatePerformanceFee",
1763
+ "outputs": [],
1764
+ "stateMutability": "nonpayable",
1765
+ "type": "function"
1766
+ },
1767
+ {
1768
+ "inputs": [
1769
+ {
1770
+ "components": [
1771
+ {
1772
+ "internalType": "address",
1773
+ "name": "collectorAddress",
1774
+ "type": "address"
1775
+ },
1776
+ {
1777
+ "internalType": "uint256",
1778
+ "name": "percentage",
1779
+ "type": "uint256"
1780
+ }
1781
+ ],
1782
+ "internalType": "struct IFeeCollectorsAware.CollectorDefinition[]",
1783
+ "name": "collectors",
1784
+ "type": "tuple[]"
1785
+ }
1786
+ ],
1787
+ "name": "updatePerformanceFeeCollectors",
1788
+ "outputs": [],
1789
+ "stateMutability": "nonpayable",
1790
+ "type": "function"
1791
+ },
1792
+ {
1793
+ "inputs": [
1794
+ {
1795
+ "internalType": "address",
1796
+ "name": "newWhitelistAddr",
1797
+ "type": "address"
1798
+ }
1799
+ ],
1800
+ "name": "updateSendersWhitelist",
1801
+ "outputs": [],
1802
+ "stateMutability": "nonpayable",
1803
+ "type": "function"
1804
+ },
1805
+ {
1806
+ "inputs": [
1807
+ {
1808
+ "internalType": "uint256",
1809
+ "name": "newDuration",
1810
+ "type": "uint256"
1811
+ }
1812
+ ],
1813
+ "name": "updateTimelockDuration",
1814
+ "outputs": [],
1815
+ "stateMutability": "nonpayable",
1816
+ "type": "function"
1817
+ },
1818
+ {
1819
+ "inputs": [
1820
+ {
1821
+ "internalType": "uint256",
1822
+ "name": "externalAssetsAmount",
1823
+ "type": "uint256"
1824
+ }
1825
+ ],
1826
+ "name": "updateTotalAssets",
1827
+ "outputs": [],
1828
+ "stateMutability": "nonpayable",
1829
+ "type": "function"
1830
+ },
1831
+ {
1832
+ "inputs": [],
1833
+ "name": "watermarkTimeWindow",
1834
+ "outputs": [
1835
+ {
1836
+ "internalType": "uint256",
1837
+ "name": "",
1838
+ "type": "uint256"
1839
+ }
1840
+ ],
1841
+ "stateMutability": "view",
1842
+ "type": "function"
1843
+ },
1844
+ {
1845
+ "inputs": [],
1846
+ "name": "watermarkUpdatedOn",
1847
+ "outputs": [
1848
+ {
1849
+ "internalType": "uint256",
1850
+ "name": "",
1851
+ "type": "uint256"
1852
+ }
1853
+ ],
1854
+ "stateMutability": "view",
1855
+ "type": "function"
1856
+ },
1857
+ {
1858
+ "inputs": [
1859
+ {
1860
+ "internalType": "address",
1861
+ "name": "",
1862
+ "type": "address"
1863
+ }
1864
+ ],
1865
+ "name": "whitelistedSubAccounts",
1866
+ "outputs": [
1867
+ {
1868
+ "internalType": "uint8",
1869
+ "name": "",
1870
+ "type": "uint8"
1871
+ }
1872
+ ],
1873
+ "stateMutability": "view",
1874
+ "type": "function"
1875
+ },
1876
+ {
1877
+ "inputs": [
1878
+ {
1879
+ "internalType": "address",
1880
+ "name": "inputAssetAddr",
1881
+ "type": "address"
1882
+ },
1883
+ {
1884
+ "internalType": "uint256",
1885
+ "name": "amount",
1886
+ "type": "uint256"
1887
+ },
1888
+ {
1889
+ "internalType": "address",
1890
+ "name": "subAccountAddr",
1891
+ "type": "address"
1892
+ }
1893
+ ],
1894
+ "name": "withdrawFromSubaccount",
1895
+ "outputs": [],
1896
+ "stateMutability": "nonpayable",
1897
+ "type": "function"
1898
+ },
1899
+ {
1900
+ "inputs": [],
1901
+ "name": "withdrawalFee",
1902
+ "outputs": [
1903
+ {
1904
+ "internalType": "uint256",
1905
+ "name": "",
1906
+ "type": "uint256"
1907
+ }
1908
+ ],
1909
+ "stateMutability": "view",
1910
+ "type": "function"
1911
+ },
1912
+ {
1913
+ "inputs": [],
1914
+ "name": "withdrawalsPaused",
1915
+ "outputs": [
1916
+ {
1917
+ "internalType": "bool",
1918
+ "name": "",
1919
+ "type": "bool"
1920
+ }
1921
+ ],
1922
+ "stateMutability": "view",
1923
+ "type": "function"
1924
+ }
1925
+ ] as const satisfies Abi;
1926
+
1927
+ /**
1928
+ * Type-safe ABI for TokenizedVault_json
1929
+ */
1930
+ export type TokenizedVault_jsonAbi = typeof TokenizedVault_jsonAbi;
1931
+
1932
+ /**
1933
+ * Contract instance type for TokenizedVault_json
1934
+ */
1935
+ // Use any for contract type to avoid complex viem type issues
1936
+ // The runtime behavior is type-safe through viem's ABI typing
1937
+ export type TokenizedVault_jsonContract = any;
1938
+
1939
+ /**
1940
+ * TokenizedVault_json Contract Class
1941
+ *
1942
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1943
+ *
1944
+ * @example
1945
+ * ```typescript
1946
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1947
+ * import { mainnet } from 'viem/chains';
1948
+ * import { TokenizedVault_json } from 'TokenizedVault_json';
1949
+ *
1950
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1951
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1952
+ *
1953
+ * const contract = new TokenizedVault_json('0x...', { publicClient, walletClient });
1954
+ *
1955
+ * // Read functions
1956
+ * const result = await contract.balanceOf('0x...');
1957
+ *
1958
+ * // Write functions
1959
+ * const hash = await contract.transfer('0x...', 1000n);
1960
+ *
1961
+ * // Simulate transactions (dry-run)
1962
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
1963
+ * console.log('Gas estimate:', simulation.request.gas);
1964
+ *
1965
+ * // Watch events
1966
+ * const unwatch = contract.watch.Transfer((event) => {
1967
+ * console.log('Transfer event:', event);
1968
+ * });
1969
+ * ```
1970
+ */
1971
+ export class TokenizedVault_json {
1972
+ private contract: TokenizedVault_jsonContract;
1973
+ private contractAddress: Address;
1974
+ private publicClient: PublicClient;
1975
+
1976
+ constructor(
1977
+ address: Address,
1978
+ clients: {
1979
+ publicClient: PublicClient;
1980
+ walletClient?: WalletClient;
1981
+ }
1982
+ ) {
1983
+ this.contractAddress = address;
1984
+ this.publicClient = clients.publicClient;
1985
+ this.contract = getContract({
1986
+ address,
1987
+ abi: TokenizedVault_jsonAbi,
1988
+ client: {
1989
+ public: clients.publicClient,
1990
+ wallet: clients.walletClient,
1991
+ },
1992
+ });
1993
+ }
1994
+
1995
+ /**
1996
+ * Get the contract address
1997
+ */
1998
+ get address(): Address {
1999
+ return this.contractAddress;
2000
+ }
2001
+
2002
+ /**
2003
+ * Get the underlying viem contract instance
2004
+ */
2005
+ getContract(): TokenizedVault_jsonContract {
2006
+ return this.contract;
2007
+ }
2008
+
2009
+ /**
2010
+ * asset
2011
+ * view
2012
+ */
2013
+ async asset(): Promise<`0x${string}`> {
2014
+ return this.contract.read.asset() as Promise<`0x${string}`>;
2015
+ }
2016
+
2017
+ /**
2018
+ * assetsUpdatedOn
2019
+ * view
2020
+ */
2021
+ async assetsUpdatedOn(): Promise<bigint> {
2022
+ return this.contract.read.assetsUpdatedOn() as Promise<bigint>;
2023
+ }
2024
+
2025
+ /**
2026
+ * assetsWhitelistAddress
2027
+ * view
2028
+ */
2029
+ async assetsWhitelistAddress(): Promise<`0x${string}`> {
2030
+ return this.contract.read.assetsWhitelistAddress() as Promise<`0x${string}`>;
2031
+ }
2032
+
2033
+ /**
2034
+ * depositCap
2035
+ * view
2036
+ */
2037
+ async depositCap(): Promise<bigint> {
2038
+ return this.contract.read.depositCap() as Promise<bigint>;
2039
+ }
2040
+
2041
+ /**
2042
+ * depositsPaused
2043
+ * view
2044
+ */
2045
+ async depositsPaused(): Promise<boolean> {
2046
+ return this.contract.read.depositsPaused() as Promise<boolean>;
2047
+ }
2048
+
2049
+ /**
2050
+ * externalAssets
2051
+ * view
2052
+ */
2053
+ async externalAssets(): Promise<bigint> {
2054
+ return this.contract.read.externalAssets() as Promise<bigint>;
2055
+ }
2056
+
2057
+ /**
2058
+ * feeCollectors
2059
+ * view
2060
+ */
2061
+ async feeCollectors(arg0: bigint): Promise<[`0x${string}`, bigint]> {
2062
+ return this.contract.read.feeCollectors([arg0] as const) as Promise<[`0x${string}`, bigint]>;
2063
+ }
2064
+
2065
+ /**
2066
+ * feesTimestamp
2067
+ * view
2068
+ */
2069
+ async feesTimestamp(): Promise<bigint> {
2070
+ return this.contract.read.feesTimestamp() as Promise<bigint>;
2071
+ }
2072
+
2073
+ /**
2074
+ * getBurnableAmountByReceiver
2075
+ * view
2076
+ */
2077
+ async getBurnableAmountByReceiver(year: bigint, month: bigint, day: bigint, receiverAddr: `0x${string}`): Promise<bigint> {
2078
+ return this.contract.read.getBurnableAmountByReceiver([year, month, day, receiverAddr] as const) as Promise<bigint>;
2079
+ }
2080
+
2081
+ /**
2082
+ * getChangePercentage
2083
+ * view
2084
+ */
2085
+ async getChangePercentage(externalAssetsAmount: bigint): Promise<bigint> {
2086
+ return this.contract.read.getChangePercentage([externalAssetsAmount] as const) as Promise<bigint>;
2087
+ }
2088
+
2089
+ /**
2090
+ * getFeeCollectors
2091
+ * view
2092
+ */
2093
+ async getFeeCollectors(): Promise<IFeeCollectorsAware_CollectorDefinition[]> {
2094
+ return this.contract.read.getFeeCollectors() as Promise<IFeeCollectorsAware_CollectorDefinition[]>;
2095
+ }
2096
+
2097
+ /**
2098
+ * getMaxAllowedChange
2099
+ * view
2100
+ */
2101
+ async getMaxAllowedChange(): Promise<bigint> {
2102
+ return this.contract.read.getMaxAllowedChange() as Promise<bigint>;
2103
+ }
2104
+
2105
+ /**
2106
+ * getPerformanceFeeRecipients
2107
+ * view
2108
+ */
2109
+ async getPerformanceFeeRecipients(): Promise<IFeeCollectorsAware_CollectorDefinition[]> {
2110
+ return this.contract.read.getPerformanceFeeRecipients() as Promise<IFeeCollectorsAware_CollectorDefinition[]>;
2111
+ }
2112
+
2113
+ /**
2114
+ * getRequirementByDate
2115
+ * view
2116
+ */
2117
+ async getRequirementByDate(year: bigint, month: bigint, day: bigint): Promise<bigint> {
2118
+ return this.contract.read.getRequirementByDate([year, month, day] as const) as Promise<bigint>;
2119
+ }
2120
+
2121
+ /**
2122
+ * getScheduledTransactionsByDate
2123
+ * view
2124
+ */
2125
+ async getScheduledTransactionsByDate(year: bigint, month: bigint, day: bigint): Promise<[bigint, bigint]> {
2126
+ return this.contract.read.getScheduledTransactionsByDate([year, month, day] as const) as Promise<[bigint, bigint]>;
2127
+ }
2128
+
2129
+ /**
2130
+ * getSharePrice
2131
+ * view
2132
+ */
2133
+ async getSharePrice(): Promise<bigint> {
2134
+ return this.contract.read.getSharePrice() as Promise<bigint>;
2135
+ }
2136
+
2137
+ /**
2138
+ * getTotalAssets
2139
+ * view
2140
+ */
2141
+ async getTotalAssets(): Promise<bigint> {
2142
+ return this.contract.read.getTotalAssets() as Promise<bigint>;
2143
+ }
2144
+
2145
+ /**
2146
+ * getWithdrawalEpoch
2147
+ * view
2148
+ */
2149
+ async getWithdrawalEpoch(): Promise<[bigint, bigint, bigint, bigint]> {
2150
+ return this.contract.read.getWithdrawalEpoch() as Promise<[bigint, bigint, bigint, bigint]>;
2151
+ }
2152
+
2153
+ /**
2154
+ * globalLiabilityShares
2155
+ * view
2156
+ */
2157
+ async globalLiabilityShares(): Promise<bigint> {
2158
+ return this.contract.read.globalLiabilityShares() as Promise<bigint>;
2159
+ }
2160
+
2161
+ /**
2162
+ * highWatermark
2163
+ * view
2164
+ */
2165
+ async highWatermark(): Promise<bigint> {
2166
+ return this.contract.read.highWatermark() as Promise<bigint>;
2167
+ }
2168
+
2169
+ /**
2170
+ * instantRedemptionFee
2171
+ * view
2172
+ */
2173
+ async instantRedemptionFee(): Promise<bigint> {
2174
+ return this.contract.read.instantRedemptionFee() as Promise<bigint>;
2175
+ }
2176
+
2177
+ /**
2178
+ * keepFeeInVault
2179
+ * view
2180
+ */
2181
+ async keepFeeInVault(): Promise<boolean> {
2182
+ return this.contract.read.keepFeeInVault() as Promise<boolean>;
2183
+ }
2184
+
2185
+ /**
2186
+ * lagDuration
2187
+ * view
2188
+ */
2189
+ async lagDuration(): Promise<bigint> {
2190
+ return this.contract.read.lagDuration() as Promise<bigint>;
2191
+ }
2192
+
2193
+ /**
2194
+ * lpTokenAddress
2195
+ * view
2196
+ */
2197
+ async lpTokenAddress(): Promise<`0x${string}`> {
2198
+ return this.contract.read.lpTokenAddress() as Promise<`0x${string}`>;
2199
+ }
2200
+
2201
+ /**
2202
+ * managementFeePercent
2203
+ * view
2204
+ */
2205
+ async managementFeePercent(): Promise<bigint> {
2206
+ return this.contract.read.managementFeePercent() as Promise<bigint>;
2207
+ }
2208
+
2209
+ /**
2210
+ * maxChangePercent
2211
+ * view
2212
+ */
2213
+ async maxChangePercent(): Promise<bigint> {
2214
+ return this.contract.read.maxChangePercent() as Promise<bigint>;
2215
+ }
2216
+
2217
+ /**
2218
+ * maxDepositAmount
2219
+ * view
2220
+ */
2221
+ async maxDepositAmount(): Promise<bigint> {
2222
+ return this.contract.read.maxDepositAmount() as Promise<bigint>;
2223
+ }
2224
+
2225
+ /**
2226
+ * maxWithdrawalAmount
2227
+ * view
2228
+ */
2229
+ async maxWithdrawalAmount(): Promise<bigint> {
2230
+ return this.contract.read.maxWithdrawalAmount() as Promise<bigint>;
2231
+ }
2232
+
2233
+ /**
2234
+ * operatorAddress
2235
+ * view
2236
+ */
2237
+ async operatorAddress(): Promise<`0x${string}`> {
2238
+ return this.contract.read.operatorAddress() as Promise<`0x${string}`>;
2239
+ }
2240
+
2241
+ /**
2242
+ * owner
2243
+ * view
2244
+ */
2245
+ async owner(): Promise<`0x${string}`> {
2246
+ return this.contract.read.owner() as Promise<`0x${string}`>;
2247
+ }
2248
+
2249
+ /**
2250
+ * pendingOwner
2251
+ * view
2252
+ */
2253
+ async pendingOwner(): Promise<`0x${string}`> {
2254
+ return this.contract.read.pendingOwner() as Promise<`0x${string}`>;
2255
+ }
2256
+
2257
+ /**
2258
+ * performanceFeeRate
2259
+ * view
2260
+ */
2261
+ async performanceFeeRate(): Promise<bigint> {
2262
+ return this.contract.read.performanceFeeRate() as Promise<bigint>;
2263
+ }
2264
+
2265
+ /**
2266
+ * performanceFeeRecipients
2267
+ * view
2268
+ */
2269
+ async performanceFeeRecipients(arg0: bigint): Promise<[`0x${string}`, bigint]> {
2270
+ return this.contract.read.performanceFeeRecipients([arg0] as const) as Promise<[`0x${string}`, bigint]>;
2271
+ }
2272
+
2273
+ /**
2274
+ * previewDeposit
2275
+ * view
2276
+ */
2277
+ async previewDeposit(assetIn: `0x${string}`, amountIn: bigint): Promise<[bigint, bigint]> {
2278
+ return this.contract.read.previewDeposit([assetIn, amountIn] as const) as Promise<[bigint, bigint]>;
2279
+ }
2280
+
2281
+ /**
2282
+ * previewRedemption
2283
+ * view
2284
+ */
2285
+ async previewRedemption(shares: bigint, isInstant: boolean): Promise<[bigint, bigint]> {
2286
+ return this.contract.read.previewRedemption([shares, isInstant] as const) as Promise<[bigint, bigint]>;
2287
+ }
2288
+
2289
+ /**
2290
+ * scheduledCallerAddress
2291
+ * view
2292
+ */
2293
+ async scheduledCallerAddress(): Promise<`0x${string}`> {
2294
+ return this.contract.read.scheduledCallerAddress() as Promise<`0x${string}`>;
2295
+ }
2296
+
2297
+ /**
2298
+ * sendersWhitelistAddress
2299
+ * view
2300
+ */
2301
+ async sendersWhitelistAddress(): Promise<`0x${string}`> {
2302
+ return this.contract.read.sendersWhitelistAddress() as Promise<`0x${string}`>;
2303
+ }
2304
+
2305
+ /**
2306
+ * totalCollectableFees
2307
+ * view
2308
+ */
2309
+ async totalCollectableFees(): Promise<bigint> {
2310
+ return this.contract.read.totalCollectableFees() as Promise<bigint>;
2311
+ }
2312
+
2313
+ /**
2314
+ * watermarkTimeWindow
2315
+ * view
2316
+ */
2317
+ async watermarkTimeWindow(): Promise<bigint> {
2318
+ return this.contract.read.watermarkTimeWindow() as Promise<bigint>;
2319
+ }
2320
+
2321
+ /**
2322
+ * watermarkUpdatedOn
2323
+ * view
2324
+ */
2325
+ async watermarkUpdatedOn(): Promise<bigint> {
2326
+ return this.contract.read.watermarkUpdatedOn() as Promise<bigint>;
2327
+ }
2328
+
2329
+ /**
2330
+ * whitelistedSubAccounts
2331
+ * view
2332
+ */
2333
+ async whitelistedSubAccounts(arg0: `0x${string}`): Promise<bigint> {
2334
+ return this.contract.read.whitelistedSubAccounts([arg0] as const) as Promise<bigint>;
2335
+ }
2336
+
2337
+ /**
2338
+ * withdrawalFee
2339
+ * view
2340
+ */
2341
+ async withdrawalFee(): Promise<bigint> {
2342
+ return this.contract.read.withdrawalFee() as Promise<bigint>;
2343
+ }
2344
+
2345
+ /**
2346
+ * withdrawalsPaused
2347
+ * view
2348
+ */
2349
+ async withdrawalsPaused(): Promise<boolean> {
2350
+ return this.contract.read.withdrawalsPaused() as Promise<boolean>;
2351
+ }
2352
+
2353
+ /**
2354
+ * acceptOwnership
2355
+ * nonpayable
2356
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2357
+ */
2358
+ async acceptOwnership(options?: {
2359
+ accessList?: import('viem').AccessList;
2360
+ authorizationList?: import('viem').AuthorizationList;
2361
+ chain?: import('viem').Chain | null;
2362
+ dataSuffix?: `0x${string}`;
2363
+ gas?: bigint;
2364
+ gasPrice?: bigint;
2365
+ maxFeePerGas?: bigint;
2366
+ maxPriorityFeePerGas?: bigint;
2367
+ nonce?: number;
2368
+ value?: bigint;
2369
+ }): Promise<`0x${string}`> {
2370
+ if (!this.contract.write) {
2371
+ throw new Error('Wallet client is required for write operations');
2372
+ }
2373
+ return this.contract.write.acceptOwnership(options) as Promise<`0x${string}`>;
2374
+ }
2375
+
2376
+ /**
2377
+ * chargeManagementFee
2378
+ * nonpayable
2379
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2380
+ */
2381
+ async chargeManagementFee(options?: {
2382
+ accessList?: import('viem').AccessList;
2383
+ authorizationList?: import('viem').AuthorizationList;
2384
+ chain?: import('viem').Chain | null;
2385
+ dataSuffix?: `0x${string}`;
2386
+ gas?: bigint;
2387
+ gasPrice?: bigint;
2388
+ maxFeePerGas?: bigint;
2389
+ maxPriorityFeePerGas?: bigint;
2390
+ nonce?: number;
2391
+ value?: bigint;
2392
+ }): Promise<`0x${string}`> {
2393
+ if (!this.contract.write) {
2394
+ throw new Error('Wallet client is required for write operations');
2395
+ }
2396
+ return this.contract.write.chargeManagementFee(options) as Promise<`0x${string}`>;
2397
+ }
2398
+
2399
+ /**
2400
+ * chargePerformanceFees
2401
+ * nonpayable
2402
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2403
+ */
2404
+ async chargePerformanceFees(options?: {
2405
+ accessList?: import('viem').AccessList;
2406
+ authorizationList?: import('viem').AuthorizationList;
2407
+ chain?: import('viem').Chain | null;
2408
+ dataSuffix?: `0x${string}`;
2409
+ gas?: bigint;
2410
+ gasPrice?: bigint;
2411
+ maxFeePerGas?: bigint;
2412
+ maxPriorityFeePerGas?: bigint;
2413
+ nonce?: number;
2414
+ value?: bigint;
2415
+ }): Promise<`0x${string}`> {
2416
+ if (!this.contract.write) {
2417
+ throw new Error('Wallet client is required for write operations');
2418
+ }
2419
+ return this.contract.write.chargePerformanceFees(options) as Promise<`0x${string}`>;
2420
+ }
2421
+
2422
+ /**
2423
+ * claim
2424
+ * nonpayable
2425
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2426
+ */
2427
+ async claim(year: bigint, month: bigint, day: bigint, receiverAddr: `0x${string}`, options?: {
2428
+ accessList?: import('viem').AccessList;
2429
+ authorizationList?: import('viem').AuthorizationList;
2430
+ chain?: import('viem').Chain | null;
2431
+ dataSuffix?: `0x${string}`;
2432
+ gas?: bigint;
2433
+ gasPrice?: bigint;
2434
+ maxFeePerGas?: bigint;
2435
+ maxPriorityFeePerGas?: bigint;
2436
+ nonce?: number;
2437
+ value?: bigint;
2438
+ }): Promise<`0x${string}`> {
2439
+ if (!this.contract.write) {
2440
+ throw new Error('Wallet client is required for write operations');
2441
+ }
2442
+ return this.contract.write.claim([year, month, day, receiverAddr] as const, options) as Promise<`0x${string}`>;
2443
+ }
2444
+
2445
+ /**
2446
+ * collectFees
2447
+ * nonpayable
2448
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2449
+ */
2450
+ async collectFees(options?: {
2451
+ accessList?: import('viem').AccessList;
2452
+ authorizationList?: import('viem').AuthorizationList;
2453
+ chain?: import('viem').Chain | null;
2454
+ dataSuffix?: `0x${string}`;
2455
+ gas?: bigint;
2456
+ gasPrice?: bigint;
2457
+ maxFeePerGas?: bigint;
2458
+ maxPriorityFeePerGas?: bigint;
2459
+ nonce?: number;
2460
+ value?: bigint;
2461
+ }): Promise<`0x${string}`> {
2462
+ if (!this.contract.write) {
2463
+ throw new Error('Wallet client is required for write operations');
2464
+ }
2465
+ return this.contract.write.collectFees(options) as Promise<`0x${string}`>;
2466
+ }
2467
+
2468
+ /**
2469
+ * configure
2470
+ * nonpayable
2471
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2472
+ */
2473
+ async configure(newConfig: ITokenizedVault_ConfigInfo, options?: {
2474
+ accessList?: import('viem').AccessList;
2475
+ authorizationList?: import('viem').AuthorizationList;
2476
+ chain?: import('viem').Chain | null;
2477
+ dataSuffix?: `0x${string}`;
2478
+ gas?: bigint;
2479
+ gasPrice?: bigint;
2480
+ maxFeePerGas?: bigint;
2481
+ maxPriorityFeePerGas?: bigint;
2482
+ nonce?: number;
2483
+ value?: bigint;
2484
+ }): Promise<`0x${string}`> {
2485
+ if (!this.contract.write) {
2486
+ throw new Error('Wallet client is required for write operations');
2487
+ }
2488
+ return this.contract.write.configure([newConfig] as const, options) as Promise<`0x${string}`>;
2489
+ }
2490
+
2491
+ /**
2492
+ * deposit
2493
+ * nonpayable
2494
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2495
+ */
2496
+ async deposit(assetIn: `0x${string}`, amountIn: bigint, receiverAddr: `0x${string}`, options?: {
2497
+ accessList?: import('viem').AccessList;
2498
+ authorizationList?: import('viem').AuthorizationList;
2499
+ chain?: import('viem').Chain | null;
2500
+ dataSuffix?: `0x${string}`;
2501
+ gas?: bigint;
2502
+ gasPrice?: bigint;
2503
+ maxFeePerGas?: bigint;
2504
+ maxPriorityFeePerGas?: bigint;
2505
+ nonce?: number;
2506
+ value?: bigint;
2507
+ }): Promise<`0x${string}`> {
2508
+ if (!this.contract.write) {
2509
+ throw new Error('Wallet client is required for write operations');
2510
+ }
2511
+ return this.contract.write.deposit([assetIn, amountIn, receiverAddr] as const, options) as Promise<`0x${string}`>;
2512
+ }
2513
+
2514
+ /**
2515
+ * depositToSubaccount
2516
+ * nonpayable
2517
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2518
+ */
2519
+ async depositToSubaccount(inputAssetAddr: `0x${string}`, depositAmount: bigint, subAccountAddr: `0x${string}`, options?: {
2520
+ accessList?: import('viem').AccessList;
2521
+ authorizationList?: import('viem').AuthorizationList;
2522
+ chain?: import('viem').Chain | null;
2523
+ dataSuffix?: `0x${string}`;
2524
+ gas?: bigint;
2525
+ gasPrice?: bigint;
2526
+ maxFeePerGas?: bigint;
2527
+ maxPriorityFeePerGas?: bigint;
2528
+ nonce?: number;
2529
+ value?: bigint;
2530
+ }): Promise<`0x${string}`> {
2531
+ if (!this.contract.write) {
2532
+ throw new Error('Wallet client is required for write operations');
2533
+ }
2534
+ return this.contract.write.depositToSubaccount([inputAssetAddr, depositAmount, subAccountAddr] as const, options) as Promise<`0x${string}`>;
2535
+ }
2536
+
2537
+ /**
2538
+ * depositWithPermit
2539
+ * nonpayable
2540
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2541
+ */
2542
+ async depositWithPermit(assetIn: `0x${string}`, amountIn: bigint, receiverAddr: `0x${string}`, deadline: bigint, r: `0x${string}`, s: `0x${string}`, v: bigint, options?: {
2543
+ accessList?: import('viem').AccessList;
2544
+ authorizationList?: import('viem').AuthorizationList;
2545
+ chain?: import('viem').Chain | null;
2546
+ dataSuffix?: `0x${string}`;
2547
+ gas?: bigint;
2548
+ gasPrice?: bigint;
2549
+ maxFeePerGas?: bigint;
2550
+ maxPriorityFeePerGas?: bigint;
2551
+ nonce?: number;
2552
+ value?: bigint;
2553
+ }): Promise<`0x${string}`> {
2554
+ if (!this.contract.write) {
2555
+ throw new Error('Wallet client is required for write operations');
2556
+ }
2557
+ return this.contract.write.depositWithPermit([assetIn, amountIn, receiverAddr, deadline, r, s, v] as const, options) as Promise<`0x${string}`>;
2558
+ }
2559
+
2560
+ /**
2561
+ * disableSubAccount
2562
+ * nonpayable
2563
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2564
+ */
2565
+ async disableSubAccount(addr: `0x${string}`, options?: {
2566
+ accessList?: import('viem').AccessList;
2567
+ authorizationList?: import('viem').AuthorizationList;
2568
+ chain?: import('viem').Chain | null;
2569
+ dataSuffix?: `0x${string}`;
2570
+ gas?: bigint;
2571
+ gasPrice?: bigint;
2572
+ maxFeePerGas?: bigint;
2573
+ maxPriorityFeePerGas?: bigint;
2574
+ nonce?: number;
2575
+ value?: bigint;
2576
+ }): Promise<`0x${string}`> {
2577
+ if (!this.contract.write) {
2578
+ throw new Error('Wallet client is required for write operations');
2579
+ }
2580
+ return this.contract.write.disableSubAccount([addr] as const, options) as Promise<`0x${string}`>;
2581
+ }
2582
+
2583
+ /**
2584
+ * emergencyWithdraw
2585
+ * nonpayable
2586
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2587
+ */
2588
+ async emergencyWithdraw(receiverAddr: `0x${string}`, options?: {
2589
+ accessList?: import('viem').AccessList;
2590
+ authorizationList?: import('viem').AuthorizationList;
2591
+ chain?: import('viem').Chain | null;
2592
+ dataSuffix?: `0x${string}`;
2593
+ gas?: bigint;
2594
+ gasPrice?: bigint;
2595
+ maxFeePerGas?: bigint;
2596
+ maxPriorityFeePerGas?: bigint;
2597
+ nonce?: number;
2598
+ value?: bigint;
2599
+ }): Promise<`0x${string}`> {
2600
+ if (!this.contract.write) {
2601
+ throw new Error('Wallet client is required for write operations');
2602
+ }
2603
+ return this.contract.write.emergencyWithdraw([receiverAddr] as const, options) as Promise<`0x${string}`>;
2604
+ }
2605
+
2606
+ /**
2607
+ * enableSubAccount
2608
+ * nonpayable
2609
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2610
+ */
2611
+ async enableSubAccount(addr: `0x${string}`, accountType: bigint, options?: {
2612
+ accessList?: import('viem').AccessList;
2613
+ authorizationList?: import('viem').AuthorizationList;
2614
+ chain?: import('viem').Chain | null;
2615
+ dataSuffix?: `0x${string}`;
2616
+ gas?: bigint;
2617
+ gasPrice?: bigint;
2618
+ maxFeePerGas?: bigint;
2619
+ maxPriorityFeePerGas?: bigint;
2620
+ nonce?: number;
2621
+ value?: bigint;
2622
+ }): Promise<`0x${string}`> {
2623
+ if (!this.contract.write) {
2624
+ throw new Error('Wallet client is required for write operations');
2625
+ }
2626
+ return this.contract.write.enableSubAccount([addr, accountType] as const, options) as Promise<`0x${string}`>;
2627
+ }
2628
+
2629
+ /**
2630
+ * initialize
2631
+ * nonpayable
2632
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2633
+ */
2634
+ async initialize(ownerAddr: `0x${string}`, options?: {
2635
+ accessList?: import('viem').AccessList;
2636
+ authorizationList?: import('viem').AuthorizationList;
2637
+ chain?: import('viem').Chain | null;
2638
+ dataSuffix?: `0x${string}`;
2639
+ gas?: bigint;
2640
+ gasPrice?: bigint;
2641
+ maxFeePerGas?: bigint;
2642
+ maxPriorityFeePerGas?: bigint;
2643
+ nonce?: number;
2644
+ value?: bigint;
2645
+ }): Promise<`0x${string}`> {
2646
+ if (!this.contract.write) {
2647
+ throw new Error('Wallet client is required for write operations');
2648
+ }
2649
+ return this.contract.write.initialize([ownerAddr] as const, options) as Promise<`0x${string}`>;
2650
+ }
2651
+
2652
+ /**
2653
+ * instantRedeem
2654
+ * nonpayable
2655
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2656
+ */
2657
+ async instantRedeem(shares: bigint, receiverAddr: `0x${string}`, options?: {
2658
+ accessList?: import('viem').AccessList;
2659
+ authorizationList?: import('viem').AuthorizationList;
2660
+ chain?: import('viem').Chain | null;
2661
+ dataSuffix?: `0x${string}`;
2662
+ gas?: bigint;
2663
+ gasPrice?: bigint;
2664
+ maxFeePerGas?: bigint;
2665
+ maxPriorityFeePerGas?: bigint;
2666
+ nonce?: number;
2667
+ value?: bigint;
2668
+ }): Promise<`0x${string}`> {
2669
+ if (!this.contract.write) {
2670
+ throw new Error('Wallet client is required for write operations');
2671
+ }
2672
+ return this.contract.write.instantRedeem([shares, receiverAddr] as const, options) as Promise<`0x${string}`>;
2673
+ }
2674
+
2675
+ /**
2676
+ * pauseDepositsAndWithdrawals
2677
+ * nonpayable
2678
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2679
+ */
2680
+ async pauseDepositsAndWithdrawals(bPauseDeposits: boolean, bPauseWithdrawals: boolean, options?: {
2681
+ accessList?: import('viem').AccessList;
2682
+ authorizationList?: import('viem').AuthorizationList;
2683
+ chain?: import('viem').Chain | null;
2684
+ dataSuffix?: `0x${string}`;
2685
+ gas?: bigint;
2686
+ gasPrice?: bigint;
2687
+ maxFeePerGas?: bigint;
2688
+ maxPriorityFeePerGas?: bigint;
2689
+ nonce?: number;
2690
+ value?: bigint;
2691
+ }): Promise<`0x${string}`> {
2692
+ if (!this.contract.write) {
2693
+ throw new Error('Wallet client is required for write operations');
2694
+ }
2695
+ return this.contract.write.pauseDepositsAndWithdrawals([bPauseDeposits, bPauseWithdrawals] as const, options) as Promise<`0x${string}`>;
2696
+ }
2697
+
2698
+ /**
2699
+ * processAllClaimsByDate
2700
+ * nonpayable
2701
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2702
+ */
2703
+ async processAllClaimsByDate(year: bigint, month: bigint, day: bigint, maxLimit: bigint, options?: {
2704
+ accessList?: import('viem').AccessList;
2705
+ authorizationList?: import('viem').AuthorizationList;
2706
+ chain?: import('viem').Chain | null;
2707
+ dataSuffix?: `0x${string}`;
2708
+ gas?: bigint;
2709
+ gasPrice?: bigint;
2710
+ maxFeePerGas?: bigint;
2711
+ maxPriorityFeePerGas?: bigint;
2712
+ nonce?: number;
2713
+ value?: bigint;
2714
+ }): Promise<`0x${string}`> {
2715
+ if (!this.contract.write) {
2716
+ throw new Error('Wallet client is required for write operations');
2717
+ }
2718
+ return this.contract.write.processAllClaimsByDate([year, month, day, maxLimit] as const, options) as Promise<`0x${string}`>;
2719
+ }
2720
+
2721
+ /**
2722
+ * requestRedeem
2723
+ * nonpayable
2724
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2725
+ */
2726
+ async requestRedeem(shares: bigint, receiverAddr: `0x${string}`, options?: {
2727
+ accessList?: import('viem').AccessList;
2728
+ authorizationList?: import('viem').AuthorizationList;
2729
+ chain?: import('viem').Chain | null;
2730
+ dataSuffix?: `0x${string}`;
2731
+ gas?: bigint;
2732
+ gasPrice?: bigint;
2733
+ maxFeePerGas?: bigint;
2734
+ maxPriorityFeePerGas?: bigint;
2735
+ nonce?: number;
2736
+ value?: bigint;
2737
+ }): Promise<`0x${string}`> {
2738
+ if (!this.contract.write) {
2739
+ throw new Error('Wallet client is required for write operations');
2740
+ }
2741
+ return this.contract.write.requestRedeem([shares, receiverAddr] as const, options) as Promise<`0x${string}`>;
2742
+ }
2743
+
2744
+ /**
2745
+ * transferOwnership
2746
+ * nonpayable
2747
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2748
+ */
2749
+ async transferOwnership(newOwner: `0x${string}`, options?: {
2750
+ accessList?: import('viem').AccessList;
2751
+ authorizationList?: import('viem').AuthorizationList;
2752
+ chain?: import('viem').Chain | null;
2753
+ dataSuffix?: `0x${string}`;
2754
+ gas?: bigint;
2755
+ gasPrice?: bigint;
2756
+ maxFeePerGas?: bigint;
2757
+ maxPriorityFeePerGas?: bigint;
2758
+ nonce?: number;
2759
+ value?: bigint;
2760
+ }): Promise<`0x${string}`> {
2761
+ if (!this.contract.write) {
2762
+ throw new Error('Wallet client is required for write operations');
2763
+ }
2764
+ return this.contract.write.transferOwnership([newOwner] as const, options) as Promise<`0x${string}`>;
2765
+ }
2766
+
2767
+ /**
2768
+ * updateAssetsWhitelist
2769
+ * nonpayable
2770
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2771
+ */
2772
+ async updateAssetsWhitelist(newWhitelistAddr: `0x${string}`, options?: {
2773
+ accessList?: import('viem').AccessList;
2774
+ authorizationList?: import('viem').AuthorizationList;
2775
+ chain?: import('viem').Chain | null;
2776
+ dataSuffix?: `0x${string}`;
2777
+ gas?: bigint;
2778
+ gasPrice?: bigint;
2779
+ maxFeePerGas?: bigint;
2780
+ maxPriorityFeePerGas?: bigint;
2781
+ nonce?: number;
2782
+ value?: bigint;
2783
+ }): Promise<`0x${string}`> {
2784
+ if (!this.contract.write) {
2785
+ throw new Error('Wallet client is required for write operations');
2786
+ }
2787
+ return this.contract.write.updateAssetsWhitelist([newWhitelistAddr] as const, options) as Promise<`0x${string}`>;
2788
+ }
2789
+
2790
+ /**
2791
+ * updateFeeCollectors
2792
+ * nonpayable
2793
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2794
+ */
2795
+ async updateFeeCollectors(collectors: IFeeCollectorsAware_CollectorDefinition[], options?: {
2796
+ accessList?: import('viem').AccessList;
2797
+ authorizationList?: import('viem').AuthorizationList;
2798
+ chain?: import('viem').Chain | null;
2799
+ dataSuffix?: `0x${string}`;
2800
+ gas?: bigint;
2801
+ gasPrice?: bigint;
2802
+ maxFeePerGas?: bigint;
2803
+ maxPriorityFeePerGas?: bigint;
2804
+ nonce?: number;
2805
+ value?: bigint;
2806
+ }): Promise<`0x${string}`> {
2807
+ if (!this.contract.write) {
2808
+ throw new Error('Wallet client is required for write operations');
2809
+ }
2810
+ return this.contract.write.updateFeeCollectors([collectors] as const, options) as Promise<`0x${string}`>;
2811
+ }
2812
+
2813
+ /**
2814
+ * updateInstantRedemptionFee
2815
+ * nonpayable
2816
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2817
+ */
2818
+ async updateInstantRedemptionFee(newValue: bigint, pKeepFeeInVault: boolean, options?: {
2819
+ accessList?: import('viem').AccessList;
2820
+ authorizationList?: import('viem').AuthorizationList;
2821
+ chain?: import('viem').Chain | null;
2822
+ dataSuffix?: `0x${string}`;
2823
+ gas?: bigint;
2824
+ gasPrice?: bigint;
2825
+ maxFeePerGas?: bigint;
2826
+ maxPriorityFeePerGas?: bigint;
2827
+ nonce?: number;
2828
+ value?: bigint;
2829
+ }): Promise<`0x${string}`> {
2830
+ if (!this.contract.write) {
2831
+ throw new Error('Wallet client is required for write operations');
2832
+ }
2833
+ return this.contract.write.updateInstantRedemptionFee([newValue, pKeepFeeInVault] as const, options) as Promise<`0x${string}`>;
2834
+ }
2835
+
2836
+ /**
2837
+ * updateLimits
2838
+ * nonpayable
2839
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2840
+ */
2841
+ async updateLimits(newMaxDepositAmount: bigint, newMaxWithdrawalAmount: bigint, newDepositCap: bigint, options?: {
2842
+ accessList?: import('viem').AccessList;
2843
+ authorizationList?: import('viem').AuthorizationList;
2844
+ chain?: import('viem').Chain | null;
2845
+ dataSuffix?: `0x${string}`;
2846
+ gas?: bigint;
2847
+ gasPrice?: bigint;
2848
+ maxFeePerGas?: bigint;
2849
+ maxPriorityFeePerGas?: bigint;
2850
+ nonce?: number;
2851
+ value?: bigint;
2852
+ }): Promise<`0x${string}`> {
2853
+ if (!this.contract.write) {
2854
+ throw new Error('Wallet client is required for write operations');
2855
+ }
2856
+ return this.contract.write.updateLimits([newMaxDepositAmount, newMaxWithdrawalAmount, newDepositCap] as const, options) as Promise<`0x${string}`>;
2857
+ }
2858
+
2859
+ /**
2860
+ * updateManagementFee
2861
+ * nonpayable
2862
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2863
+ */
2864
+ async updateManagementFee(newManagementFeePercent: bigint, options?: {
2865
+ accessList?: import('viem').AccessList;
2866
+ authorizationList?: import('viem').AuthorizationList;
2867
+ chain?: import('viem').Chain | null;
2868
+ dataSuffix?: `0x${string}`;
2869
+ gas?: bigint;
2870
+ gasPrice?: bigint;
2871
+ maxFeePerGas?: bigint;
2872
+ maxPriorityFeePerGas?: bigint;
2873
+ nonce?: number;
2874
+ value?: bigint;
2875
+ }): Promise<`0x${string}`> {
2876
+ if (!this.contract.write) {
2877
+ throw new Error('Wallet client is required for write operations');
2878
+ }
2879
+ return this.contract.write.updateManagementFee([newManagementFeePercent] as const, options) as Promise<`0x${string}`>;
2880
+ }
2881
+
2882
+ /**
2883
+ * updateMaxChangePercent
2884
+ * nonpayable
2885
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2886
+ */
2887
+ async updateMaxChangePercent(newValue: bigint, options?: {
2888
+ accessList?: import('viem').AccessList;
2889
+ authorizationList?: import('viem').AuthorizationList;
2890
+ chain?: import('viem').Chain | null;
2891
+ dataSuffix?: `0x${string}`;
2892
+ gas?: bigint;
2893
+ gasPrice?: bigint;
2894
+ maxFeePerGas?: bigint;
2895
+ maxPriorityFeePerGas?: bigint;
2896
+ nonce?: number;
2897
+ value?: bigint;
2898
+ }): Promise<`0x${string}`> {
2899
+ if (!this.contract.write) {
2900
+ throw new Error('Wallet client is required for write operations');
2901
+ }
2902
+ return this.contract.write.updateMaxChangePercent([newValue] as const, options) as Promise<`0x${string}`>;
2903
+ }
2904
+
2905
+ /**
2906
+ * updatePerformanceFee
2907
+ * nonpayable
2908
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2909
+ */
2910
+ async updatePerformanceFee(newValue: bigint, options?: {
2911
+ accessList?: import('viem').AccessList;
2912
+ authorizationList?: import('viem').AuthorizationList;
2913
+ chain?: import('viem').Chain | null;
2914
+ dataSuffix?: `0x${string}`;
2915
+ gas?: bigint;
2916
+ gasPrice?: bigint;
2917
+ maxFeePerGas?: bigint;
2918
+ maxPriorityFeePerGas?: bigint;
2919
+ nonce?: number;
2920
+ value?: bigint;
2921
+ }): Promise<`0x${string}`> {
2922
+ if (!this.contract.write) {
2923
+ throw new Error('Wallet client is required for write operations');
2924
+ }
2925
+ return this.contract.write.updatePerformanceFee([newValue] as const, options) as Promise<`0x${string}`>;
2926
+ }
2927
+
2928
+ /**
2929
+ * updatePerformanceFeeCollectors
2930
+ * nonpayable
2931
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2932
+ */
2933
+ async updatePerformanceFeeCollectors(collectors: IFeeCollectorsAware_CollectorDefinition[], options?: {
2934
+ accessList?: import('viem').AccessList;
2935
+ authorizationList?: import('viem').AuthorizationList;
2936
+ chain?: import('viem').Chain | null;
2937
+ dataSuffix?: `0x${string}`;
2938
+ gas?: bigint;
2939
+ gasPrice?: bigint;
2940
+ maxFeePerGas?: bigint;
2941
+ maxPriorityFeePerGas?: bigint;
2942
+ nonce?: number;
2943
+ value?: bigint;
2944
+ }): Promise<`0x${string}`> {
2945
+ if (!this.contract.write) {
2946
+ throw new Error('Wallet client is required for write operations');
2947
+ }
2948
+ return this.contract.write.updatePerformanceFeeCollectors([collectors] as const, options) as Promise<`0x${string}`>;
2949
+ }
2950
+
2951
+ /**
2952
+ * updateSendersWhitelist
2953
+ * nonpayable
2954
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2955
+ */
2956
+ async updateSendersWhitelist(newWhitelistAddr: `0x${string}`, options?: {
2957
+ accessList?: import('viem').AccessList;
2958
+ authorizationList?: import('viem').AuthorizationList;
2959
+ chain?: import('viem').Chain | null;
2960
+ dataSuffix?: `0x${string}`;
2961
+ gas?: bigint;
2962
+ gasPrice?: bigint;
2963
+ maxFeePerGas?: bigint;
2964
+ maxPriorityFeePerGas?: bigint;
2965
+ nonce?: number;
2966
+ value?: bigint;
2967
+ }): Promise<`0x${string}`> {
2968
+ if (!this.contract.write) {
2969
+ throw new Error('Wallet client is required for write operations');
2970
+ }
2971
+ return this.contract.write.updateSendersWhitelist([newWhitelistAddr] as const, options) as Promise<`0x${string}`>;
2972
+ }
2973
+
2974
+ /**
2975
+ * updateTimelockDuration
2976
+ * nonpayable
2977
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2978
+ */
2979
+ async updateTimelockDuration(newDuration: bigint, options?: {
2980
+ accessList?: import('viem').AccessList;
2981
+ authorizationList?: import('viem').AuthorizationList;
2982
+ chain?: import('viem').Chain | null;
2983
+ dataSuffix?: `0x${string}`;
2984
+ gas?: bigint;
2985
+ gasPrice?: bigint;
2986
+ maxFeePerGas?: bigint;
2987
+ maxPriorityFeePerGas?: bigint;
2988
+ nonce?: number;
2989
+ value?: bigint;
2990
+ }): Promise<`0x${string}`> {
2991
+ if (!this.contract.write) {
2992
+ throw new Error('Wallet client is required for write operations');
2993
+ }
2994
+ return this.contract.write.updateTimelockDuration([newDuration] as const, options) as Promise<`0x${string}`>;
2995
+ }
2996
+
2997
+ /**
2998
+ * updateTotalAssets
2999
+ * nonpayable
3000
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3001
+ */
3002
+ async updateTotalAssets(externalAssetsAmount: bigint, options?: {
3003
+ accessList?: import('viem').AccessList;
3004
+ authorizationList?: import('viem').AuthorizationList;
3005
+ chain?: import('viem').Chain | null;
3006
+ dataSuffix?: `0x${string}`;
3007
+ gas?: bigint;
3008
+ gasPrice?: bigint;
3009
+ maxFeePerGas?: bigint;
3010
+ maxPriorityFeePerGas?: bigint;
3011
+ nonce?: number;
3012
+ value?: bigint;
3013
+ }): Promise<`0x${string}`> {
3014
+ if (!this.contract.write) {
3015
+ throw new Error('Wallet client is required for write operations');
3016
+ }
3017
+ return this.contract.write.updateTotalAssets([externalAssetsAmount] as const, options) as Promise<`0x${string}`>;
3018
+ }
3019
+
3020
+ /**
3021
+ * withdrawFromSubaccount
3022
+ * nonpayable
3023
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3024
+ */
3025
+ async withdrawFromSubaccount(inputAssetAddr: `0x${string}`, amount: bigint, subAccountAddr: `0x${string}`, options?: {
3026
+ accessList?: import('viem').AccessList;
3027
+ authorizationList?: import('viem').AuthorizationList;
3028
+ chain?: import('viem').Chain | null;
3029
+ dataSuffix?: `0x${string}`;
3030
+ gas?: bigint;
3031
+ gasPrice?: bigint;
3032
+ maxFeePerGas?: bigint;
3033
+ maxPriorityFeePerGas?: bigint;
3034
+ nonce?: number;
3035
+ value?: bigint;
3036
+ }): Promise<`0x${string}`> {
3037
+ if (!this.contract.write) {
3038
+ throw new Error('Wallet client is required for write operations');
3039
+ }
3040
+ return this.contract.write.withdrawFromSubaccount([inputAssetAddr, amount, subAccountAddr] as const, options) as Promise<`0x${string}`>;
3041
+ }
3042
+
3043
+
3044
+
3045
+ /**
3046
+ * Simulate contract write operations (dry-run without sending transaction)
3047
+ *
3048
+ * @example
3049
+ * const result = await contract.simulate.transfer('0x...', 1000n);
3050
+ * console.log('Gas estimate:', result.request.gas);
3051
+ * console.log('Would succeed:', result.result);
3052
+ */
3053
+ get simulate() {
3054
+ const contract = this.contract;
3055
+ if (!contract.simulate) {
3056
+ throw new Error('Public client is required for simulation');
3057
+ }
3058
+ return {
3059
+ /**
3060
+ * Simulate acceptOwnership
3061
+ * Returns gas estimate and result without sending transaction
3062
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3063
+ */
3064
+ async acceptOwnership(options?: {
3065
+ accessList?: import('viem').AccessList;
3066
+ authorizationList?: import('viem').AuthorizationList;
3067
+ chain?: import('viem').Chain | null;
3068
+ dataSuffix?: `0x${string}`;
3069
+ gas?: bigint;
3070
+ gasPrice?: bigint;
3071
+ maxFeePerGas?: bigint;
3072
+ maxPriorityFeePerGas?: bigint;
3073
+ nonce?: number;
3074
+ value?: bigint;
3075
+ }): Promise<void> {
3076
+ return contract.simulate.acceptOwnership(options) as Promise<void>;
3077
+ },
3078
+ /**
3079
+ * Simulate chargeManagementFee
3080
+ * Returns gas estimate and result without sending transaction
3081
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3082
+ */
3083
+ async chargeManagementFee(options?: {
3084
+ accessList?: import('viem').AccessList;
3085
+ authorizationList?: import('viem').AuthorizationList;
3086
+ chain?: import('viem').Chain | null;
3087
+ dataSuffix?: `0x${string}`;
3088
+ gas?: bigint;
3089
+ gasPrice?: bigint;
3090
+ maxFeePerGas?: bigint;
3091
+ maxPriorityFeePerGas?: bigint;
3092
+ nonce?: number;
3093
+ value?: bigint;
3094
+ }): Promise<void> {
3095
+ return contract.simulate.chargeManagementFee(options) as Promise<void>;
3096
+ },
3097
+ /**
3098
+ * Simulate chargePerformanceFees
3099
+ * Returns gas estimate and result without sending transaction
3100
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3101
+ */
3102
+ async chargePerformanceFees(options?: {
3103
+ accessList?: import('viem').AccessList;
3104
+ authorizationList?: import('viem').AuthorizationList;
3105
+ chain?: import('viem').Chain | null;
3106
+ dataSuffix?: `0x${string}`;
3107
+ gas?: bigint;
3108
+ gasPrice?: bigint;
3109
+ maxFeePerGas?: bigint;
3110
+ maxPriorityFeePerGas?: bigint;
3111
+ nonce?: number;
3112
+ value?: bigint;
3113
+ }): Promise<void> {
3114
+ return contract.simulate.chargePerformanceFees(options) as Promise<void>;
3115
+ },
3116
+ /**
3117
+ * Simulate claim
3118
+ * Returns gas estimate and result without sending transaction
3119
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3120
+ */
3121
+ async claim(year: bigint, month: bigint, day: bigint, receiverAddr: `0x${string}`, options?: {
3122
+ accessList?: import('viem').AccessList;
3123
+ authorizationList?: import('viem').AuthorizationList;
3124
+ chain?: import('viem').Chain | null;
3125
+ dataSuffix?: `0x${string}`;
3126
+ gas?: bigint;
3127
+ gasPrice?: bigint;
3128
+ maxFeePerGas?: bigint;
3129
+ maxPriorityFeePerGas?: bigint;
3130
+ nonce?: number;
3131
+ value?: bigint;
3132
+ }): Promise<[bigint, bigint]> {
3133
+ return contract.simulate.claim([year, month, day, receiverAddr] as const, options) as Promise<[bigint, bigint]>;
3134
+ },
3135
+ /**
3136
+ * Simulate collectFees
3137
+ * Returns gas estimate and result without sending transaction
3138
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3139
+ */
3140
+ async collectFees(options?: {
3141
+ accessList?: import('viem').AccessList;
3142
+ authorizationList?: import('viem').AuthorizationList;
3143
+ chain?: import('viem').Chain | null;
3144
+ dataSuffix?: `0x${string}`;
3145
+ gas?: bigint;
3146
+ gasPrice?: bigint;
3147
+ maxFeePerGas?: bigint;
3148
+ maxPriorityFeePerGas?: bigint;
3149
+ nonce?: number;
3150
+ value?: bigint;
3151
+ }): Promise<void> {
3152
+ return contract.simulate.collectFees(options) as Promise<void>;
3153
+ },
3154
+ /**
3155
+ * Simulate configure
3156
+ * Returns gas estimate and result without sending transaction
3157
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3158
+ */
3159
+ async configure(newConfig: ITokenizedVault_ConfigInfo, options?: {
3160
+ accessList?: import('viem').AccessList;
3161
+ authorizationList?: import('viem').AuthorizationList;
3162
+ chain?: import('viem').Chain | null;
3163
+ dataSuffix?: `0x${string}`;
3164
+ gas?: bigint;
3165
+ gasPrice?: bigint;
3166
+ maxFeePerGas?: bigint;
3167
+ maxPriorityFeePerGas?: bigint;
3168
+ nonce?: number;
3169
+ value?: bigint;
3170
+ }): Promise<void> {
3171
+ return contract.simulate.configure([newConfig] as const, options) as Promise<void>;
3172
+ },
3173
+ /**
3174
+ * Simulate deposit
3175
+ * Returns gas estimate and result without sending transaction
3176
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3177
+ */
3178
+ async deposit(assetIn: `0x${string}`, amountIn: bigint, receiverAddr: `0x${string}`, options?: {
3179
+ accessList?: import('viem').AccessList;
3180
+ authorizationList?: import('viem').AuthorizationList;
3181
+ chain?: import('viem').Chain | null;
3182
+ dataSuffix?: `0x${string}`;
3183
+ gas?: bigint;
3184
+ gasPrice?: bigint;
3185
+ maxFeePerGas?: bigint;
3186
+ maxPriorityFeePerGas?: bigint;
3187
+ nonce?: number;
3188
+ value?: bigint;
3189
+ }): Promise<bigint> {
3190
+ return contract.simulate.deposit([assetIn, amountIn, receiverAddr] as const, options) as Promise<bigint>;
3191
+ },
3192
+ /**
3193
+ * Simulate depositToSubaccount
3194
+ * Returns gas estimate and result without sending transaction
3195
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3196
+ */
3197
+ async depositToSubaccount(inputAssetAddr: `0x${string}`, depositAmount: bigint, subAccountAddr: `0x${string}`, options?: {
3198
+ accessList?: import('viem').AccessList;
3199
+ authorizationList?: import('viem').AuthorizationList;
3200
+ chain?: import('viem').Chain | null;
3201
+ dataSuffix?: `0x${string}`;
3202
+ gas?: bigint;
3203
+ gasPrice?: bigint;
3204
+ maxFeePerGas?: bigint;
3205
+ maxPriorityFeePerGas?: bigint;
3206
+ nonce?: number;
3207
+ value?: bigint;
3208
+ }): Promise<void> {
3209
+ return contract.simulate.depositToSubaccount([inputAssetAddr, depositAmount, subAccountAddr] as const, options) as Promise<void>;
3210
+ },
3211
+ /**
3212
+ * Simulate depositWithPermit
3213
+ * Returns gas estimate and result without sending transaction
3214
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3215
+ */
3216
+ async depositWithPermit(assetIn: `0x${string}`, amountIn: bigint, receiverAddr: `0x${string}`, deadline: bigint, r: `0x${string}`, s: `0x${string}`, v: bigint, options?: {
3217
+ accessList?: import('viem').AccessList;
3218
+ authorizationList?: import('viem').AuthorizationList;
3219
+ chain?: import('viem').Chain | null;
3220
+ dataSuffix?: `0x${string}`;
3221
+ gas?: bigint;
3222
+ gasPrice?: bigint;
3223
+ maxFeePerGas?: bigint;
3224
+ maxPriorityFeePerGas?: bigint;
3225
+ nonce?: number;
3226
+ value?: bigint;
3227
+ }): Promise<bigint> {
3228
+ return contract.simulate.depositWithPermit([assetIn, amountIn, receiverAddr, deadline, r, s, v] as const, options) as Promise<bigint>;
3229
+ },
3230
+ /**
3231
+ * Simulate disableSubAccount
3232
+ * Returns gas estimate and result without sending transaction
3233
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3234
+ */
3235
+ async disableSubAccount(addr: `0x${string}`, options?: {
3236
+ accessList?: import('viem').AccessList;
3237
+ authorizationList?: import('viem').AuthorizationList;
3238
+ chain?: import('viem').Chain | null;
3239
+ dataSuffix?: `0x${string}`;
3240
+ gas?: bigint;
3241
+ gasPrice?: bigint;
3242
+ maxFeePerGas?: bigint;
3243
+ maxPriorityFeePerGas?: bigint;
3244
+ nonce?: number;
3245
+ value?: bigint;
3246
+ }): Promise<void> {
3247
+ return contract.simulate.disableSubAccount([addr] as const, options) as Promise<void>;
3248
+ },
3249
+ /**
3250
+ * Simulate emergencyWithdraw
3251
+ * Returns gas estimate and result without sending transaction
3252
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3253
+ */
3254
+ async emergencyWithdraw(receiverAddr: `0x${string}`, options?: {
3255
+ accessList?: import('viem').AccessList;
3256
+ authorizationList?: import('viem').AuthorizationList;
3257
+ chain?: import('viem').Chain | null;
3258
+ dataSuffix?: `0x${string}`;
3259
+ gas?: bigint;
3260
+ gasPrice?: bigint;
3261
+ maxFeePerGas?: bigint;
3262
+ maxPriorityFeePerGas?: bigint;
3263
+ nonce?: number;
3264
+ value?: bigint;
3265
+ }): Promise<void> {
3266
+ return contract.simulate.emergencyWithdraw([receiverAddr] as const, options) as Promise<void>;
3267
+ },
3268
+ /**
3269
+ * Simulate enableSubAccount
3270
+ * Returns gas estimate and result without sending transaction
3271
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3272
+ */
3273
+ async enableSubAccount(addr: `0x${string}`, accountType: bigint, options?: {
3274
+ accessList?: import('viem').AccessList;
3275
+ authorizationList?: import('viem').AuthorizationList;
3276
+ chain?: import('viem').Chain | null;
3277
+ dataSuffix?: `0x${string}`;
3278
+ gas?: bigint;
3279
+ gasPrice?: bigint;
3280
+ maxFeePerGas?: bigint;
3281
+ maxPriorityFeePerGas?: bigint;
3282
+ nonce?: number;
3283
+ value?: bigint;
3284
+ }): Promise<void> {
3285
+ return contract.simulate.enableSubAccount([addr, accountType] as const, options) as Promise<void>;
3286
+ },
3287
+ /**
3288
+ * Simulate initialize
3289
+ * Returns gas estimate and result without sending transaction
3290
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3291
+ */
3292
+ async initialize(ownerAddr: `0x${string}`, options?: {
3293
+ accessList?: import('viem').AccessList;
3294
+ authorizationList?: import('viem').AuthorizationList;
3295
+ chain?: import('viem').Chain | null;
3296
+ dataSuffix?: `0x${string}`;
3297
+ gas?: bigint;
3298
+ gasPrice?: bigint;
3299
+ maxFeePerGas?: bigint;
3300
+ maxPriorityFeePerGas?: bigint;
3301
+ nonce?: number;
3302
+ value?: bigint;
3303
+ }): Promise<void> {
3304
+ return contract.simulate.initialize([ownerAddr] as const, options) as Promise<void>;
3305
+ },
3306
+ /**
3307
+ * Simulate instantRedeem
3308
+ * Returns gas estimate and result without sending transaction
3309
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3310
+ */
3311
+ async instantRedeem(shares: bigint, receiverAddr: `0x${string}`, options?: {
3312
+ accessList?: import('viem').AccessList;
3313
+ authorizationList?: import('viem').AuthorizationList;
3314
+ chain?: import('viem').Chain | null;
3315
+ dataSuffix?: `0x${string}`;
3316
+ gas?: bigint;
3317
+ gasPrice?: bigint;
3318
+ maxFeePerGas?: bigint;
3319
+ maxPriorityFeePerGas?: bigint;
3320
+ nonce?: number;
3321
+ value?: bigint;
3322
+ }): Promise<void> {
3323
+ return contract.simulate.instantRedeem([shares, receiverAddr] as const, options) as Promise<void>;
3324
+ },
3325
+ /**
3326
+ * Simulate pauseDepositsAndWithdrawals
3327
+ * Returns gas estimate and result without sending transaction
3328
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3329
+ */
3330
+ async pauseDepositsAndWithdrawals(bPauseDeposits: boolean, bPauseWithdrawals: boolean, options?: {
3331
+ accessList?: import('viem').AccessList;
3332
+ authorizationList?: import('viem').AuthorizationList;
3333
+ chain?: import('viem').Chain | null;
3334
+ dataSuffix?: `0x${string}`;
3335
+ gas?: bigint;
3336
+ gasPrice?: bigint;
3337
+ maxFeePerGas?: bigint;
3338
+ maxPriorityFeePerGas?: bigint;
3339
+ nonce?: number;
3340
+ value?: bigint;
3341
+ }): Promise<void> {
3342
+ return contract.simulate.pauseDepositsAndWithdrawals([bPauseDeposits, bPauseWithdrawals] as const, options) as Promise<void>;
3343
+ },
3344
+ /**
3345
+ * Simulate processAllClaimsByDate
3346
+ * Returns gas estimate and result without sending transaction
3347
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3348
+ */
3349
+ async processAllClaimsByDate(year: bigint, month: bigint, day: bigint, maxLimit: bigint, options?: {
3350
+ accessList?: import('viem').AccessList;
3351
+ authorizationList?: import('viem').AuthorizationList;
3352
+ chain?: import('viem').Chain | null;
3353
+ dataSuffix?: `0x${string}`;
3354
+ gas?: bigint;
3355
+ gasPrice?: bigint;
3356
+ maxFeePerGas?: bigint;
3357
+ maxPriorityFeePerGas?: bigint;
3358
+ nonce?: number;
3359
+ value?: bigint;
3360
+ }): Promise<void> {
3361
+ return contract.simulate.processAllClaimsByDate([year, month, day, maxLimit] as const, options) as Promise<void>;
3362
+ },
3363
+ /**
3364
+ * Simulate requestRedeem
3365
+ * Returns gas estimate and result without sending transaction
3366
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3367
+ */
3368
+ async requestRedeem(shares: bigint, receiverAddr: `0x${string}`, options?: {
3369
+ accessList?: import('viem').AccessList;
3370
+ authorizationList?: import('viem').AuthorizationList;
3371
+ chain?: import('viem').Chain | null;
3372
+ dataSuffix?: `0x${string}`;
3373
+ gas?: bigint;
3374
+ gasPrice?: bigint;
3375
+ maxFeePerGas?: bigint;
3376
+ maxPriorityFeePerGas?: bigint;
3377
+ nonce?: number;
3378
+ value?: bigint;
3379
+ }): Promise<[bigint, bigint, bigint, bigint]> {
3380
+ return contract.simulate.requestRedeem([shares, receiverAddr] as const, options) as Promise<[bigint, bigint, bigint, bigint]>;
3381
+ },
3382
+ /**
3383
+ * Simulate transferOwnership
3384
+ * Returns gas estimate and result without sending transaction
3385
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3386
+ */
3387
+ async transferOwnership(newOwner: `0x${string}`, options?: {
3388
+ accessList?: import('viem').AccessList;
3389
+ authorizationList?: import('viem').AuthorizationList;
3390
+ chain?: import('viem').Chain | null;
3391
+ dataSuffix?: `0x${string}`;
3392
+ gas?: bigint;
3393
+ gasPrice?: bigint;
3394
+ maxFeePerGas?: bigint;
3395
+ maxPriorityFeePerGas?: bigint;
3396
+ nonce?: number;
3397
+ value?: bigint;
3398
+ }): Promise<void> {
3399
+ return contract.simulate.transferOwnership([newOwner] as const, options) as Promise<void>;
3400
+ },
3401
+ /**
3402
+ * Simulate updateAssetsWhitelist
3403
+ * Returns gas estimate and result without sending transaction
3404
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3405
+ */
3406
+ async updateAssetsWhitelist(newWhitelistAddr: `0x${string}`, options?: {
3407
+ accessList?: import('viem').AccessList;
3408
+ authorizationList?: import('viem').AuthorizationList;
3409
+ chain?: import('viem').Chain | null;
3410
+ dataSuffix?: `0x${string}`;
3411
+ gas?: bigint;
3412
+ gasPrice?: bigint;
3413
+ maxFeePerGas?: bigint;
3414
+ maxPriorityFeePerGas?: bigint;
3415
+ nonce?: number;
3416
+ value?: bigint;
3417
+ }): Promise<void> {
3418
+ return contract.simulate.updateAssetsWhitelist([newWhitelistAddr] as const, options) as Promise<void>;
3419
+ },
3420
+ /**
3421
+ * Simulate updateFeeCollectors
3422
+ * Returns gas estimate and result without sending transaction
3423
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3424
+ */
3425
+ async updateFeeCollectors(collectors: IFeeCollectorsAware_CollectorDefinition[], options?: {
3426
+ accessList?: import('viem').AccessList;
3427
+ authorizationList?: import('viem').AuthorizationList;
3428
+ chain?: import('viem').Chain | null;
3429
+ dataSuffix?: `0x${string}`;
3430
+ gas?: bigint;
3431
+ gasPrice?: bigint;
3432
+ maxFeePerGas?: bigint;
3433
+ maxPriorityFeePerGas?: bigint;
3434
+ nonce?: number;
3435
+ value?: bigint;
3436
+ }): Promise<void> {
3437
+ return contract.simulate.updateFeeCollectors([collectors] as const, options) as Promise<void>;
3438
+ },
3439
+ /**
3440
+ * Simulate updateInstantRedemptionFee
3441
+ * Returns gas estimate and result without sending transaction
3442
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3443
+ */
3444
+ async updateInstantRedemptionFee(newValue: bigint, pKeepFeeInVault: boolean, options?: {
3445
+ accessList?: import('viem').AccessList;
3446
+ authorizationList?: import('viem').AuthorizationList;
3447
+ chain?: import('viem').Chain | null;
3448
+ dataSuffix?: `0x${string}`;
3449
+ gas?: bigint;
3450
+ gasPrice?: bigint;
3451
+ maxFeePerGas?: bigint;
3452
+ maxPriorityFeePerGas?: bigint;
3453
+ nonce?: number;
3454
+ value?: bigint;
3455
+ }): Promise<void> {
3456
+ return contract.simulate.updateInstantRedemptionFee([newValue, pKeepFeeInVault] as const, options) as Promise<void>;
3457
+ },
3458
+ /**
3459
+ * Simulate updateLimits
3460
+ * Returns gas estimate and result without sending transaction
3461
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3462
+ */
3463
+ async updateLimits(newMaxDepositAmount: bigint, newMaxWithdrawalAmount: bigint, newDepositCap: bigint, options?: {
3464
+ accessList?: import('viem').AccessList;
3465
+ authorizationList?: import('viem').AuthorizationList;
3466
+ chain?: import('viem').Chain | null;
3467
+ dataSuffix?: `0x${string}`;
3468
+ gas?: bigint;
3469
+ gasPrice?: bigint;
3470
+ maxFeePerGas?: bigint;
3471
+ maxPriorityFeePerGas?: bigint;
3472
+ nonce?: number;
3473
+ value?: bigint;
3474
+ }): Promise<void> {
3475
+ return contract.simulate.updateLimits([newMaxDepositAmount, newMaxWithdrawalAmount, newDepositCap] as const, options) as Promise<void>;
3476
+ },
3477
+ /**
3478
+ * Simulate updateManagementFee
3479
+ * Returns gas estimate and result without sending transaction
3480
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3481
+ */
3482
+ async updateManagementFee(newManagementFeePercent: bigint, options?: {
3483
+ accessList?: import('viem').AccessList;
3484
+ authorizationList?: import('viem').AuthorizationList;
3485
+ chain?: import('viem').Chain | null;
3486
+ dataSuffix?: `0x${string}`;
3487
+ gas?: bigint;
3488
+ gasPrice?: bigint;
3489
+ maxFeePerGas?: bigint;
3490
+ maxPriorityFeePerGas?: bigint;
3491
+ nonce?: number;
3492
+ value?: bigint;
3493
+ }): Promise<void> {
3494
+ return contract.simulate.updateManagementFee([newManagementFeePercent] as const, options) as Promise<void>;
3495
+ },
3496
+ /**
3497
+ * Simulate updateMaxChangePercent
3498
+ * Returns gas estimate and result without sending transaction
3499
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3500
+ */
3501
+ async updateMaxChangePercent(newValue: bigint, options?: {
3502
+ accessList?: import('viem').AccessList;
3503
+ authorizationList?: import('viem').AuthorizationList;
3504
+ chain?: import('viem').Chain | null;
3505
+ dataSuffix?: `0x${string}`;
3506
+ gas?: bigint;
3507
+ gasPrice?: bigint;
3508
+ maxFeePerGas?: bigint;
3509
+ maxPriorityFeePerGas?: bigint;
3510
+ nonce?: number;
3511
+ value?: bigint;
3512
+ }): Promise<void> {
3513
+ return contract.simulate.updateMaxChangePercent([newValue] as const, options) as Promise<void>;
3514
+ },
3515
+ /**
3516
+ * Simulate updatePerformanceFee
3517
+ * Returns gas estimate and result without sending transaction
3518
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3519
+ */
3520
+ async updatePerformanceFee(newValue: bigint, options?: {
3521
+ accessList?: import('viem').AccessList;
3522
+ authorizationList?: import('viem').AuthorizationList;
3523
+ chain?: import('viem').Chain | null;
3524
+ dataSuffix?: `0x${string}`;
3525
+ gas?: bigint;
3526
+ gasPrice?: bigint;
3527
+ maxFeePerGas?: bigint;
3528
+ maxPriorityFeePerGas?: bigint;
3529
+ nonce?: number;
3530
+ value?: bigint;
3531
+ }): Promise<void> {
3532
+ return contract.simulate.updatePerformanceFee([newValue] as const, options) as Promise<void>;
3533
+ },
3534
+ /**
3535
+ * Simulate updatePerformanceFeeCollectors
3536
+ * Returns gas estimate and result without sending transaction
3537
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3538
+ */
3539
+ async updatePerformanceFeeCollectors(collectors: IFeeCollectorsAware_CollectorDefinition[], options?: {
3540
+ accessList?: import('viem').AccessList;
3541
+ authorizationList?: import('viem').AuthorizationList;
3542
+ chain?: import('viem').Chain | null;
3543
+ dataSuffix?: `0x${string}`;
3544
+ gas?: bigint;
3545
+ gasPrice?: bigint;
3546
+ maxFeePerGas?: bigint;
3547
+ maxPriorityFeePerGas?: bigint;
3548
+ nonce?: number;
3549
+ value?: bigint;
3550
+ }): Promise<void> {
3551
+ return contract.simulate.updatePerformanceFeeCollectors([collectors] as const, options) as Promise<void>;
3552
+ },
3553
+ /**
3554
+ * Simulate updateSendersWhitelist
3555
+ * Returns gas estimate and result without sending transaction
3556
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3557
+ */
3558
+ async updateSendersWhitelist(newWhitelistAddr: `0x${string}`, options?: {
3559
+ accessList?: import('viem').AccessList;
3560
+ authorizationList?: import('viem').AuthorizationList;
3561
+ chain?: import('viem').Chain | null;
3562
+ dataSuffix?: `0x${string}`;
3563
+ gas?: bigint;
3564
+ gasPrice?: bigint;
3565
+ maxFeePerGas?: bigint;
3566
+ maxPriorityFeePerGas?: bigint;
3567
+ nonce?: number;
3568
+ value?: bigint;
3569
+ }): Promise<void> {
3570
+ return contract.simulate.updateSendersWhitelist([newWhitelistAddr] as const, options) as Promise<void>;
3571
+ },
3572
+ /**
3573
+ * Simulate updateTimelockDuration
3574
+ * Returns gas estimate and result without sending transaction
3575
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3576
+ */
3577
+ async updateTimelockDuration(newDuration: bigint, options?: {
3578
+ accessList?: import('viem').AccessList;
3579
+ authorizationList?: import('viem').AuthorizationList;
3580
+ chain?: import('viem').Chain | null;
3581
+ dataSuffix?: `0x${string}`;
3582
+ gas?: bigint;
3583
+ gasPrice?: bigint;
3584
+ maxFeePerGas?: bigint;
3585
+ maxPriorityFeePerGas?: bigint;
3586
+ nonce?: number;
3587
+ value?: bigint;
3588
+ }): Promise<void> {
3589
+ return contract.simulate.updateTimelockDuration([newDuration] as const, options) as Promise<void>;
3590
+ },
3591
+ /**
3592
+ * Simulate updateTotalAssets
3593
+ * Returns gas estimate and result without sending transaction
3594
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3595
+ */
3596
+ async updateTotalAssets(externalAssetsAmount: bigint, options?: {
3597
+ accessList?: import('viem').AccessList;
3598
+ authorizationList?: import('viem').AuthorizationList;
3599
+ chain?: import('viem').Chain | null;
3600
+ dataSuffix?: `0x${string}`;
3601
+ gas?: bigint;
3602
+ gasPrice?: bigint;
3603
+ maxFeePerGas?: bigint;
3604
+ maxPriorityFeePerGas?: bigint;
3605
+ nonce?: number;
3606
+ value?: bigint;
3607
+ }): Promise<void> {
3608
+ return contract.simulate.updateTotalAssets([externalAssetsAmount] as const, options) as Promise<void>;
3609
+ },
3610
+ /**
3611
+ * Simulate withdrawFromSubaccount
3612
+ * Returns gas estimate and result without sending transaction
3613
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3614
+ */
3615
+ async withdrawFromSubaccount(inputAssetAddr: `0x${string}`, amount: bigint, subAccountAddr: `0x${string}`, options?: {
3616
+ accessList?: import('viem').AccessList;
3617
+ authorizationList?: import('viem').AuthorizationList;
3618
+ chain?: import('viem').Chain | null;
3619
+ dataSuffix?: `0x${string}`;
3620
+ gas?: bigint;
3621
+ gasPrice?: bigint;
3622
+ maxFeePerGas?: bigint;
3623
+ maxPriorityFeePerGas?: bigint;
3624
+ nonce?: number;
3625
+ value?: bigint;
3626
+ }): Promise<void> {
3627
+ return contract.simulate.withdrawFromSubaccount([inputAssetAddr, amount, subAccountAddr] as const, options) as Promise<void>;
3628
+ }
3629
+ };
3630
+ }
3631
+
3632
+ /**
3633
+ * Watch contract events
3634
+ *
3635
+ * @example
3636
+ * // Watch all Transfer events
3637
+ * const unwatch = contract.watch.Transfer((event) => {
3638
+ * console.log('Transfer:', event);
3639
+ * });
3640
+ *
3641
+ * // Stop watching
3642
+ * unwatch();
3643
+ */
3644
+ get watch() {
3645
+ return {
3646
+ /**
3647
+ * Watch ContractConfigured events
3648
+ * @param callback Function to call when event is emitted
3649
+ * @param filter Optional filter for indexed parameters
3650
+ * @returns Unwatch function to stop listening
3651
+ */
3652
+ ContractConfigured: (callback: (event: { }) => void) => {
3653
+ return this.publicClient.watchContractEvent({
3654
+ address: this.contractAddress,
3655
+ abi: TokenizedVault_jsonAbi,
3656
+ eventName: 'ContractConfigured',
3657
+
3658
+ onLogs: (logs: any[]) => {
3659
+ logs.forEach((log: any) => {
3660
+ callback(log.args as any);
3661
+ });
3662
+ },
3663
+ }) as () => void;
3664
+ },
3665
+ /**
3666
+ * Watch Deposit events
3667
+ * @param callback Function to call when event is emitted
3668
+ * @param filter Optional filter for indexed parameters
3669
+ * @returns Unwatch function to stop listening
3670
+ */
3671
+ Deposit: (callback: (event: { senderAddr: `0x${string}`; receiverAddr: `0x${string}`; assetIn: `0x${string}`; amountIn: bigint; shares: bigint }) => void, filter?: { senderAddr: `0x${string}`; receiverAddr: `0x${string}` }) => {
3672
+ return this.publicClient.watchContractEvent({
3673
+ address: this.contractAddress,
3674
+ abi: TokenizedVault_jsonAbi,
3675
+ eventName: 'Deposit',
3676
+ args: filter,
3677
+ onLogs: (logs: any[]) => {
3678
+ logs.forEach((log: any) => {
3679
+ callback(log.args as any);
3680
+ });
3681
+ },
3682
+ }) as () => void;
3683
+ },
3684
+ /**
3685
+ * Watch DepositWithdrawalStatusChanged events
3686
+ * @param callback Function to call when event is emitted
3687
+ * @param filter Optional filter for indexed parameters
3688
+ * @returns Unwatch function to stop listening
3689
+ */
3690
+ DepositWithdrawalStatusChanged: (callback: (event: { bDepositsPaused: boolean; bWithdrawalsPaused: boolean }) => void) => {
3691
+ return this.publicClient.watchContractEvent({
3692
+ address: this.contractAddress,
3693
+ abi: TokenizedVault_jsonAbi,
3694
+ eventName: 'DepositWithdrawalStatusChanged',
3695
+
3696
+ onLogs: (logs: any[]) => {
3697
+ logs.forEach((log: any) => {
3698
+ callback(log.args as any);
3699
+ });
3700
+ },
3701
+ }) as () => void;
3702
+ },
3703
+ /**
3704
+ * Watch FeesCollected events
3705
+ * @param callback Function to call when event is emitted
3706
+ * @param filter Optional filter for indexed parameters
3707
+ * @returns Unwatch function to stop listening
3708
+ */
3709
+ FeesCollected: (callback: (event: { }) => void) => {
3710
+ return this.publicClient.watchContractEvent({
3711
+ address: this.contractAddress,
3712
+ abi: TokenizedVault_jsonAbi,
3713
+ eventName: 'FeesCollected',
3714
+
3715
+ onLogs: (logs: any[]) => {
3716
+ logs.forEach((log: any) => {
3717
+ callback(log.args as any);
3718
+ });
3719
+ },
3720
+ }) as () => void;
3721
+ },
3722
+ /**
3723
+ * Watch Initialized events
3724
+ * @param callback Function to call when event is emitted
3725
+ * @param filter Optional filter for indexed parameters
3726
+ * @returns Unwatch function to stop listening
3727
+ */
3728
+ Initialized: (callback: (event: { version: bigint }) => void) => {
3729
+ return this.publicClient.watchContractEvent({
3730
+ address: this.contractAddress,
3731
+ abi: TokenizedVault_jsonAbi,
3732
+ eventName: 'Initialized',
3733
+
3734
+ onLogs: (logs: any[]) => {
3735
+ logs.forEach((log: any) => {
3736
+ callback(log.args as any);
3737
+ });
3738
+ },
3739
+ }) as () => void;
3740
+ },
3741
+ /**
3742
+ * Watch ManagementFeeCharged events
3743
+ * @param callback Function to call when event is emitted
3744
+ * @param filter Optional filter for indexed parameters
3745
+ * @returns Unwatch function to stop listening
3746
+ */
3747
+ ManagementFeeCharged: (callback: (event: { managementFeeAmount: bigint }) => void) => {
3748
+ return this.publicClient.watchContractEvent({
3749
+ address: this.contractAddress,
3750
+ abi: TokenizedVault_jsonAbi,
3751
+ eventName: 'ManagementFeeCharged',
3752
+
3753
+ onLogs: (logs: any[]) => {
3754
+ logs.forEach((log: any) => {
3755
+ callback(log.args as any);
3756
+ });
3757
+ },
3758
+ }) as () => void;
3759
+ },
3760
+ /**
3761
+ * Watch ManagementFeeUpdated events
3762
+ * @param callback Function to call when event is emitted
3763
+ * @param filter Optional filter for indexed parameters
3764
+ * @returns Unwatch function to stop listening
3765
+ */
3766
+ ManagementFeeUpdated: (callback: (event: { newManagementFeePercent: bigint }) => void) => {
3767
+ return this.publicClient.watchContractEvent({
3768
+ address: this.contractAddress,
3769
+ abi: TokenizedVault_jsonAbi,
3770
+ eventName: 'ManagementFeeUpdated',
3771
+
3772
+ onLogs: (logs: any[]) => {
3773
+ logs.forEach((log: any) => {
3774
+ callback(log.args as any);
3775
+ });
3776
+ },
3777
+ }) as () => void;
3778
+ },
3779
+ /**
3780
+ * Watch MaxChangePercentUpdated events
3781
+ * @param callback Function to call when event is emitted
3782
+ * @param filter Optional filter for indexed parameters
3783
+ * @returns Unwatch function to stop listening
3784
+ */
3785
+ MaxChangePercentUpdated: (callback: (event: { newValue: bigint }) => void) => {
3786
+ return this.publicClient.watchContractEvent({
3787
+ address: this.contractAddress,
3788
+ abi: TokenizedVault_jsonAbi,
3789
+ eventName: 'MaxChangePercentUpdated',
3790
+
3791
+ onLogs: (logs: any[]) => {
3792
+ logs.forEach((log: any) => {
3793
+ callback(log.args as any);
3794
+ });
3795
+ },
3796
+ }) as () => void;
3797
+ },
3798
+ /**
3799
+ * Watch OnEmergencyWithdraw events
3800
+ * @param callback Function to call when event is emitted
3801
+ * @param filter Optional filter for indexed parameters
3802
+ * @returns Unwatch function to stop listening
3803
+ */
3804
+ OnEmergencyWithdraw: (callback: (event: { receiverAddr: `0x${string}` }) => void) => {
3805
+ return this.publicClient.watchContractEvent({
3806
+ address: this.contractAddress,
3807
+ abi: TokenizedVault_jsonAbi,
3808
+ eventName: 'OnEmergencyWithdraw',
3809
+
3810
+ onLogs: (logs: any[]) => {
3811
+ logs.forEach((log: any) => {
3812
+ callback(log.args as any);
3813
+ });
3814
+ },
3815
+ }) as () => void;
3816
+ },
3817
+ /**
3818
+ * Watch OwnershipTransferStarted events
3819
+ * @param callback Function to call when event is emitted
3820
+ * @param filter Optional filter for indexed parameters
3821
+ * @returns Unwatch function to stop listening
3822
+ */
3823
+ OwnershipTransferStarted: (callback: (event: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => void, filter?: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => {
3824
+ return this.publicClient.watchContractEvent({
3825
+ address: this.contractAddress,
3826
+ abi: TokenizedVault_jsonAbi,
3827
+ eventName: 'OwnershipTransferStarted',
3828
+ args: filter,
3829
+ onLogs: (logs: any[]) => {
3830
+ logs.forEach((log: any) => {
3831
+ callback(log.args as any);
3832
+ });
3833
+ },
3834
+ }) as () => void;
3835
+ },
3836
+ /**
3837
+ * Watch OwnershipTransferred events
3838
+ * @param callback Function to call when event is emitted
3839
+ * @param filter Optional filter for indexed parameters
3840
+ * @returns Unwatch function to stop listening
3841
+ */
3842
+ OwnershipTransferred: (callback: (event: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => void, filter?: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => {
3843
+ return this.publicClient.watchContractEvent({
3844
+ address: this.contractAddress,
3845
+ abi: TokenizedVault_jsonAbi,
3846
+ eventName: 'OwnershipTransferred',
3847
+ args: filter,
3848
+ onLogs: (logs: any[]) => {
3849
+ logs.forEach((log: any) => {
3850
+ callback(log.args as any);
3851
+ });
3852
+ },
3853
+ }) as () => void;
3854
+ },
3855
+ /**
3856
+ * Watch SendersWhitelistUpdated events
3857
+ * @param callback Function to call when event is emitted
3858
+ * @param filter Optional filter for indexed parameters
3859
+ * @returns Unwatch function to stop listening
3860
+ */
3861
+ SendersWhitelistUpdated: (callback: (event: { newWhitelistAddr: `0x${string}` }) => void) => {
3862
+ return this.publicClient.watchContractEvent({
3863
+ address: this.contractAddress,
3864
+ abi: TokenizedVault_jsonAbi,
3865
+ eventName: 'SendersWhitelistUpdated',
3866
+
3867
+ onLogs: (logs: any[]) => {
3868
+ logs.forEach((log: any) => {
3869
+ callback(log.args as any);
3870
+ });
3871
+ },
3872
+ }) as () => void;
3873
+ },
3874
+ /**
3875
+ * Watch SubAccountDisabled events
3876
+ * @param callback Function to call when event is emitted
3877
+ * @param filter Optional filter for indexed parameters
3878
+ * @returns Unwatch function to stop listening
3879
+ */
3880
+ SubAccountDisabled: (callback: (event: { subAccountAddr: `0x${string}` }) => void) => {
3881
+ return this.publicClient.watchContractEvent({
3882
+ address: this.contractAddress,
3883
+ abi: TokenizedVault_jsonAbi,
3884
+ eventName: 'SubAccountDisabled',
3885
+
3886
+ onLogs: (logs: any[]) => {
3887
+ logs.forEach((log: any) => {
3888
+ callback(log.args as any);
3889
+ });
3890
+ },
3891
+ }) as () => void;
3892
+ },
3893
+ /**
3894
+ * Watch SubAccountEnabled events
3895
+ * @param callback Function to call when event is emitted
3896
+ * @param filter Optional filter for indexed parameters
3897
+ * @returns Unwatch function to stop listening
3898
+ */
3899
+ SubAccountEnabled: (callback: (event: { subAccountAddr: `0x${string}` }) => void) => {
3900
+ return this.publicClient.watchContractEvent({
3901
+ address: this.contractAddress,
3902
+ abi: TokenizedVault_jsonAbi,
3903
+ eventName: 'SubAccountEnabled',
3904
+
3905
+ onLogs: (logs: any[]) => {
3906
+ logs.forEach((log: any) => {
3907
+ callback(log.args as any);
3908
+ });
3909
+ },
3910
+ }) as () => void;
3911
+ },
3912
+ /**
3913
+ * Watch Withdraw events
3914
+ * @param callback Function to call when event is emitted
3915
+ * @param filter Optional filter for indexed parameters
3916
+ * @returns Unwatch function to stop listening
3917
+ */
3918
+ Withdraw: (callback: (event: { sender: `0x${string}`; receiver: `0x${string}`; owner: `0x${string}`; assets: bigint; shares: bigint }) => void, filter?: { sender: `0x${string}`; receiver: `0x${string}`; owner: `0x${string}` }) => {
3919
+ return this.publicClient.watchContractEvent({
3920
+ address: this.contractAddress,
3921
+ abi: TokenizedVault_jsonAbi,
3922
+ eventName: 'Withdraw',
3923
+ args: filter,
3924
+ onLogs: (logs: any[]) => {
3925
+ logs.forEach((log: any) => {
3926
+ callback(log.args as any);
3927
+ });
3928
+ },
3929
+ }) as () => void;
3930
+ },
3931
+ /**
3932
+ * Watch WithdrawalProcessed events
3933
+ * @param callback Function to call when event is emitted
3934
+ * @param filter Optional filter for indexed parameters
3935
+ * @returns Unwatch function to stop listening
3936
+ */
3937
+ WithdrawalProcessed: (callback: (event: { receiverAddr: `0x${string}`; assetsAmount: bigint }) => void, filter?: { receiverAddr: `0x${string}` }) => {
3938
+ return this.publicClient.watchContractEvent({
3939
+ address: this.contractAddress,
3940
+ abi: TokenizedVault_jsonAbi,
3941
+ eventName: 'WithdrawalProcessed',
3942
+ args: filter,
3943
+ onLogs: (logs: any[]) => {
3944
+ logs.forEach((log: any) => {
3945
+ callback(log.args as any);
3946
+ });
3947
+ },
3948
+ }) as () => void;
3949
+ },
3950
+ /**
3951
+ * Watch WithdrawalRequested events
3952
+ * @param callback Function to call when event is emitted
3953
+ * @param filter Optional filter for indexed parameters
3954
+ * @returns Unwatch function to stop listening
3955
+ */
3956
+ WithdrawalRequested: (callback: (event: { holderAddr: `0x${string}`; receiverAddr: `0x${string}`; shares: bigint }) => void, filter?: { holderAddr: `0x${string}`; receiverAddr: `0x${string}` }) => {
3957
+ return this.publicClient.watchContractEvent({
3958
+ address: this.contractAddress,
3959
+ abi: TokenizedVault_jsonAbi,
3960
+ eventName: 'WithdrawalRequested',
3961
+ args: filter,
3962
+ onLogs: (logs: any[]) => {
3963
+ logs.forEach((log: any) => {
3964
+ callback(log.args as any);
3965
+ });
3966
+ },
3967
+ }) as () => void;
3968
+ }
3969
+ };
3970
+ }
3971
+ }