@gitmyabi/vault 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,4687 @@
1
+ import type { Abi, Address, PublicClient, WalletClient, GetContractReturnType } from 'viem';
2
+ import { getContract } from 'viem';
3
+
4
+
5
+ /**
6
+ * IFeeDispatcher.FeeRecipient struct type
7
+ */
8
+ export type IFeeDispatcher_FeeRecipient = {
9
+ recipient: `0x${string}`;
10
+ depositFeeSplit: bigint;
11
+ rewardFeeSplit: bigint;
12
+ };
13
+
14
+ /**
15
+ * Vault.InitializationParams struct type
16
+ */
17
+ export type Vault_InitializationParams = {
18
+ asset_: `0x${string}`;
19
+ name_: string;
20
+ symbol_: string;
21
+ transferable_: boolean;
22
+ connectorRegistry_: `0x${string}`;
23
+ connectorName_: `0x${string}`;
24
+ depositFee_: bigint;
25
+ rewardFee_: bigint;
26
+ initialDefaultAdmin_: `0x${string}`;
27
+ initialFeeManager_: `0x${string}`;
28
+ initialSanctionsManager_: `0x${string}`;
29
+ initialClaimManager_: `0x${string}`;
30
+ initialPauser_: `0x${string}`;
31
+ initialUnpauser_: `0x${string}`;
32
+ initialDelay_: bigint;
33
+ offset_: bigint;
34
+ minTotalSupply_: bigint;
35
+ };
36
+
37
+ /**
38
+ * Vault.UpgradeParams struct type
39
+ */
40
+ export type Vault_UpgradeParams = {
41
+ recipients_: IFeeDispatcher_FeeRecipient[];
42
+ feeDispatcher_: `0x${string}`;
43
+ additionalRewardsStrategy_: bigint;
44
+ blockList_: `0x${string}`;
45
+ pendingDepositFee_: bigint;
46
+ pendingRewardFee_: bigint;
47
+ connectorRegistry_: `0x${string}`;
48
+ initialFeeCollector_: `0x${string}`;
49
+ };
50
+ /**
51
+ * Vault_json ABI
52
+ *
53
+ * This ABI is typed using viem's type system for full type safety.
54
+ */
55
+ export const Vault_jsonAbi = [
56
+ {
57
+ "inputs": [
58
+ {
59
+ "internalType": "address",
60
+ "name": "externalAccessControl_",
61
+ "type": "address"
62
+ },
63
+ {
64
+ "internalType": "address",
65
+ "name": "vaultFactory_",
66
+ "type": "address"
67
+ }
68
+ ],
69
+ "stateMutability": "nonpayable",
70
+ "type": "constructor"
71
+ },
72
+ {
73
+ "inputs": [],
74
+ "name": "AccessControlBadConfirmation",
75
+ "type": "error"
76
+ },
77
+ {
78
+ "inputs": [
79
+ {
80
+ "internalType": "uint48",
81
+ "name": "schedule",
82
+ "type": "uint48"
83
+ }
84
+ ],
85
+ "name": "AccessControlEnforcedDefaultAdminDelay",
86
+ "type": "error"
87
+ },
88
+ {
89
+ "inputs": [],
90
+ "name": "AccessControlEnforcedDefaultAdminRules",
91
+ "type": "error"
92
+ },
93
+ {
94
+ "inputs": [
95
+ {
96
+ "internalType": "address",
97
+ "name": "defaultAdmin",
98
+ "type": "address"
99
+ }
100
+ ],
101
+ "name": "AccessControlInvalidDefaultAdmin",
102
+ "type": "error"
103
+ },
104
+ {
105
+ "inputs": [
106
+ {
107
+ "internalType": "address",
108
+ "name": "account",
109
+ "type": "address"
110
+ },
111
+ {
112
+ "internalType": "bytes32",
113
+ "name": "neededRole",
114
+ "type": "bytes32"
115
+ }
116
+ ],
117
+ "name": "AccessControlUnauthorizedAccount",
118
+ "type": "error"
119
+ },
120
+ {
121
+ "inputs": [
122
+ {
123
+ "internalType": "address",
124
+ "name": "addr",
125
+ "type": "address"
126
+ }
127
+ ],
128
+ "name": "AddressBlocked",
129
+ "type": "error"
130
+ },
131
+ {
132
+ "inputs": [
133
+ {
134
+ "internalType": "address",
135
+ "name": "target",
136
+ "type": "address"
137
+ }
138
+ ],
139
+ "name": "AddressEmptyCode",
140
+ "type": "error"
141
+ },
142
+ {
143
+ "inputs": [
144
+ {
145
+ "internalType": "address",
146
+ "name": "account",
147
+ "type": "address"
148
+ }
149
+ ],
150
+ "name": "AddressInsufficientBalance",
151
+ "type": "error"
152
+ },
153
+ {
154
+ "inputs": [
155
+ {
156
+ "internalType": "address",
157
+ "name": "addr",
158
+ "type": "address"
159
+ }
160
+ ],
161
+ "name": "AddressNotContract",
162
+ "type": "error"
163
+ },
164
+ {
165
+ "inputs": [
166
+ {
167
+ "internalType": "address",
168
+ "name": "addr",
169
+ "type": "address"
170
+ }
171
+ ],
172
+ "name": "AddressNotInternallySanctionedOnly",
173
+ "type": "error"
174
+ },
175
+ {
176
+ "inputs": [],
177
+ "name": "AmountZero",
178
+ "type": "error"
179
+ },
180
+ {
181
+ "inputs": [],
182
+ "name": "DepositPaused",
183
+ "type": "error"
184
+ },
185
+ {
186
+ "inputs": [
187
+ {
188
+ "internalType": "address",
189
+ "name": "spender",
190
+ "type": "address"
191
+ },
192
+ {
193
+ "internalType": "uint256",
194
+ "name": "allowance",
195
+ "type": "uint256"
196
+ },
197
+ {
198
+ "internalType": "uint256",
199
+ "name": "needed",
200
+ "type": "uint256"
201
+ }
202
+ ],
203
+ "name": "ERC20InsufficientAllowance",
204
+ "type": "error"
205
+ },
206
+ {
207
+ "inputs": [
208
+ {
209
+ "internalType": "address",
210
+ "name": "sender",
211
+ "type": "address"
212
+ },
213
+ {
214
+ "internalType": "uint256",
215
+ "name": "balance",
216
+ "type": "uint256"
217
+ },
218
+ {
219
+ "internalType": "uint256",
220
+ "name": "needed",
221
+ "type": "uint256"
222
+ }
223
+ ],
224
+ "name": "ERC20InsufficientBalance",
225
+ "type": "error"
226
+ },
227
+ {
228
+ "inputs": [
229
+ {
230
+ "internalType": "address",
231
+ "name": "approver",
232
+ "type": "address"
233
+ }
234
+ ],
235
+ "name": "ERC20InvalidApprover",
236
+ "type": "error"
237
+ },
238
+ {
239
+ "inputs": [
240
+ {
241
+ "internalType": "address",
242
+ "name": "receiver",
243
+ "type": "address"
244
+ }
245
+ ],
246
+ "name": "ERC20InvalidReceiver",
247
+ "type": "error"
248
+ },
249
+ {
250
+ "inputs": [
251
+ {
252
+ "internalType": "address",
253
+ "name": "sender",
254
+ "type": "address"
255
+ }
256
+ ],
257
+ "name": "ERC20InvalidSender",
258
+ "type": "error"
259
+ },
260
+ {
261
+ "inputs": [
262
+ {
263
+ "internalType": "address",
264
+ "name": "spender",
265
+ "type": "address"
266
+ }
267
+ ],
268
+ "name": "ERC20InvalidSpender",
269
+ "type": "error"
270
+ },
271
+ {
272
+ "inputs": [
273
+ {
274
+ "internalType": "address",
275
+ "name": "receiver",
276
+ "type": "address"
277
+ },
278
+ {
279
+ "internalType": "uint256",
280
+ "name": "assets",
281
+ "type": "uint256"
282
+ },
283
+ {
284
+ "internalType": "uint256",
285
+ "name": "max",
286
+ "type": "uint256"
287
+ }
288
+ ],
289
+ "name": "ERC4626ExceededMaxDeposit",
290
+ "type": "error"
291
+ },
292
+ {
293
+ "inputs": [
294
+ {
295
+ "internalType": "address",
296
+ "name": "receiver",
297
+ "type": "address"
298
+ },
299
+ {
300
+ "internalType": "uint256",
301
+ "name": "shares",
302
+ "type": "uint256"
303
+ },
304
+ {
305
+ "internalType": "uint256",
306
+ "name": "max",
307
+ "type": "uint256"
308
+ }
309
+ ],
310
+ "name": "ERC4626ExceededMaxMint",
311
+ "type": "error"
312
+ },
313
+ {
314
+ "inputs": [
315
+ {
316
+ "internalType": "address",
317
+ "name": "owner",
318
+ "type": "address"
319
+ },
320
+ {
321
+ "internalType": "uint256",
322
+ "name": "shares",
323
+ "type": "uint256"
324
+ },
325
+ {
326
+ "internalType": "uint256",
327
+ "name": "max",
328
+ "type": "uint256"
329
+ }
330
+ ],
331
+ "name": "ERC4626ExceededMaxRedeem",
332
+ "type": "error"
333
+ },
334
+ {
335
+ "inputs": [
336
+ {
337
+ "internalType": "address",
338
+ "name": "owner",
339
+ "type": "address"
340
+ },
341
+ {
342
+ "internalType": "uint256",
343
+ "name": "assets",
344
+ "type": "uint256"
345
+ },
346
+ {
347
+ "internalType": "uint256",
348
+ "name": "max",
349
+ "type": "uint256"
350
+ }
351
+ ],
352
+ "name": "ERC4626ExceededMaxWithdraw",
353
+ "type": "error"
354
+ },
355
+ {
356
+ "inputs": [],
357
+ "name": "FailedInnerCall",
358
+ "type": "error"
359
+ },
360
+ {
361
+ "inputs": [],
362
+ "name": "InsufficientLiquidity",
363
+ "type": "error"
364
+ },
365
+ {
366
+ "inputs": [
367
+ {
368
+ "internalType": "bytes32",
369
+ "name": "name",
370
+ "type": "bytes32"
371
+ }
372
+ ],
373
+ "name": "InvalidConnectorName",
374
+ "type": "error"
375
+ },
376
+ {
377
+ "inputs": [],
378
+ "name": "InvalidInitialization",
379
+ "type": "error"
380
+ },
381
+ {
382
+ "inputs": [],
383
+ "name": "MathOverflowedMulDiv",
384
+ "type": "error"
385
+ },
386
+ {
387
+ "inputs": [],
388
+ "name": "MinimumTotalSupplyNotReached",
389
+ "type": "error"
390
+ },
391
+ {
392
+ "inputs": [],
393
+ "name": "NoAdditionalRewardsClaimed",
394
+ "type": "error"
395
+ },
396
+ {
397
+ "inputs": [],
398
+ "name": "NoAdditionalRewardsStrategy",
399
+ "type": "error"
400
+ },
401
+ {
402
+ "inputs": [
403
+ {
404
+ "internalType": "address",
405
+ "name": "addr",
406
+ "type": "address"
407
+ }
408
+ ],
409
+ "name": "NotConfiguredFactory",
410
+ "type": "error"
411
+ },
412
+ {
413
+ "inputs": [],
414
+ "name": "NotInitializing",
415
+ "type": "error"
416
+ },
417
+ {
418
+ "inputs": [],
419
+ "name": "NotTransferable",
420
+ "type": "error"
421
+ },
422
+ {
423
+ "inputs": [],
424
+ "name": "NothingToCollect",
425
+ "type": "error"
426
+ },
427
+ {
428
+ "inputs": [
429
+ {
430
+ "internalType": "uint8",
431
+ "name": "offset",
432
+ "type": "uint8"
433
+ }
434
+ ],
435
+ "name": "OffsetTooHigh",
436
+ "type": "error"
437
+ },
438
+ {
439
+ "inputs": [],
440
+ "name": "PreviewZero",
441
+ "type": "error"
442
+ },
443
+ {
444
+ "inputs": [],
445
+ "name": "ReentrancyGuardReentrantCall",
446
+ "type": "error"
447
+ },
448
+ {
449
+ "inputs": [
450
+ {
451
+ "internalType": "uint256",
452
+ "name": "shares",
453
+ "type": "uint256"
454
+ }
455
+ ],
456
+ "name": "RemainderNotZero",
457
+ "type": "error"
458
+ },
459
+ {
460
+ "inputs": [
461
+ {
462
+ "internalType": "uint8",
463
+ "name": "bits",
464
+ "type": "uint8"
465
+ },
466
+ {
467
+ "internalType": "uint256",
468
+ "name": "value",
469
+ "type": "uint256"
470
+ }
471
+ ],
472
+ "name": "SafeCastOverflowedUintDowncast",
473
+ "type": "error"
474
+ },
475
+ {
476
+ "inputs": [
477
+ {
478
+ "internalType": "address",
479
+ "name": "token",
480
+ "type": "address"
481
+ }
482
+ ],
483
+ "name": "SafeERC20FailedOperation",
484
+ "type": "error"
485
+ },
486
+ {
487
+ "inputs": [
488
+ {
489
+ "internalType": "uint256",
490
+ "name": "totalAssets",
491
+ "type": "uint256"
492
+ },
493
+ {
494
+ "internalType": "uint256",
495
+ "name": "newTotalAssets",
496
+ "type": "uint256"
497
+ }
498
+ ],
499
+ "name": "TotalAssetsDecreased",
500
+ "type": "error"
501
+ },
502
+ {
503
+ "inputs": [
504
+ {
505
+ "internalType": "uint256",
506
+ "name": "depositFee",
507
+ "type": "uint256"
508
+ }
509
+ ],
510
+ "name": "WrongDepositFee",
511
+ "type": "error"
512
+ },
513
+ {
514
+ "inputs": [
515
+ {
516
+ "internalType": "uint256",
517
+ "name": "rewardFee",
518
+ "type": "uint256"
519
+ }
520
+ ],
521
+ "name": "WrongRewardFee",
522
+ "type": "error"
523
+ },
524
+ {
525
+ "anonymous": false,
526
+ "inputs": [
527
+ {
528
+ "indexed": false,
529
+ "internalType": "enum Vault.AdditionalRewardsStrategy",
530
+ "name": "newAdditionalRewardsStrategy",
531
+ "type": "uint8"
532
+ }
533
+ ],
534
+ "name": "AdditionalRewardsStrategyUpdated",
535
+ "type": "event"
536
+ },
537
+ {
538
+ "anonymous": false,
539
+ "inputs": [
540
+ {
541
+ "indexed": true,
542
+ "internalType": "address",
543
+ "name": "owner",
544
+ "type": "address"
545
+ },
546
+ {
547
+ "indexed": true,
548
+ "internalType": "address",
549
+ "name": "spender",
550
+ "type": "address"
551
+ },
552
+ {
553
+ "indexed": false,
554
+ "internalType": "uint256",
555
+ "name": "value",
556
+ "type": "uint256"
557
+ }
558
+ ],
559
+ "name": "Approval",
560
+ "type": "event"
561
+ },
562
+ {
563
+ "anonymous": false,
564
+ "inputs": [
565
+ {
566
+ "indexed": false,
567
+ "internalType": "contract IERC20",
568
+ "name": "asset",
569
+ "type": "address"
570
+ }
571
+ ],
572
+ "name": "AssetInitialized",
573
+ "type": "event"
574
+ },
575
+ {
576
+ "anonymous": false,
577
+ "inputs": [
578
+ {
579
+ "indexed": false,
580
+ "internalType": "contract BlockList",
581
+ "name": "newBlockList",
582
+ "type": "address"
583
+ }
584
+ ],
585
+ "name": "BlockListUpdated",
586
+ "type": "event"
587
+ },
588
+ {
589
+ "anonymous": false,
590
+ "inputs": [
591
+ {
592
+ "indexed": false,
593
+ "internalType": "bytes32",
594
+ "name": "newConnectorName",
595
+ "type": "bytes32"
596
+ }
597
+ ],
598
+ "name": "ConnectorNameUpdated",
599
+ "type": "event"
600
+ },
601
+ {
602
+ "anonymous": false,
603
+ "inputs": [
604
+ {
605
+ "indexed": false,
606
+ "internalType": "contract IConnectorRegistry",
607
+ "name": "newConnectorRegistry",
608
+ "type": "address"
609
+ }
610
+ ],
611
+ "name": "ConnectorRegistryUpdated",
612
+ "type": "event"
613
+ },
614
+ {
615
+ "anonymous": false,
616
+ "inputs": [],
617
+ "name": "DefaultAdminDelayChangeCanceled",
618
+ "type": "event"
619
+ },
620
+ {
621
+ "anonymous": false,
622
+ "inputs": [
623
+ {
624
+ "indexed": false,
625
+ "internalType": "uint48",
626
+ "name": "newDelay",
627
+ "type": "uint48"
628
+ },
629
+ {
630
+ "indexed": false,
631
+ "internalType": "uint48",
632
+ "name": "effectSchedule",
633
+ "type": "uint48"
634
+ }
635
+ ],
636
+ "name": "DefaultAdminDelayChangeScheduled",
637
+ "type": "event"
638
+ },
639
+ {
640
+ "anonymous": false,
641
+ "inputs": [],
642
+ "name": "DefaultAdminTransferCanceled",
643
+ "type": "event"
644
+ },
645
+ {
646
+ "anonymous": false,
647
+ "inputs": [
648
+ {
649
+ "indexed": true,
650
+ "internalType": "address",
651
+ "name": "newAdmin",
652
+ "type": "address"
653
+ },
654
+ {
655
+ "indexed": false,
656
+ "internalType": "uint48",
657
+ "name": "acceptSchedule",
658
+ "type": "uint48"
659
+ }
660
+ ],
661
+ "name": "DefaultAdminTransferScheduled",
662
+ "type": "event"
663
+ },
664
+ {
665
+ "anonymous": false,
666
+ "inputs": [
667
+ {
668
+ "indexed": true,
669
+ "internalType": "address",
670
+ "name": "sender",
671
+ "type": "address"
672
+ },
673
+ {
674
+ "indexed": true,
675
+ "internalType": "address",
676
+ "name": "owner",
677
+ "type": "address"
678
+ },
679
+ {
680
+ "indexed": false,
681
+ "internalType": "uint256",
682
+ "name": "assets",
683
+ "type": "uint256"
684
+ },
685
+ {
686
+ "indexed": false,
687
+ "internalType": "uint256",
688
+ "name": "shares",
689
+ "type": "uint256"
690
+ }
691
+ ],
692
+ "name": "Deposit",
693
+ "type": "event"
694
+ },
695
+ {
696
+ "anonymous": false,
697
+ "inputs": [
698
+ {
699
+ "indexed": false,
700
+ "internalType": "uint256",
701
+ "name": "newDepositFee",
702
+ "type": "uint256"
703
+ }
704
+ ],
705
+ "name": "DepositFeeUpdated",
706
+ "type": "event"
707
+ },
708
+ {
709
+ "anonymous": false,
710
+ "inputs": [
711
+ {
712
+ "indexed": false,
713
+ "internalType": "address",
714
+ "name": "feeDispatcher",
715
+ "type": "address"
716
+ }
717
+ ],
718
+ "name": "FeeDispatcherInitialized",
719
+ "type": "event"
720
+ },
721
+ {
722
+ "anonymous": false,
723
+ "inputs": [
724
+ {
725
+ "indexed": false,
726
+ "internalType": "uint64",
727
+ "name": "version",
728
+ "type": "uint64"
729
+ }
730
+ ],
731
+ "name": "Initialized",
732
+ "type": "event"
733
+ },
734
+ {
735
+ "anonymous": false,
736
+ "inputs": [
737
+ {
738
+ "indexed": false,
739
+ "internalType": "uint256",
740
+ "name": "newMinTotalSupply",
741
+ "type": "uint256"
742
+ }
743
+ ],
744
+ "name": "MinTotalSupplyInitialized",
745
+ "type": "event"
746
+ },
747
+ {
748
+ "anonymous": false,
749
+ "inputs": [
750
+ {
751
+ "indexed": false,
752
+ "internalType": "string",
753
+ "name": "name",
754
+ "type": "string"
755
+ }
756
+ ],
757
+ "name": "NameInitialized",
758
+ "type": "event"
759
+ },
760
+ {
761
+ "anonymous": false,
762
+ "inputs": [
763
+ {
764
+ "indexed": false,
765
+ "internalType": "uint8",
766
+ "name": "offset",
767
+ "type": "uint8"
768
+ }
769
+ ],
770
+ "name": "OffsetInitialized",
771
+ "type": "event"
772
+ },
773
+ {
774
+ "anonymous": false,
775
+ "inputs": [
776
+ {
777
+ "indexed": false,
778
+ "internalType": "uint256",
779
+ "name": "newRewardFee",
780
+ "type": "uint256"
781
+ }
782
+ ],
783
+ "name": "RewardFeeUpdated",
784
+ "type": "event"
785
+ },
786
+ {
787
+ "anonymous": false,
788
+ "inputs": [
789
+ {
790
+ "indexed": true,
791
+ "internalType": "address",
792
+ "name": "rewardsAsset",
793
+ "type": "address"
794
+ },
795
+ {
796
+ "indexed": false,
797
+ "internalType": "uint256",
798
+ "name": "amount",
799
+ "type": "uint256"
800
+ }
801
+ ],
802
+ "name": "RewardsClaimed",
803
+ "type": "event"
804
+ },
805
+ {
806
+ "anonymous": false,
807
+ "inputs": [
808
+ {
809
+ "indexed": true,
810
+ "internalType": "bytes32",
811
+ "name": "role",
812
+ "type": "bytes32"
813
+ },
814
+ {
815
+ "indexed": true,
816
+ "internalType": "bytes32",
817
+ "name": "previousAdminRole",
818
+ "type": "bytes32"
819
+ },
820
+ {
821
+ "indexed": true,
822
+ "internalType": "bytes32",
823
+ "name": "newAdminRole",
824
+ "type": "bytes32"
825
+ }
826
+ ],
827
+ "name": "RoleAdminChanged",
828
+ "type": "event"
829
+ },
830
+ {
831
+ "anonymous": false,
832
+ "inputs": [
833
+ {
834
+ "indexed": true,
835
+ "internalType": "bytes32",
836
+ "name": "role",
837
+ "type": "bytes32"
838
+ },
839
+ {
840
+ "indexed": true,
841
+ "internalType": "address",
842
+ "name": "account",
843
+ "type": "address"
844
+ },
845
+ {
846
+ "indexed": true,
847
+ "internalType": "address",
848
+ "name": "sender",
849
+ "type": "address"
850
+ }
851
+ ],
852
+ "name": "RoleGranted",
853
+ "type": "event"
854
+ },
855
+ {
856
+ "anonymous": false,
857
+ "inputs": [
858
+ {
859
+ "indexed": true,
860
+ "internalType": "bytes32",
861
+ "name": "role",
862
+ "type": "bytes32"
863
+ },
864
+ {
865
+ "indexed": true,
866
+ "internalType": "address",
867
+ "name": "account",
868
+ "type": "address"
869
+ },
870
+ {
871
+ "indexed": true,
872
+ "internalType": "address",
873
+ "name": "sender",
874
+ "type": "address"
875
+ }
876
+ ],
877
+ "name": "RoleRevoked",
878
+ "type": "event"
879
+ },
880
+ {
881
+ "anonymous": false,
882
+ "inputs": [
883
+ {
884
+ "indexed": false,
885
+ "internalType": "string",
886
+ "name": "symbol",
887
+ "type": "string"
888
+ }
889
+ ],
890
+ "name": "SymbolInitialized",
891
+ "type": "event"
892
+ },
893
+ {
894
+ "anonymous": false,
895
+ "inputs": [
896
+ {
897
+ "indexed": true,
898
+ "internalType": "address",
899
+ "name": "from",
900
+ "type": "address"
901
+ },
902
+ {
903
+ "indexed": true,
904
+ "internalType": "address",
905
+ "name": "to",
906
+ "type": "address"
907
+ },
908
+ {
909
+ "indexed": false,
910
+ "internalType": "uint256",
911
+ "name": "value",
912
+ "type": "uint256"
913
+ }
914
+ ],
915
+ "name": "Transfer",
916
+ "type": "event"
917
+ },
918
+ {
919
+ "anonymous": false,
920
+ "inputs": [
921
+ {
922
+ "indexed": false,
923
+ "internalType": "bool",
924
+ "name": "newTransferableFlag",
925
+ "type": "bool"
926
+ }
927
+ ],
928
+ "name": "TransferableUpdated",
929
+ "type": "event"
930
+ },
931
+ {
932
+ "anonymous": false,
933
+ "inputs": [
934
+ {
935
+ "indexed": true,
936
+ "internalType": "address",
937
+ "name": "sender",
938
+ "type": "address"
939
+ },
940
+ {
941
+ "indexed": true,
942
+ "internalType": "address",
943
+ "name": "receiver",
944
+ "type": "address"
945
+ },
946
+ {
947
+ "indexed": true,
948
+ "internalType": "address",
949
+ "name": "owner",
950
+ "type": "address"
951
+ },
952
+ {
953
+ "indexed": false,
954
+ "internalType": "uint256",
955
+ "name": "assets",
956
+ "type": "uint256"
957
+ },
958
+ {
959
+ "indexed": false,
960
+ "internalType": "uint256",
961
+ "name": "shares",
962
+ "type": "uint256"
963
+ }
964
+ ],
965
+ "name": "Withdraw",
966
+ "type": "event"
967
+ },
968
+ {
969
+ "inputs": [],
970
+ "name": "CLAIM_MANAGER_ROLE",
971
+ "outputs": [
972
+ {
973
+ "internalType": "bytes32",
974
+ "name": "",
975
+ "type": "bytes32"
976
+ }
977
+ ],
978
+ "stateMutability": "view",
979
+ "type": "function"
980
+ },
981
+ {
982
+ "inputs": [],
983
+ "name": "DEFAULT_ADMIN_ROLE",
984
+ "outputs": [
985
+ {
986
+ "internalType": "bytes32",
987
+ "name": "",
988
+ "type": "bytes32"
989
+ }
990
+ ],
991
+ "stateMutability": "view",
992
+ "type": "function"
993
+ },
994
+ {
995
+ "inputs": [],
996
+ "name": "FEE_COLLECTOR_ROLE",
997
+ "outputs": [
998
+ {
999
+ "internalType": "bytes32",
1000
+ "name": "",
1001
+ "type": "bytes32"
1002
+ }
1003
+ ],
1004
+ "stateMutability": "view",
1005
+ "type": "function"
1006
+ },
1007
+ {
1008
+ "inputs": [],
1009
+ "name": "FEE_MANAGER_ROLE",
1010
+ "outputs": [
1011
+ {
1012
+ "internalType": "bytes32",
1013
+ "name": "",
1014
+ "type": "bytes32"
1015
+ }
1016
+ ],
1017
+ "stateMutability": "view",
1018
+ "type": "function"
1019
+ },
1020
+ {
1021
+ "inputs": [],
1022
+ "name": "PAUSER_ROLE",
1023
+ "outputs": [
1024
+ {
1025
+ "internalType": "bytes32",
1026
+ "name": "",
1027
+ "type": "bytes32"
1028
+ }
1029
+ ],
1030
+ "stateMutability": "view",
1031
+ "type": "function"
1032
+ },
1033
+ {
1034
+ "inputs": [],
1035
+ "name": "SANCTIONS_MANAGER_ROLE",
1036
+ "outputs": [
1037
+ {
1038
+ "internalType": "bytes32",
1039
+ "name": "",
1040
+ "type": "bytes32"
1041
+ }
1042
+ ],
1043
+ "stateMutability": "view",
1044
+ "type": "function"
1045
+ },
1046
+ {
1047
+ "inputs": [],
1048
+ "name": "SPENDER_ROLE",
1049
+ "outputs": [
1050
+ {
1051
+ "internalType": "bytes32",
1052
+ "name": "",
1053
+ "type": "bytes32"
1054
+ }
1055
+ ],
1056
+ "stateMutability": "view",
1057
+ "type": "function"
1058
+ },
1059
+ {
1060
+ "inputs": [],
1061
+ "name": "UNPAUSER_ROLE",
1062
+ "outputs": [
1063
+ {
1064
+ "internalType": "bytes32",
1065
+ "name": "",
1066
+ "type": "bytes32"
1067
+ }
1068
+ ],
1069
+ "stateMutability": "view",
1070
+ "type": "function"
1071
+ },
1072
+ {
1073
+ "inputs": [],
1074
+ "name": "acceptDefaultAdminTransfer",
1075
+ "outputs": [],
1076
+ "stateMutability": "nonpayable",
1077
+ "type": "function"
1078
+ },
1079
+ {
1080
+ "inputs": [],
1081
+ "name": "additionalRewardsStrategy",
1082
+ "outputs": [
1083
+ {
1084
+ "internalType": "enum Vault.AdditionalRewardsStrategy",
1085
+ "name": "",
1086
+ "type": "uint8"
1087
+ }
1088
+ ],
1089
+ "stateMutability": "view",
1090
+ "type": "function"
1091
+ },
1092
+ {
1093
+ "inputs": [
1094
+ {
1095
+ "internalType": "address",
1096
+ "name": "owner",
1097
+ "type": "address"
1098
+ },
1099
+ {
1100
+ "internalType": "address",
1101
+ "name": "spender",
1102
+ "type": "address"
1103
+ }
1104
+ ],
1105
+ "name": "allowance",
1106
+ "outputs": [
1107
+ {
1108
+ "internalType": "uint256",
1109
+ "name": "",
1110
+ "type": "uint256"
1111
+ }
1112
+ ],
1113
+ "stateMutability": "view",
1114
+ "type": "function"
1115
+ },
1116
+ {
1117
+ "inputs": [
1118
+ {
1119
+ "internalType": "address",
1120
+ "name": "spender",
1121
+ "type": "address"
1122
+ },
1123
+ {
1124
+ "internalType": "uint256",
1125
+ "name": "value",
1126
+ "type": "uint256"
1127
+ }
1128
+ ],
1129
+ "name": "approve",
1130
+ "outputs": [
1131
+ {
1132
+ "internalType": "bool",
1133
+ "name": "",
1134
+ "type": "bool"
1135
+ }
1136
+ ],
1137
+ "stateMutability": "nonpayable",
1138
+ "type": "function"
1139
+ },
1140
+ {
1141
+ "inputs": [],
1142
+ "name": "asset",
1143
+ "outputs": [
1144
+ {
1145
+ "internalType": "address",
1146
+ "name": "",
1147
+ "type": "address"
1148
+ }
1149
+ ],
1150
+ "stateMutability": "view",
1151
+ "type": "function"
1152
+ },
1153
+ {
1154
+ "inputs": [
1155
+ {
1156
+ "internalType": "address",
1157
+ "name": "account",
1158
+ "type": "address"
1159
+ }
1160
+ ],
1161
+ "name": "balanceOf",
1162
+ "outputs": [
1163
+ {
1164
+ "internalType": "uint256",
1165
+ "name": "",
1166
+ "type": "uint256"
1167
+ }
1168
+ ],
1169
+ "stateMutability": "view",
1170
+ "type": "function"
1171
+ },
1172
+ {
1173
+ "inputs": [
1174
+ {
1175
+ "internalType": "address",
1176
+ "name": "newAdmin",
1177
+ "type": "address"
1178
+ }
1179
+ ],
1180
+ "name": "beginDefaultAdminTransfer",
1181
+ "outputs": [],
1182
+ "stateMutability": "nonpayable",
1183
+ "type": "function"
1184
+ },
1185
+ {
1186
+ "inputs": [],
1187
+ "name": "blockList",
1188
+ "outputs": [
1189
+ {
1190
+ "internalType": "contract BlockList",
1191
+ "name": "",
1192
+ "type": "address"
1193
+ }
1194
+ ],
1195
+ "stateMutability": "view",
1196
+ "type": "function"
1197
+ },
1198
+ {
1199
+ "inputs": [],
1200
+ "name": "cancelDefaultAdminTransfer",
1201
+ "outputs": [],
1202
+ "stateMutability": "nonpayable",
1203
+ "type": "function"
1204
+ },
1205
+ {
1206
+ "inputs": [
1207
+ {
1208
+ "internalType": "uint48",
1209
+ "name": "newDelay",
1210
+ "type": "uint48"
1211
+ }
1212
+ ],
1213
+ "name": "changeDefaultAdminDelay",
1214
+ "outputs": [],
1215
+ "stateMutability": "nonpayable",
1216
+ "type": "function"
1217
+ },
1218
+ {
1219
+ "inputs": [
1220
+ {
1221
+ "internalType": "address",
1222
+ "name": "rewardsAsset",
1223
+ "type": "address"
1224
+ },
1225
+ {
1226
+ "internalType": "bytes",
1227
+ "name": "payload",
1228
+ "type": "bytes"
1229
+ }
1230
+ ],
1231
+ "name": "claimAdditionalRewards",
1232
+ "outputs": [],
1233
+ "stateMutability": "nonpayable",
1234
+ "type": "function"
1235
+ },
1236
+ {
1237
+ "inputs": [],
1238
+ "name": "collectRewardFees",
1239
+ "outputs": [],
1240
+ "stateMutability": "nonpayable",
1241
+ "type": "function"
1242
+ },
1243
+ {
1244
+ "inputs": [],
1245
+ "name": "collectableRewardFees",
1246
+ "outputs": [
1247
+ {
1248
+ "internalType": "uint256",
1249
+ "name": "",
1250
+ "type": "uint256"
1251
+ }
1252
+ ],
1253
+ "stateMutability": "view",
1254
+ "type": "function"
1255
+ },
1256
+ {
1257
+ "inputs": [],
1258
+ "name": "connectorName",
1259
+ "outputs": [
1260
+ {
1261
+ "internalType": "bytes32",
1262
+ "name": "",
1263
+ "type": "bytes32"
1264
+ }
1265
+ ],
1266
+ "stateMutability": "view",
1267
+ "type": "function"
1268
+ },
1269
+ {
1270
+ "inputs": [],
1271
+ "name": "connectorRegistry",
1272
+ "outputs": [
1273
+ {
1274
+ "internalType": "contract IConnectorRegistry",
1275
+ "name": "",
1276
+ "type": "address"
1277
+ }
1278
+ ],
1279
+ "stateMutability": "view",
1280
+ "type": "function"
1281
+ },
1282
+ {
1283
+ "inputs": [
1284
+ {
1285
+ "internalType": "uint256",
1286
+ "name": "shares",
1287
+ "type": "uint256"
1288
+ }
1289
+ ],
1290
+ "name": "convertToAssets",
1291
+ "outputs": [
1292
+ {
1293
+ "internalType": "uint256",
1294
+ "name": "",
1295
+ "type": "uint256"
1296
+ }
1297
+ ],
1298
+ "stateMutability": "view",
1299
+ "type": "function"
1300
+ },
1301
+ {
1302
+ "inputs": [
1303
+ {
1304
+ "internalType": "uint256",
1305
+ "name": "assets",
1306
+ "type": "uint256"
1307
+ }
1308
+ ],
1309
+ "name": "convertToShares",
1310
+ "outputs": [
1311
+ {
1312
+ "internalType": "uint256",
1313
+ "name": "",
1314
+ "type": "uint256"
1315
+ }
1316
+ ],
1317
+ "stateMutability": "view",
1318
+ "type": "function"
1319
+ },
1320
+ {
1321
+ "inputs": [],
1322
+ "name": "decimals",
1323
+ "outputs": [
1324
+ {
1325
+ "internalType": "uint8",
1326
+ "name": "",
1327
+ "type": "uint8"
1328
+ }
1329
+ ],
1330
+ "stateMutability": "view",
1331
+ "type": "function"
1332
+ },
1333
+ {
1334
+ "inputs": [],
1335
+ "name": "defaultAdmin",
1336
+ "outputs": [
1337
+ {
1338
+ "internalType": "address",
1339
+ "name": "",
1340
+ "type": "address"
1341
+ }
1342
+ ],
1343
+ "stateMutability": "view",
1344
+ "type": "function"
1345
+ },
1346
+ {
1347
+ "inputs": [],
1348
+ "name": "defaultAdminDelay",
1349
+ "outputs": [
1350
+ {
1351
+ "internalType": "uint48",
1352
+ "name": "",
1353
+ "type": "uint48"
1354
+ }
1355
+ ],
1356
+ "stateMutability": "view",
1357
+ "type": "function"
1358
+ },
1359
+ {
1360
+ "inputs": [],
1361
+ "name": "defaultAdminDelayIncreaseWait",
1362
+ "outputs": [
1363
+ {
1364
+ "internalType": "uint48",
1365
+ "name": "",
1366
+ "type": "uint48"
1367
+ }
1368
+ ],
1369
+ "stateMutability": "view",
1370
+ "type": "function"
1371
+ },
1372
+ {
1373
+ "inputs": [
1374
+ {
1375
+ "internalType": "bytes",
1376
+ "name": "data",
1377
+ "type": "bytes"
1378
+ }
1379
+ ],
1380
+ "name": "delegateToFactory",
1381
+ "outputs": [
1382
+ {
1383
+ "internalType": "bytes",
1384
+ "name": "",
1385
+ "type": "bytes"
1386
+ }
1387
+ ],
1388
+ "stateMutability": "nonpayable",
1389
+ "type": "function"
1390
+ },
1391
+ {
1392
+ "inputs": [
1393
+ {
1394
+ "internalType": "uint256",
1395
+ "name": "assets",
1396
+ "type": "uint256"
1397
+ },
1398
+ {
1399
+ "internalType": "address",
1400
+ "name": "receiver",
1401
+ "type": "address"
1402
+ }
1403
+ ],
1404
+ "name": "deposit",
1405
+ "outputs": [
1406
+ {
1407
+ "internalType": "uint256",
1408
+ "name": "",
1409
+ "type": "uint256"
1410
+ }
1411
+ ],
1412
+ "stateMutability": "nonpayable",
1413
+ "type": "function"
1414
+ },
1415
+ {
1416
+ "inputs": [],
1417
+ "name": "depositFee",
1418
+ "outputs": [
1419
+ {
1420
+ "internalType": "uint256",
1421
+ "name": "",
1422
+ "type": "uint256"
1423
+ }
1424
+ ],
1425
+ "stateMutability": "view",
1426
+ "type": "function"
1427
+ },
1428
+ {
1429
+ "inputs": [],
1430
+ "name": "dispatchFees",
1431
+ "outputs": [],
1432
+ "stateMutability": "nonpayable",
1433
+ "type": "function"
1434
+ },
1435
+ {
1436
+ "inputs": [
1437
+ {
1438
+ "internalType": "address",
1439
+ "name": "recipient",
1440
+ "type": "address"
1441
+ }
1442
+ ],
1443
+ "name": "feeRecipient",
1444
+ "outputs": [
1445
+ {
1446
+ "components": [
1447
+ {
1448
+ "internalType": "address",
1449
+ "name": "recipient",
1450
+ "type": "address"
1451
+ },
1452
+ {
1453
+ "internalType": "uint256",
1454
+ "name": "depositFeeSplit",
1455
+ "type": "uint256"
1456
+ },
1457
+ {
1458
+ "internalType": "uint256",
1459
+ "name": "rewardFeeSplit",
1460
+ "type": "uint256"
1461
+ }
1462
+ ],
1463
+ "internalType": "struct IFeeDispatcher.FeeRecipient",
1464
+ "name": "",
1465
+ "type": "tuple"
1466
+ }
1467
+ ],
1468
+ "stateMutability": "view",
1469
+ "type": "function"
1470
+ },
1471
+ {
1472
+ "inputs": [
1473
+ {
1474
+ "internalType": "uint256",
1475
+ "name": "index",
1476
+ "type": "uint256"
1477
+ }
1478
+ ],
1479
+ "name": "feeRecipientAt",
1480
+ "outputs": [
1481
+ {
1482
+ "components": [
1483
+ {
1484
+ "internalType": "address",
1485
+ "name": "recipient",
1486
+ "type": "address"
1487
+ },
1488
+ {
1489
+ "internalType": "uint256",
1490
+ "name": "depositFeeSplit",
1491
+ "type": "uint256"
1492
+ },
1493
+ {
1494
+ "internalType": "uint256",
1495
+ "name": "rewardFeeSplit",
1496
+ "type": "uint256"
1497
+ }
1498
+ ],
1499
+ "internalType": "struct IFeeDispatcher.FeeRecipient",
1500
+ "name": "",
1501
+ "type": "tuple"
1502
+ }
1503
+ ],
1504
+ "stateMutability": "view",
1505
+ "type": "function"
1506
+ },
1507
+ {
1508
+ "inputs": [],
1509
+ "name": "feeRecipients",
1510
+ "outputs": [
1511
+ {
1512
+ "components": [
1513
+ {
1514
+ "internalType": "address",
1515
+ "name": "recipient",
1516
+ "type": "address"
1517
+ },
1518
+ {
1519
+ "internalType": "uint256",
1520
+ "name": "depositFeeSplit",
1521
+ "type": "uint256"
1522
+ },
1523
+ {
1524
+ "internalType": "uint256",
1525
+ "name": "rewardFeeSplit",
1526
+ "type": "uint256"
1527
+ }
1528
+ ],
1529
+ "internalType": "struct IFeeDispatcher.FeeRecipient[]",
1530
+ "name": "",
1531
+ "type": "tuple[]"
1532
+ }
1533
+ ],
1534
+ "stateMutability": "view",
1535
+ "type": "function"
1536
+ },
1537
+ {
1538
+ "inputs": [
1539
+ {
1540
+ "internalType": "address",
1541
+ "name": "blockedUser",
1542
+ "type": "address"
1543
+ }
1544
+ ],
1545
+ "name": "forceWithdraw",
1546
+ "outputs": [
1547
+ {
1548
+ "internalType": "uint256",
1549
+ "name": "",
1550
+ "type": "uint256"
1551
+ }
1552
+ ],
1553
+ "stateMutability": "nonpayable",
1554
+ "type": "function"
1555
+ },
1556
+ {
1557
+ "inputs": [
1558
+ {
1559
+ "internalType": "bytes32",
1560
+ "name": "role",
1561
+ "type": "bytes32"
1562
+ }
1563
+ ],
1564
+ "name": "getRoleAdmin",
1565
+ "outputs": [
1566
+ {
1567
+ "internalType": "bytes32",
1568
+ "name": "",
1569
+ "type": "bytes32"
1570
+ }
1571
+ ],
1572
+ "stateMutability": "view",
1573
+ "type": "function"
1574
+ },
1575
+ {
1576
+ "inputs": [
1577
+ {
1578
+ "internalType": "bytes32",
1579
+ "name": "role",
1580
+ "type": "bytes32"
1581
+ },
1582
+ {
1583
+ "internalType": "address",
1584
+ "name": "account",
1585
+ "type": "address"
1586
+ }
1587
+ ],
1588
+ "name": "grantRole",
1589
+ "outputs": [],
1590
+ "stateMutability": "nonpayable",
1591
+ "type": "function"
1592
+ },
1593
+ {
1594
+ "inputs": [
1595
+ {
1596
+ "internalType": "bytes32",
1597
+ "name": "role",
1598
+ "type": "bytes32"
1599
+ },
1600
+ {
1601
+ "internalType": "address",
1602
+ "name": "account",
1603
+ "type": "address"
1604
+ }
1605
+ ],
1606
+ "name": "hasRole",
1607
+ "outputs": [
1608
+ {
1609
+ "internalType": "bool",
1610
+ "name": "",
1611
+ "type": "bool"
1612
+ }
1613
+ ],
1614
+ "stateMutability": "view",
1615
+ "type": "function"
1616
+ },
1617
+ {
1618
+ "inputs": [
1619
+ {
1620
+ "components": [
1621
+ {
1622
+ "internalType": "contract IERC20",
1623
+ "name": "asset_",
1624
+ "type": "address"
1625
+ },
1626
+ {
1627
+ "internalType": "string",
1628
+ "name": "name_",
1629
+ "type": "string"
1630
+ },
1631
+ {
1632
+ "internalType": "string",
1633
+ "name": "symbol_",
1634
+ "type": "string"
1635
+ },
1636
+ {
1637
+ "internalType": "bool",
1638
+ "name": "transferable_",
1639
+ "type": "bool"
1640
+ },
1641
+ {
1642
+ "internalType": "contract IConnectorRegistry",
1643
+ "name": "connectorRegistry_",
1644
+ "type": "address"
1645
+ },
1646
+ {
1647
+ "internalType": "bytes32",
1648
+ "name": "connectorName_",
1649
+ "type": "bytes32"
1650
+ },
1651
+ {
1652
+ "internalType": "uint256",
1653
+ "name": "depositFee_",
1654
+ "type": "uint256"
1655
+ },
1656
+ {
1657
+ "internalType": "uint256",
1658
+ "name": "rewardFee_",
1659
+ "type": "uint256"
1660
+ },
1661
+ {
1662
+ "internalType": "address",
1663
+ "name": "initialDefaultAdmin_",
1664
+ "type": "address"
1665
+ },
1666
+ {
1667
+ "internalType": "address",
1668
+ "name": "initialFeeManager_",
1669
+ "type": "address"
1670
+ },
1671
+ {
1672
+ "internalType": "address",
1673
+ "name": "initialSanctionsManager_",
1674
+ "type": "address"
1675
+ },
1676
+ {
1677
+ "internalType": "address",
1678
+ "name": "initialClaimManager_",
1679
+ "type": "address"
1680
+ },
1681
+ {
1682
+ "internalType": "address",
1683
+ "name": "initialPauser_",
1684
+ "type": "address"
1685
+ },
1686
+ {
1687
+ "internalType": "address",
1688
+ "name": "initialUnpauser_",
1689
+ "type": "address"
1690
+ },
1691
+ {
1692
+ "internalType": "uint48",
1693
+ "name": "initialDelay_",
1694
+ "type": "uint48"
1695
+ },
1696
+ {
1697
+ "internalType": "uint8",
1698
+ "name": "offset_",
1699
+ "type": "uint8"
1700
+ },
1701
+ {
1702
+ "internalType": "uint256",
1703
+ "name": "minTotalSupply_",
1704
+ "type": "uint256"
1705
+ }
1706
+ ],
1707
+ "internalType": "struct Vault.InitializationParams",
1708
+ "name": "initializationParams",
1709
+ "type": "tuple"
1710
+ },
1711
+ {
1712
+ "components": [
1713
+ {
1714
+ "components": [
1715
+ {
1716
+ "internalType": "address",
1717
+ "name": "recipient",
1718
+ "type": "address"
1719
+ },
1720
+ {
1721
+ "internalType": "uint256",
1722
+ "name": "depositFeeSplit",
1723
+ "type": "uint256"
1724
+ },
1725
+ {
1726
+ "internalType": "uint256",
1727
+ "name": "rewardFeeSplit",
1728
+ "type": "uint256"
1729
+ }
1730
+ ],
1731
+ "internalType": "struct IFeeDispatcher.FeeRecipient[]",
1732
+ "name": "recipients_",
1733
+ "type": "tuple[]"
1734
+ },
1735
+ {
1736
+ "internalType": "address",
1737
+ "name": "feeDispatcher_",
1738
+ "type": "address"
1739
+ },
1740
+ {
1741
+ "internalType": "enum Vault.AdditionalRewardsStrategy",
1742
+ "name": "additionalRewardsStrategy_",
1743
+ "type": "uint8"
1744
+ },
1745
+ {
1746
+ "internalType": "contract BlockList",
1747
+ "name": "blockList_",
1748
+ "type": "address"
1749
+ },
1750
+ {
1751
+ "internalType": "uint256",
1752
+ "name": "pendingDepositFee_",
1753
+ "type": "uint256"
1754
+ },
1755
+ {
1756
+ "internalType": "uint256",
1757
+ "name": "pendingRewardFee_",
1758
+ "type": "uint256"
1759
+ },
1760
+ {
1761
+ "internalType": "contract IConnectorRegistry",
1762
+ "name": "connectorRegistry_",
1763
+ "type": "address"
1764
+ },
1765
+ {
1766
+ "internalType": "address",
1767
+ "name": "initialFeeCollector_",
1768
+ "type": "address"
1769
+ }
1770
+ ],
1771
+ "internalType": "struct Vault.UpgradeParams",
1772
+ "name": "upgradeParams",
1773
+ "type": "tuple"
1774
+ }
1775
+ ],
1776
+ "name": "initialize",
1777
+ "outputs": [],
1778
+ "stateMutability": "nonpayable",
1779
+ "type": "function"
1780
+ },
1781
+ {
1782
+ "inputs": [
1783
+ {
1784
+ "internalType": "address",
1785
+ "name": "",
1786
+ "type": "address"
1787
+ }
1788
+ ],
1789
+ "name": "maxDeposit",
1790
+ "outputs": [
1791
+ {
1792
+ "internalType": "uint256",
1793
+ "name": "",
1794
+ "type": "uint256"
1795
+ }
1796
+ ],
1797
+ "stateMutability": "view",
1798
+ "type": "function"
1799
+ },
1800
+ {
1801
+ "inputs": [
1802
+ {
1803
+ "internalType": "address",
1804
+ "name": "",
1805
+ "type": "address"
1806
+ }
1807
+ ],
1808
+ "name": "maxMint",
1809
+ "outputs": [
1810
+ {
1811
+ "internalType": "uint256",
1812
+ "name": "",
1813
+ "type": "uint256"
1814
+ }
1815
+ ],
1816
+ "stateMutability": "view",
1817
+ "type": "function"
1818
+ },
1819
+ {
1820
+ "inputs": [
1821
+ {
1822
+ "internalType": "address",
1823
+ "name": "owner",
1824
+ "type": "address"
1825
+ }
1826
+ ],
1827
+ "name": "maxRedeem",
1828
+ "outputs": [
1829
+ {
1830
+ "internalType": "uint256",
1831
+ "name": "",
1832
+ "type": "uint256"
1833
+ }
1834
+ ],
1835
+ "stateMutability": "view",
1836
+ "type": "function"
1837
+ },
1838
+ {
1839
+ "inputs": [
1840
+ {
1841
+ "internalType": "address",
1842
+ "name": "owner",
1843
+ "type": "address"
1844
+ }
1845
+ ],
1846
+ "name": "maxWithdraw",
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": "uint256",
1861
+ "name": "shares",
1862
+ "type": "uint256"
1863
+ },
1864
+ {
1865
+ "internalType": "address",
1866
+ "name": "receiver",
1867
+ "type": "address"
1868
+ }
1869
+ ],
1870
+ "name": "mint",
1871
+ "outputs": [
1872
+ {
1873
+ "internalType": "uint256",
1874
+ "name": "",
1875
+ "type": "uint256"
1876
+ }
1877
+ ],
1878
+ "stateMutability": "nonpayable",
1879
+ "type": "function"
1880
+ },
1881
+ {
1882
+ "inputs": [],
1883
+ "name": "name",
1884
+ "outputs": [
1885
+ {
1886
+ "internalType": "string",
1887
+ "name": "",
1888
+ "type": "string"
1889
+ }
1890
+ ],
1891
+ "stateMutability": "view",
1892
+ "type": "function"
1893
+ },
1894
+ {
1895
+ "inputs": [],
1896
+ "name": "owner",
1897
+ "outputs": [
1898
+ {
1899
+ "internalType": "address",
1900
+ "name": "",
1901
+ "type": "address"
1902
+ }
1903
+ ],
1904
+ "stateMutability": "view",
1905
+ "type": "function"
1906
+ },
1907
+ {
1908
+ "inputs": [],
1909
+ "name": "pauseDeposit",
1910
+ "outputs": [],
1911
+ "stateMutability": "nonpayable",
1912
+ "type": "function"
1913
+ },
1914
+ {
1915
+ "inputs": [],
1916
+ "name": "pendingDefaultAdmin",
1917
+ "outputs": [
1918
+ {
1919
+ "internalType": "address",
1920
+ "name": "newAdmin",
1921
+ "type": "address"
1922
+ },
1923
+ {
1924
+ "internalType": "uint48",
1925
+ "name": "schedule",
1926
+ "type": "uint48"
1927
+ }
1928
+ ],
1929
+ "stateMutability": "view",
1930
+ "type": "function"
1931
+ },
1932
+ {
1933
+ "inputs": [],
1934
+ "name": "pendingDefaultAdminDelay",
1935
+ "outputs": [
1936
+ {
1937
+ "internalType": "uint48",
1938
+ "name": "newDelay",
1939
+ "type": "uint48"
1940
+ },
1941
+ {
1942
+ "internalType": "uint48",
1943
+ "name": "schedule",
1944
+ "type": "uint48"
1945
+ }
1946
+ ],
1947
+ "stateMutability": "view",
1948
+ "type": "function"
1949
+ },
1950
+ {
1951
+ "inputs": [],
1952
+ "name": "pendingDepositFee",
1953
+ "outputs": [
1954
+ {
1955
+ "internalType": "uint256",
1956
+ "name": "",
1957
+ "type": "uint256"
1958
+ }
1959
+ ],
1960
+ "stateMutability": "view",
1961
+ "type": "function"
1962
+ },
1963
+ {
1964
+ "inputs": [],
1965
+ "name": "pendingRewardFee",
1966
+ "outputs": [
1967
+ {
1968
+ "internalType": "uint256",
1969
+ "name": "",
1970
+ "type": "uint256"
1971
+ }
1972
+ ],
1973
+ "stateMutability": "view",
1974
+ "type": "function"
1975
+ },
1976
+ {
1977
+ "inputs": [
1978
+ {
1979
+ "internalType": "uint256",
1980
+ "name": "assets",
1981
+ "type": "uint256"
1982
+ }
1983
+ ],
1984
+ "name": "previewDeposit",
1985
+ "outputs": [
1986
+ {
1987
+ "internalType": "uint256",
1988
+ "name": "",
1989
+ "type": "uint256"
1990
+ }
1991
+ ],
1992
+ "stateMutability": "view",
1993
+ "type": "function"
1994
+ },
1995
+ {
1996
+ "inputs": [
1997
+ {
1998
+ "internalType": "uint256",
1999
+ "name": "shares",
2000
+ "type": "uint256"
2001
+ }
2002
+ ],
2003
+ "name": "previewMint",
2004
+ "outputs": [
2005
+ {
2006
+ "internalType": "uint256",
2007
+ "name": "",
2008
+ "type": "uint256"
2009
+ }
2010
+ ],
2011
+ "stateMutability": "view",
2012
+ "type": "function"
2013
+ },
2014
+ {
2015
+ "inputs": [
2016
+ {
2017
+ "internalType": "uint256",
2018
+ "name": "shares",
2019
+ "type": "uint256"
2020
+ }
2021
+ ],
2022
+ "name": "previewRedeem",
2023
+ "outputs": [
2024
+ {
2025
+ "internalType": "uint256",
2026
+ "name": "",
2027
+ "type": "uint256"
2028
+ }
2029
+ ],
2030
+ "stateMutability": "view",
2031
+ "type": "function"
2032
+ },
2033
+ {
2034
+ "inputs": [
2035
+ {
2036
+ "internalType": "uint256",
2037
+ "name": "assets",
2038
+ "type": "uint256"
2039
+ }
2040
+ ],
2041
+ "name": "previewWithdraw",
2042
+ "outputs": [
2043
+ {
2044
+ "internalType": "uint256",
2045
+ "name": "",
2046
+ "type": "uint256"
2047
+ }
2048
+ ],
2049
+ "stateMutability": "view",
2050
+ "type": "function"
2051
+ },
2052
+ {
2053
+ "inputs": [
2054
+ {
2055
+ "internalType": "uint256",
2056
+ "name": "shares",
2057
+ "type": "uint256"
2058
+ },
2059
+ {
2060
+ "internalType": "address",
2061
+ "name": "receiver",
2062
+ "type": "address"
2063
+ },
2064
+ {
2065
+ "internalType": "address",
2066
+ "name": "owner",
2067
+ "type": "address"
2068
+ }
2069
+ ],
2070
+ "name": "redeem",
2071
+ "outputs": [
2072
+ {
2073
+ "internalType": "uint256",
2074
+ "name": "",
2075
+ "type": "uint256"
2076
+ }
2077
+ ],
2078
+ "stateMutability": "nonpayable",
2079
+ "type": "function"
2080
+ },
2081
+ {
2082
+ "inputs": [
2083
+ {
2084
+ "internalType": "bytes32",
2085
+ "name": "role",
2086
+ "type": "bytes32"
2087
+ },
2088
+ {
2089
+ "internalType": "address",
2090
+ "name": "account",
2091
+ "type": "address"
2092
+ }
2093
+ ],
2094
+ "name": "renounceRole",
2095
+ "outputs": [],
2096
+ "stateMutability": "nonpayable",
2097
+ "type": "function"
2098
+ },
2099
+ {
2100
+ "inputs": [
2101
+ {
2102
+ "internalType": "bytes32",
2103
+ "name": "role",
2104
+ "type": "bytes32"
2105
+ },
2106
+ {
2107
+ "internalType": "address",
2108
+ "name": "account",
2109
+ "type": "address"
2110
+ }
2111
+ ],
2112
+ "name": "revokeRole",
2113
+ "outputs": [],
2114
+ "stateMutability": "nonpayable",
2115
+ "type": "function"
2116
+ },
2117
+ {
2118
+ "inputs": [],
2119
+ "name": "rewardFee",
2120
+ "outputs": [
2121
+ {
2122
+ "internalType": "uint256",
2123
+ "name": "",
2124
+ "type": "uint256"
2125
+ }
2126
+ ],
2127
+ "stateMutability": "view",
2128
+ "type": "function"
2129
+ },
2130
+ {
2131
+ "inputs": [],
2132
+ "name": "rollbackDefaultAdminDelay",
2133
+ "outputs": [],
2134
+ "stateMutability": "nonpayable",
2135
+ "type": "function"
2136
+ },
2137
+ {
2138
+ "inputs": [
2139
+ {
2140
+ "internalType": "enum Vault.AdditionalRewardsStrategy",
2141
+ "name": "strategy",
2142
+ "type": "uint8"
2143
+ }
2144
+ ],
2145
+ "name": "setAdditionalRewardsStrategy",
2146
+ "outputs": [],
2147
+ "stateMutability": "nonpayable",
2148
+ "type": "function"
2149
+ },
2150
+ {
2151
+ "inputs": [
2152
+ {
2153
+ "internalType": "contract BlockList",
2154
+ "name": "newBlockList",
2155
+ "type": "address"
2156
+ }
2157
+ ],
2158
+ "name": "setBlockList",
2159
+ "outputs": [],
2160
+ "stateMutability": "nonpayable",
2161
+ "type": "function"
2162
+ },
2163
+ {
2164
+ "inputs": [
2165
+ {
2166
+ "internalType": "uint256",
2167
+ "name": "newDepositFee",
2168
+ "type": "uint256"
2169
+ }
2170
+ ],
2171
+ "name": "setDepositFee",
2172
+ "outputs": [],
2173
+ "stateMutability": "nonpayable",
2174
+ "type": "function"
2175
+ },
2176
+ {
2177
+ "inputs": [
2178
+ {
2179
+ "components": [
2180
+ {
2181
+ "internalType": "address",
2182
+ "name": "recipient",
2183
+ "type": "address"
2184
+ },
2185
+ {
2186
+ "internalType": "uint256",
2187
+ "name": "depositFeeSplit",
2188
+ "type": "uint256"
2189
+ },
2190
+ {
2191
+ "internalType": "uint256",
2192
+ "name": "rewardFeeSplit",
2193
+ "type": "uint256"
2194
+ }
2195
+ ],
2196
+ "internalType": "struct IFeeDispatcher.FeeRecipient[]",
2197
+ "name": "recipients",
2198
+ "type": "tuple[]"
2199
+ }
2200
+ ],
2201
+ "name": "setFeeRecipients",
2202
+ "outputs": [],
2203
+ "stateMutability": "nonpayable",
2204
+ "type": "function"
2205
+ },
2206
+ {
2207
+ "inputs": [
2208
+ {
2209
+ "internalType": "uint256",
2210
+ "name": "newRewardFee",
2211
+ "type": "uint256"
2212
+ }
2213
+ ],
2214
+ "name": "setRewardFee",
2215
+ "outputs": [],
2216
+ "stateMutability": "nonpayable",
2217
+ "type": "function"
2218
+ },
2219
+ {
2220
+ "inputs": [
2221
+ {
2222
+ "internalType": "bytes4",
2223
+ "name": "interfaceId",
2224
+ "type": "bytes4"
2225
+ }
2226
+ ],
2227
+ "name": "supportsInterface",
2228
+ "outputs": [
2229
+ {
2230
+ "internalType": "bool",
2231
+ "name": "",
2232
+ "type": "bool"
2233
+ }
2234
+ ],
2235
+ "stateMutability": "view",
2236
+ "type": "function"
2237
+ },
2238
+ {
2239
+ "inputs": [],
2240
+ "name": "symbol",
2241
+ "outputs": [
2242
+ {
2243
+ "internalType": "string",
2244
+ "name": "",
2245
+ "type": "string"
2246
+ }
2247
+ ],
2248
+ "stateMutability": "view",
2249
+ "type": "function"
2250
+ },
2251
+ {
2252
+ "inputs": [],
2253
+ "name": "totalAssets",
2254
+ "outputs": [
2255
+ {
2256
+ "internalType": "uint256",
2257
+ "name": "",
2258
+ "type": "uint256"
2259
+ }
2260
+ ],
2261
+ "stateMutability": "view",
2262
+ "type": "function"
2263
+ },
2264
+ {
2265
+ "inputs": [],
2266
+ "name": "totalSupply",
2267
+ "outputs": [
2268
+ {
2269
+ "internalType": "uint256",
2270
+ "name": "",
2271
+ "type": "uint256"
2272
+ }
2273
+ ],
2274
+ "stateMutability": "view",
2275
+ "type": "function"
2276
+ },
2277
+ {
2278
+ "inputs": [
2279
+ {
2280
+ "internalType": "address",
2281
+ "name": "to",
2282
+ "type": "address"
2283
+ },
2284
+ {
2285
+ "internalType": "uint256",
2286
+ "name": "value",
2287
+ "type": "uint256"
2288
+ }
2289
+ ],
2290
+ "name": "transfer",
2291
+ "outputs": [
2292
+ {
2293
+ "internalType": "bool",
2294
+ "name": "",
2295
+ "type": "bool"
2296
+ }
2297
+ ],
2298
+ "stateMutability": "nonpayable",
2299
+ "type": "function"
2300
+ },
2301
+ {
2302
+ "inputs": [
2303
+ {
2304
+ "internalType": "address",
2305
+ "name": "from",
2306
+ "type": "address"
2307
+ },
2308
+ {
2309
+ "internalType": "address",
2310
+ "name": "to",
2311
+ "type": "address"
2312
+ },
2313
+ {
2314
+ "internalType": "uint256",
2315
+ "name": "value",
2316
+ "type": "uint256"
2317
+ }
2318
+ ],
2319
+ "name": "transferFrom",
2320
+ "outputs": [
2321
+ {
2322
+ "internalType": "bool",
2323
+ "name": "",
2324
+ "type": "bool"
2325
+ }
2326
+ ],
2327
+ "stateMutability": "nonpayable",
2328
+ "type": "function"
2329
+ },
2330
+ {
2331
+ "inputs": [],
2332
+ "name": "transferable",
2333
+ "outputs": [
2334
+ {
2335
+ "internalType": "bool",
2336
+ "name": "",
2337
+ "type": "bool"
2338
+ }
2339
+ ],
2340
+ "stateMutability": "view",
2341
+ "type": "function"
2342
+ },
2343
+ {
2344
+ "inputs": [],
2345
+ "name": "unpauseDeposit",
2346
+ "outputs": [],
2347
+ "stateMutability": "nonpayable",
2348
+ "type": "function"
2349
+ },
2350
+ {
2351
+ "inputs": [
2352
+ {
2353
+ "components": [
2354
+ {
2355
+ "components": [
2356
+ {
2357
+ "internalType": "address",
2358
+ "name": "recipient",
2359
+ "type": "address"
2360
+ },
2361
+ {
2362
+ "internalType": "uint256",
2363
+ "name": "depositFeeSplit",
2364
+ "type": "uint256"
2365
+ },
2366
+ {
2367
+ "internalType": "uint256",
2368
+ "name": "rewardFeeSplit",
2369
+ "type": "uint256"
2370
+ }
2371
+ ],
2372
+ "internalType": "struct IFeeDispatcher.FeeRecipient[]",
2373
+ "name": "recipients_",
2374
+ "type": "tuple[]"
2375
+ },
2376
+ {
2377
+ "internalType": "address",
2378
+ "name": "feeDispatcher_",
2379
+ "type": "address"
2380
+ },
2381
+ {
2382
+ "internalType": "enum Vault.AdditionalRewardsStrategy",
2383
+ "name": "additionalRewardsStrategy_",
2384
+ "type": "uint8"
2385
+ },
2386
+ {
2387
+ "internalType": "contract BlockList",
2388
+ "name": "blockList_",
2389
+ "type": "address"
2390
+ },
2391
+ {
2392
+ "internalType": "uint256",
2393
+ "name": "pendingDepositFee_",
2394
+ "type": "uint256"
2395
+ },
2396
+ {
2397
+ "internalType": "uint256",
2398
+ "name": "pendingRewardFee_",
2399
+ "type": "uint256"
2400
+ },
2401
+ {
2402
+ "internalType": "contract IConnectorRegistry",
2403
+ "name": "connectorRegistry_",
2404
+ "type": "address"
2405
+ },
2406
+ {
2407
+ "internalType": "address",
2408
+ "name": "initialFeeCollector_",
2409
+ "type": "address"
2410
+ }
2411
+ ],
2412
+ "internalType": "struct Vault.UpgradeParams",
2413
+ "name": "upgradeParams",
2414
+ "type": "tuple"
2415
+ }
2416
+ ],
2417
+ "name": "upgrade",
2418
+ "outputs": [],
2419
+ "stateMutability": "nonpayable",
2420
+ "type": "function"
2421
+ },
2422
+ {
2423
+ "inputs": [],
2424
+ "name": "vaultFactory",
2425
+ "outputs": [
2426
+ {
2427
+ "internalType": "address",
2428
+ "name": "",
2429
+ "type": "address"
2430
+ }
2431
+ ],
2432
+ "stateMutability": "view",
2433
+ "type": "function"
2434
+ },
2435
+ {
2436
+ "inputs": [
2437
+ {
2438
+ "internalType": "uint256",
2439
+ "name": "assets",
2440
+ "type": "uint256"
2441
+ },
2442
+ {
2443
+ "internalType": "address",
2444
+ "name": "receiver",
2445
+ "type": "address"
2446
+ },
2447
+ {
2448
+ "internalType": "address",
2449
+ "name": "owner",
2450
+ "type": "address"
2451
+ }
2452
+ ],
2453
+ "name": "withdraw",
2454
+ "outputs": [
2455
+ {
2456
+ "internalType": "uint256",
2457
+ "name": "",
2458
+ "type": "uint256"
2459
+ }
2460
+ ],
2461
+ "stateMutability": "nonpayable",
2462
+ "type": "function"
2463
+ }
2464
+ ] as const satisfies Abi;
2465
+
2466
+ /**
2467
+ * Type-safe ABI for Vault_json
2468
+ */
2469
+ export type Vault_jsonAbi = typeof Vault_jsonAbi;
2470
+
2471
+ /**
2472
+ * Contract instance type for Vault_json
2473
+ */
2474
+ // Use any for contract type to avoid complex viem type issues
2475
+ // The runtime behavior is type-safe through viem's ABI typing
2476
+ export type Vault_jsonContract = any;
2477
+
2478
+ /**
2479
+ * Vault_json Contract Class
2480
+ *
2481
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
2482
+ *
2483
+ * @example
2484
+ * ```typescript
2485
+ * import { createPublicClient, createWalletClient, http } from 'viem';
2486
+ * import { mainnet } from 'viem/chains';
2487
+ * import { Vault_json } from 'Vault_json';
2488
+ *
2489
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
2490
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
2491
+ *
2492
+ * const contract = new Vault_json('0x...', { publicClient, walletClient });
2493
+ *
2494
+ * // Read functions
2495
+ * const result = await contract.balanceOf('0x...');
2496
+ *
2497
+ * // Write functions
2498
+ * const hash = await contract.transfer('0x...', 1000n);
2499
+ *
2500
+ * // Simulate transactions (dry-run)
2501
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
2502
+ * console.log('Gas estimate:', simulation.request.gas);
2503
+ *
2504
+ * // Watch events
2505
+ * const unwatch = contract.watch.Transfer((event) => {
2506
+ * console.log('Transfer event:', event);
2507
+ * });
2508
+ * ```
2509
+ */
2510
+ export class Vault_json {
2511
+ private contract: Vault_jsonContract;
2512
+ private contractAddress: Address;
2513
+ private publicClient: PublicClient;
2514
+
2515
+ constructor(
2516
+ address: Address,
2517
+ clients: {
2518
+ publicClient: PublicClient;
2519
+ walletClient?: WalletClient;
2520
+ }
2521
+ ) {
2522
+ this.contractAddress = address;
2523
+ this.publicClient = clients.publicClient;
2524
+ this.contract = getContract({
2525
+ address,
2526
+ abi: Vault_jsonAbi,
2527
+ client: {
2528
+ public: clients.publicClient,
2529
+ wallet: clients.walletClient,
2530
+ },
2531
+ });
2532
+ }
2533
+
2534
+ /**
2535
+ * Get the contract address
2536
+ */
2537
+ get address(): Address {
2538
+ return this.contractAddress;
2539
+ }
2540
+
2541
+ /**
2542
+ * Get the underlying viem contract instance
2543
+ */
2544
+ getContract(): Vault_jsonContract {
2545
+ return this.contract;
2546
+ }
2547
+
2548
+ /**
2549
+ * CLAIM_MANAGER_ROLE
2550
+ * view
2551
+ */
2552
+ async CLAIM_MANAGER_ROLE(): Promise<`0x${string}`> {
2553
+ return this.contract.read.CLAIM_MANAGER_ROLE() as Promise<`0x${string}`>;
2554
+ }
2555
+
2556
+ /**
2557
+ * DEFAULT_ADMIN_ROLE
2558
+ * view
2559
+ */
2560
+ async DEFAULT_ADMIN_ROLE(): Promise<`0x${string}`> {
2561
+ return this.contract.read.DEFAULT_ADMIN_ROLE() as Promise<`0x${string}`>;
2562
+ }
2563
+
2564
+ /**
2565
+ * FEE_COLLECTOR_ROLE
2566
+ * view
2567
+ */
2568
+ async FEE_COLLECTOR_ROLE(): Promise<`0x${string}`> {
2569
+ return this.contract.read.FEE_COLLECTOR_ROLE() as Promise<`0x${string}`>;
2570
+ }
2571
+
2572
+ /**
2573
+ * FEE_MANAGER_ROLE
2574
+ * view
2575
+ */
2576
+ async FEE_MANAGER_ROLE(): Promise<`0x${string}`> {
2577
+ return this.contract.read.FEE_MANAGER_ROLE() as Promise<`0x${string}`>;
2578
+ }
2579
+
2580
+ /**
2581
+ * PAUSER_ROLE
2582
+ * view
2583
+ */
2584
+ async PAUSER_ROLE(): Promise<`0x${string}`> {
2585
+ return this.contract.read.PAUSER_ROLE() as Promise<`0x${string}`>;
2586
+ }
2587
+
2588
+ /**
2589
+ * SANCTIONS_MANAGER_ROLE
2590
+ * view
2591
+ */
2592
+ async SANCTIONS_MANAGER_ROLE(): Promise<`0x${string}`> {
2593
+ return this.contract.read.SANCTIONS_MANAGER_ROLE() as Promise<`0x${string}`>;
2594
+ }
2595
+
2596
+ /**
2597
+ * SPENDER_ROLE
2598
+ * view
2599
+ */
2600
+ async SPENDER_ROLE(): Promise<`0x${string}`> {
2601
+ return this.contract.read.SPENDER_ROLE() as Promise<`0x${string}`>;
2602
+ }
2603
+
2604
+ /**
2605
+ * UNPAUSER_ROLE
2606
+ * view
2607
+ */
2608
+ async UNPAUSER_ROLE(): Promise<`0x${string}`> {
2609
+ return this.contract.read.UNPAUSER_ROLE() as Promise<`0x${string}`>;
2610
+ }
2611
+
2612
+ /**
2613
+ * additionalRewardsStrategy
2614
+ * view
2615
+ */
2616
+ async additionalRewardsStrategy(): Promise<bigint> {
2617
+ return this.contract.read.additionalRewardsStrategy() as Promise<bigint>;
2618
+ }
2619
+
2620
+ /**
2621
+ * allowance
2622
+ * view
2623
+ */
2624
+ async allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint> {
2625
+ return this.contract.read.allowance([owner, spender] as const) as Promise<bigint>;
2626
+ }
2627
+
2628
+ /**
2629
+ * asset
2630
+ * view
2631
+ */
2632
+ async asset(): Promise<`0x${string}`> {
2633
+ return this.contract.read.asset() as Promise<`0x${string}`>;
2634
+ }
2635
+
2636
+ /**
2637
+ * balanceOf
2638
+ * view
2639
+ */
2640
+ async balanceOf(account: `0x${string}`): Promise<bigint> {
2641
+ return this.contract.read.balanceOf([account] as const) as Promise<bigint>;
2642
+ }
2643
+
2644
+ /**
2645
+ * blockList
2646
+ * view
2647
+ */
2648
+ async blockList(): Promise<`0x${string}`> {
2649
+ return this.contract.read.blockList() as Promise<`0x${string}`>;
2650
+ }
2651
+
2652
+ /**
2653
+ * collectableRewardFees
2654
+ * view
2655
+ */
2656
+ async collectableRewardFees(): Promise<bigint> {
2657
+ return this.contract.read.collectableRewardFees() as Promise<bigint>;
2658
+ }
2659
+
2660
+ /**
2661
+ * connectorName
2662
+ * view
2663
+ */
2664
+ async connectorName(): Promise<`0x${string}`> {
2665
+ return this.contract.read.connectorName() as Promise<`0x${string}`>;
2666
+ }
2667
+
2668
+ /**
2669
+ * connectorRegistry
2670
+ * view
2671
+ */
2672
+ async connectorRegistry(): Promise<`0x${string}`> {
2673
+ return this.contract.read.connectorRegistry() as Promise<`0x${string}`>;
2674
+ }
2675
+
2676
+ /**
2677
+ * convertToAssets
2678
+ * view
2679
+ */
2680
+ async convertToAssets(shares: bigint): Promise<bigint> {
2681
+ return this.contract.read.convertToAssets([shares] as const) as Promise<bigint>;
2682
+ }
2683
+
2684
+ /**
2685
+ * convertToShares
2686
+ * view
2687
+ */
2688
+ async convertToShares(assets: bigint): Promise<bigint> {
2689
+ return this.contract.read.convertToShares([assets] as const) as Promise<bigint>;
2690
+ }
2691
+
2692
+ /**
2693
+ * decimals
2694
+ * view
2695
+ */
2696
+ async decimals(): Promise<bigint> {
2697
+ return this.contract.read.decimals() as Promise<bigint>;
2698
+ }
2699
+
2700
+ /**
2701
+ * defaultAdmin
2702
+ * view
2703
+ */
2704
+ async defaultAdmin(): Promise<`0x${string}`> {
2705
+ return this.contract.read.defaultAdmin() as Promise<`0x${string}`>;
2706
+ }
2707
+
2708
+ /**
2709
+ * defaultAdminDelay
2710
+ * view
2711
+ */
2712
+ async defaultAdminDelay(): Promise<bigint> {
2713
+ return this.contract.read.defaultAdminDelay() as Promise<bigint>;
2714
+ }
2715
+
2716
+ /**
2717
+ * defaultAdminDelayIncreaseWait
2718
+ * view
2719
+ */
2720
+ async defaultAdminDelayIncreaseWait(): Promise<bigint> {
2721
+ return this.contract.read.defaultAdminDelayIncreaseWait() as Promise<bigint>;
2722
+ }
2723
+
2724
+ /**
2725
+ * depositFee
2726
+ * view
2727
+ */
2728
+ async depositFee(): Promise<bigint> {
2729
+ return this.contract.read.depositFee() as Promise<bigint>;
2730
+ }
2731
+
2732
+ /**
2733
+ * feeRecipient
2734
+ * view
2735
+ */
2736
+ async feeRecipient(recipient: `0x${string}`): Promise<IFeeDispatcher_FeeRecipient> {
2737
+ return this.contract.read.feeRecipient([recipient] as const) as Promise<IFeeDispatcher_FeeRecipient>;
2738
+ }
2739
+
2740
+ /**
2741
+ * feeRecipientAt
2742
+ * view
2743
+ */
2744
+ async feeRecipientAt(index: bigint): Promise<IFeeDispatcher_FeeRecipient> {
2745
+ return this.contract.read.feeRecipientAt([index] as const) as Promise<IFeeDispatcher_FeeRecipient>;
2746
+ }
2747
+
2748
+ /**
2749
+ * feeRecipients
2750
+ * view
2751
+ */
2752
+ async feeRecipients(): Promise<IFeeDispatcher_FeeRecipient[]> {
2753
+ return this.contract.read.feeRecipients() as Promise<IFeeDispatcher_FeeRecipient[]>;
2754
+ }
2755
+
2756
+ /**
2757
+ * getRoleAdmin
2758
+ * view
2759
+ */
2760
+ async getRoleAdmin(role: `0x${string}`): Promise<`0x${string}`> {
2761
+ return this.contract.read.getRoleAdmin([role] as const) as Promise<`0x${string}`>;
2762
+ }
2763
+
2764
+ /**
2765
+ * hasRole
2766
+ * view
2767
+ */
2768
+ async hasRole(role: `0x${string}`, account: `0x${string}`): Promise<boolean> {
2769
+ return this.contract.read.hasRole([role, account] as const) as Promise<boolean>;
2770
+ }
2771
+
2772
+ /**
2773
+ * maxDeposit
2774
+ * view
2775
+ */
2776
+ async maxDeposit(arg0: `0x${string}`): Promise<bigint> {
2777
+ return this.contract.read.maxDeposit([arg0] as const) as Promise<bigint>;
2778
+ }
2779
+
2780
+ /**
2781
+ * maxMint
2782
+ * view
2783
+ */
2784
+ async maxMint(arg0: `0x${string}`): Promise<bigint> {
2785
+ return this.contract.read.maxMint([arg0] as const) as Promise<bigint>;
2786
+ }
2787
+
2788
+ /**
2789
+ * maxRedeem
2790
+ * view
2791
+ */
2792
+ async maxRedeem(owner: `0x${string}`): Promise<bigint> {
2793
+ return this.contract.read.maxRedeem([owner] as const) as Promise<bigint>;
2794
+ }
2795
+
2796
+ /**
2797
+ * maxWithdraw
2798
+ * view
2799
+ */
2800
+ async maxWithdraw(owner: `0x${string}`): Promise<bigint> {
2801
+ return this.contract.read.maxWithdraw([owner] as const) as Promise<bigint>;
2802
+ }
2803
+
2804
+ /**
2805
+ * name
2806
+ * view
2807
+ */
2808
+ async name(): Promise<string> {
2809
+ return this.contract.read.name() as Promise<string>;
2810
+ }
2811
+
2812
+ /**
2813
+ * owner
2814
+ * view
2815
+ */
2816
+ async owner(): Promise<`0x${string}`> {
2817
+ return this.contract.read.owner() as Promise<`0x${string}`>;
2818
+ }
2819
+
2820
+ /**
2821
+ * pendingDefaultAdmin
2822
+ * view
2823
+ */
2824
+ async pendingDefaultAdmin(): Promise<[`0x${string}`, bigint]> {
2825
+ return this.contract.read.pendingDefaultAdmin() as Promise<[`0x${string}`, bigint]>;
2826
+ }
2827
+
2828
+ /**
2829
+ * pendingDefaultAdminDelay
2830
+ * view
2831
+ */
2832
+ async pendingDefaultAdminDelay(): Promise<[bigint, bigint]> {
2833
+ return this.contract.read.pendingDefaultAdminDelay() as Promise<[bigint, bigint]>;
2834
+ }
2835
+
2836
+ /**
2837
+ * pendingDepositFee
2838
+ * view
2839
+ */
2840
+ async pendingDepositFee(): Promise<bigint> {
2841
+ return this.contract.read.pendingDepositFee() as Promise<bigint>;
2842
+ }
2843
+
2844
+ /**
2845
+ * pendingRewardFee
2846
+ * view
2847
+ */
2848
+ async pendingRewardFee(): Promise<bigint> {
2849
+ return this.contract.read.pendingRewardFee() as Promise<bigint>;
2850
+ }
2851
+
2852
+ /**
2853
+ * previewDeposit
2854
+ * view
2855
+ */
2856
+ async previewDeposit(assets: bigint): Promise<bigint> {
2857
+ return this.contract.read.previewDeposit([assets] as const) as Promise<bigint>;
2858
+ }
2859
+
2860
+ /**
2861
+ * previewMint
2862
+ * view
2863
+ */
2864
+ async previewMint(shares: bigint): Promise<bigint> {
2865
+ return this.contract.read.previewMint([shares] as const) as Promise<bigint>;
2866
+ }
2867
+
2868
+ /**
2869
+ * previewRedeem
2870
+ * view
2871
+ */
2872
+ async previewRedeem(shares: bigint): Promise<bigint> {
2873
+ return this.contract.read.previewRedeem([shares] as const) as Promise<bigint>;
2874
+ }
2875
+
2876
+ /**
2877
+ * previewWithdraw
2878
+ * view
2879
+ */
2880
+ async previewWithdraw(assets: bigint): Promise<bigint> {
2881
+ return this.contract.read.previewWithdraw([assets] as const) as Promise<bigint>;
2882
+ }
2883
+
2884
+ /**
2885
+ * rewardFee
2886
+ * view
2887
+ */
2888
+ async rewardFee(): Promise<bigint> {
2889
+ return this.contract.read.rewardFee() as Promise<bigint>;
2890
+ }
2891
+
2892
+ /**
2893
+ * supportsInterface
2894
+ * view
2895
+ */
2896
+ async supportsInterface(interfaceId: `0x${string}`): Promise<boolean> {
2897
+ return this.contract.read.supportsInterface([interfaceId] as const) as Promise<boolean>;
2898
+ }
2899
+
2900
+ /**
2901
+ * symbol
2902
+ * view
2903
+ */
2904
+ async symbol(): Promise<string> {
2905
+ return this.contract.read.symbol() as Promise<string>;
2906
+ }
2907
+
2908
+ /**
2909
+ * totalAssets
2910
+ * view
2911
+ */
2912
+ async totalAssets(): Promise<bigint> {
2913
+ return this.contract.read.totalAssets() as Promise<bigint>;
2914
+ }
2915
+
2916
+ /**
2917
+ * totalSupply
2918
+ * view
2919
+ */
2920
+ async totalSupply(): Promise<bigint> {
2921
+ return this.contract.read.totalSupply() as Promise<bigint>;
2922
+ }
2923
+
2924
+ /**
2925
+ * transferable
2926
+ * view
2927
+ */
2928
+ async transferable(): Promise<boolean> {
2929
+ return this.contract.read.transferable() as Promise<boolean>;
2930
+ }
2931
+
2932
+ /**
2933
+ * vaultFactory
2934
+ * view
2935
+ */
2936
+ async vaultFactory(): Promise<`0x${string}`> {
2937
+ return this.contract.read.vaultFactory() as Promise<`0x${string}`>;
2938
+ }
2939
+
2940
+ /**
2941
+ * acceptDefaultAdminTransfer
2942
+ * nonpayable
2943
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2944
+ */
2945
+ async acceptDefaultAdminTransfer(options?: {
2946
+ accessList?: import('viem').AccessList;
2947
+ authorizationList?: import('viem').AuthorizationList;
2948
+ chain?: import('viem').Chain | null;
2949
+ dataSuffix?: `0x${string}`;
2950
+ gas?: bigint;
2951
+ gasPrice?: bigint;
2952
+ maxFeePerGas?: bigint;
2953
+ maxPriorityFeePerGas?: bigint;
2954
+ nonce?: number;
2955
+ value?: bigint;
2956
+ }): Promise<`0x${string}`> {
2957
+ if (!this.contract.write) {
2958
+ throw new Error('Wallet client is required for write operations');
2959
+ }
2960
+ return this.contract.write.acceptDefaultAdminTransfer(options) as Promise<`0x${string}`>;
2961
+ }
2962
+
2963
+ /**
2964
+ * approve
2965
+ * nonpayable
2966
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2967
+ */
2968
+ async approve(spender: `0x${string}`, value: bigint, options?: {
2969
+ accessList?: import('viem').AccessList;
2970
+ authorizationList?: import('viem').AuthorizationList;
2971
+ chain?: import('viem').Chain | null;
2972
+ dataSuffix?: `0x${string}`;
2973
+ gas?: bigint;
2974
+ gasPrice?: bigint;
2975
+ maxFeePerGas?: bigint;
2976
+ maxPriorityFeePerGas?: bigint;
2977
+ nonce?: number;
2978
+ value?: bigint;
2979
+ }): Promise<`0x${string}`> {
2980
+ if (!this.contract.write) {
2981
+ throw new Error('Wallet client is required for write operations');
2982
+ }
2983
+ return this.contract.write.approve([spender, value] as const, options) as Promise<`0x${string}`>;
2984
+ }
2985
+
2986
+ /**
2987
+ * beginDefaultAdminTransfer
2988
+ * nonpayable
2989
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2990
+ */
2991
+ async beginDefaultAdminTransfer(newAdmin: `0x${string}`, options?: {
2992
+ accessList?: import('viem').AccessList;
2993
+ authorizationList?: import('viem').AuthorizationList;
2994
+ chain?: import('viem').Chain | null;
2995
+ dataSuffix?: `0x${string}`;
2996
+ gas?: bigint;
2997
+ gasPrice?: bigint;
2998
+ maxFeePerGas?: bigint;
2999
+ maxPriorityFeePerGas?: bigint;
3000
+ nonce?: number;
3001
+ value?: bigint;
3002
+ }): Promise<`0x${string}`> {
3003
+ if (!this.contract.write) {
3004
+ throw new Error('Wallet client is required for write operations');
3005
+ }
3006
+ return this.contract.write.beginDefaultAdminTransfer([newAdmin] as const, options) as Promise<`0x${string}`>;
3007
+ }
3008
+
3009
+ /**
3010
+ * cancelDefaultAdminTransfer
3011
+ * nonpayable
3012
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3013
+ */
3014
+ async cancelDefaultAdminTransfer(options?: {
3015
+ accessList?: import('viem').AccessList;
3016
+ authorizationList?: import('viem').AuthorizationList;
3017
+ chain?: import('viem').Chain | null;
3018
+ dataSuffix?: `0x${string}`;
3019
+ gas?: bigint;
3020
+ gasPrice?: bigint;
3021
+ maxFeePerGas?: bigint;
3022
+ maxPriorityFeePerGas?: bigint;
3023
+ nonce?: number;
3024
+ value?: bigint;
3025
+ }): Promise<`0x${string}`> {
3026
+ if (!this.contract.write) {
3027
+ throw new Error('Wallet client is required for write operations');
3028
+ }
3029
+ return this.contract.write.cancelDefaultAdminTransfer(options) as Promise<`0x${string}`>;
3030
+ }
3031
+
3032
+ /**
3033
+ * changeDefaultAdminDelay
3034
+ * nonpayable
3035
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3036
+ */
3037
+ async changeDefaultAdminDelay(newDelay: bigint, options?: {
3038
+ accessList?: import('viem').AccessList;
3039
+ authorizationList?: import('viem').AuthorizationList;
3040
+ chain?: import('viem').Chain | null;
3041
+ dataSuffix?: `0x${string}`;
3042
+ gas?: bigint;
3043
+ gasPrice?: bigint;
3044
+ maxFeePerGas?: bigint;
3045
+ maxPriorityFeePerGas?: bigint;
3046
+ nonce?: number;
3047
+ value?: bigint;
3048
+ }): Promise<`0x${string}`> {
3049
+ if (!this.contract.write) {
3050
+ throw new Error('Wallet client is required for write operations');
3051
+ }
3052
+ return this.contract.write.changeDefaultAdminDelay([newDelay] as const, options) as Promise<`0x${string}`>;
3053
+ }
3054
+
3055
+ /**
3056
+ * claimAdditionalRewards
3057
+ * nonpayable
3058
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3059
+ */
3060
+ async claimAdditionalRewards(rewardsAsset: `0x${string}`, payload: `0x${string}`, options?: {
3061
+ accessList?: import('viem').AccessList;
3062
+ authorizationList?: import('viem').AuthorizationList;
3063
+ chain?: import('viem').Chain | null;
3064
+ dataSuffix?: `0x${string}`;
3065
+ gas?: bigint;
3066
+ gasPrice?: bigint;
3067
+ maxFeePerGas?: bigint;
3068
+ maxPriorityFeePerGas?: bigint;
3069
+ nonce?: number;
3070
+ value?: bigint;
3071
+ }): Promise<`0x${string}`> {
3072
+ if (!this.contract.write) {
3073
+ throw new Error('Wallet client is required for write operations');
3074
+ }
3075
+ return this.contract.write.claimAdditionalRewards([rewardsAsset, payload] as const, options) as Promise<`0x${string}`>;
3076
+ }
3077
+
3078
+ /**
3079
+ * collectRewardFees
3080
+ * nonpayable
3081
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3082
+ */
3083
+ async collectRewardFees(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<`0x${string}`> {
3095
+ if (!this.contract.write) {
3096
+ throw new Error('Wallet client is required for write operations');
3097
+ }
3098
+ return this.contract.write.collectRewardFees(options) as Promise<`0x${string}`>;
3099
+ }
3100
+
3101
+ /**
3102
+ * delegateToFactory
3103
+ * nonpayable
3104
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3105
+ */
3106
+ async delegateToFactory(data: `0x${string}`, options?: {
3107
+ accessList?: import('viem').AccessList;
3108
+ authorizationList?: import('viem').AuthorizationList;
3109
+ chain?: import('viem').Chain | null;
3110
+ dataSuffix?: `0x${string}`;
3111
+ gas?: bigint;
3112
+ gasPrice?: bigint;
3113
+ maxFeePerGas?: bigint;
3114
+ maxPriorityFeePerGas?: bigint;
3115
+ nonce?: number;
3116
+ value?: bigint;
3117
+ }): Promise<`0x${string}`> {
3118
+ if (!this.contract.write) {
3119
+ throw new Error('Wallet client is required for write operations');
3120
+ }
3121
+ return this.contract.write.delegateToFactory([data] as const, options) as Promise<`0x${string}`>;
3122
+ }
3123
+
3124
+ /**
3125
+ * deposit
3126
+ * nonpayable
3127
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3128
+ */
3129
+ async deposit(assets: bigint, receiver: `0x${string}`, options?: {
3130
+ accessList?: import('viem').AccessList;
3131
+ authorizationList?: import('viem').AuthorizationList;
3132
+ chain?: import('viem').Chain | null;
3133
+ dataSuffix?: `0x${string}`;
3134
+ gas?: bigint;
3135
+ gasPrice?: bigint;
3136
+ maxFeePerGas?: bigint;
3137
+ maxPriorityFeePerGas?: bigint;
3138
+ nonce?: number;
3139
+ value?: bigint;
3140
+ }): Promise<`0x${string}`> {
3141
+ if (!this.contract.write) {
3142
+ throw new Error('Wallet client is required for write operations');
3143
+ }
3144
+ return this.contract.write.deposit([assets, receiver] as const, options) as Promise<`0x${string}`>;
3145
+ }
3146
+
3147
+ /**
3148
+ * dispatchFees
3149
+ * nonpayable
3150
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3151
+ */
3152
+ async dispatchFees(options?: {
3153
+ accessList?: import('viem').AccessList;
3154
+ authorizationList?: import('viem').AuthorizationList;
3155
+ chain?: import('viem').Chain | null;
3156
+ dataSuffix?: `0x${string}`;
3157
+ gas?: bigint;
3158
+ gasPrice?: bigint;
3159
+ maxFeePerGas?: bigint;
3160
+ maxPriorityFeePerGas?: bigint;
3161
+ nonce?: number;
3162
+ value?: bigint;
3163
+ }): Promise<`0x${string}`> {
3164
+ if (!this.contract.write) {
3165
+ throw new Error('Wallet client is required for write operations');
3166
+ }
3167
+ return this.contract.write.dispatchFees(options) as Promise<`0x${string}`>;
3168
+ }
3169
+
3170
+ /**
3171
+ * forceWithdraw
3172
+ * nonpayable
3173
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3174
+ */
3175
+ async forceWithdraw(blockedUser: `0x${string}`, options?: {
3176
+ accessList?: import('viem').AccessList;
3177
+ authorizationList?: import('viem').AuthorizationList;
3178
+ chain?: import('viem').Chain | null;
3179
+ dataSuffix?: `0x${string}`;
3180
+ gas?: bigint;
3181
+ gasPrice?: bigint;
3182
+ maxFeePerGas?: bigint;
3183
+ maxPriorityFeePerGas?: bigint;
3184
+ nonce?: number;
3185
+ value?: bigint;
3186
+ }): Promise<`0x${string}`> {
3187
+ if (!this.contract.write) {
3188
+ throw new Error('Wallet client is required for write operations');
3189
+ }
3190
+ return this.contract.write.forceWithdraw([blockedUser] as const, options) as Promise<`0x${string}`>;
3191
+ }
3192
+
3193
+ /**
3194
+ * grantRole
3195
+ * nonpayable
3196
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3197
+ */
3198
+ async grantRole(role: `0x${string}`, account: `0x${string}`, options?: {
3199
+ accessList?: import('viem').AccessList;
3200
+ authorizationList?: import('viem').AuthorizationList;
3201
+ chain?: import('viem').Chain | null;
3202
+ dataSuffix?: `0x${string}`;
3203
+ gas?: bigint;
3204
+ gasPrice?: bigint;
3205
+ maxFeePerGas?: bigint;
3206
+ maxPriorityFeePerGas?: bigint;
3207
+ nonce?: number;
3208
+ value?: bigint;
3209
+ }): Promise<`0x${string}`> {
3210
+ if (!this.contract.write) {
3211
+ throw new Error('Wallet client is required for write operations');
3212
+ }
3213
+ return this.contract.write.grantRole([role, account] as const, options) as Promise<`0x${string}`>;
3214
+ }
3215
+
3216
+ /**
3217
+ * initialize
3218
+ * nonpayable
3219
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3220
+ */
3221
+ async initialize(initializationParams: Vault_InitializationParams, upgradeParams: Vault_UpgradeParams, options?: {
3222
+ accessList?: import('viem').AccessList;
3223
+ authorizationList?: import('viem').AuthorizationList;
3224
+ chain?: import('viem').Chain | null;
3225
+ dataSuffix?: `0x${string}`;
3226
+ gas?: bigint;
3227
+ gasPrice?: bigint;
3228
+ maxFeePerGas?: bigint;
3229
+ maxPriorityFeePerGas?: bigint;
3230
+ nonce?: number;
3231
+ value?: bigint;
3232
+ }): Promise<`0x${string}`> {
3233
+ if (!this.contract.write) {
3234
+ throw new Error('Wallet client is required for write operations');
3235
+ }
3236
+ return this.contract.write.initialize([initializationParams, upgradeParams] as const, options) as Promise<`0x${string}`>;
3237
+ }
3238
+
3239
+ /**
3240
+ * mint
3241
+ * nonpayable
3242
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3243
+ */
3244
+ async mint(shares: bigint, receiver: `0x${string}`, options?: {
3245
+ accessList?: import('viem').AccessList;
3246
+ authorizationList?: import('viem').AuthorizationList;
3247
+ chain?: import('viem').Chain | null;
3248
+ dataSuffix?: `0x${string}`;
3249
+ gas?: bigint;
3250
+ gasPrice?: bigint;
3251
+ maxFeePerGas?: bigint;
3252
+ maxPriorityFeePerGas?: bigint;
3253
+ nonce?: number;
3254
+ value?: bigint;
3255
+ }): Promise<`0x${string}`> {
3256
+ if (!this.contract.write) {
3257
+ throw new Error('Wallet client is required for write operations');
3258
+ }
3259
+ return this.contract.write.mint([shares, receiver] as const, options) as Promise<`0x${string}`>;
3260
+ }
3261
+
3262
+ /**
3263
+ * pauseDeposit
3264
+ * nonpayable
3265
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3266
+ */
3267
+ async pauseDeposit(options?: {
3268
+ accessList?: import('viem').AccessList;
3269
+ authorizationList?: import('viem').AuthorizationList;
3270
+ chain?: import('viem').Chain | null;
3271
+ dataSuffix?: `0x${string}`;
3272
+ gas?: bigint;
3273
+ gasPrice?: bigint;
3274
+ maxFeePerGas?: bigint;
3275
+ maxPriorityFeePerGas?: bigint;
3276
+ nonce?: number;
3277
+ value?: bigint;
3278
+ }): Promise<`0x${string}`> {
3279
+ if (!this.contract.write) {
3280
+ throw new Error('Wallet client is required for write operations');
3281
+ }
3282
+ return this.contract.write.pauseDeposit(options) as Promise<`0x${string}`>;
3283
+ }
3284
+
3285
+ /**
3286
+ * redeem
3287
+ * nonpayable
3288
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3289
+ */
3290
+ async redeem(shares: bigint, receiver: `0x${string}`, owner: `0x${string}`, options?: {
3291
+ accessList?: import('viem').AccessList;
3292
+ authorizationList?: import('viem').AuthorizationList;
3293
+ chain?: import('viem').Chain | null;
3294
+ dataSuffix?: `0x${string}`;
3295
+ gas?: bigint;
3296
+ gasPrice?: bigint;
3297
+ maxFeePerGas?: bigint;
3298
+ maxPriorityFeePerGas?: bigint;
3299
+ nonce?: number;
3300
+ value?: bigint;
3301
+ }): Promise<`0x${string}`> {
3302
+ if (!this.contract.write) {
3303
+ throw new Error('Wallet client is required for write operations');
3304
+ }
3305
+ return this.contract.write.redeem([shares, receiver, owner] as const, options) as Promise<`0x${string}`>;
3306
+ }
3307
+
3308
+ /**
3309
+ * renounceRole
3310
+ * nonpayable
3311
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3312
+ */
3313
+ async renounceRole(role: `0x${string}`, account: `0x${string}`, options?: {
3314
+ accessList?: import('viem').AccessList;
3315
+ authorizationList?: import('viem').AuthorizationList;
3316
+ chain?: import('viem').Chain | null;
3317
+ dataSuffix?: `0x${string}`;
3318
+ gas?: bigint;
3319
+ gasPrice?: bigint;
3320
+ maxFeePerGas?: bigint;
3321
+ maxPriorityFeePerGas?: bigint;
3322
+ nonce?: number;
3323
+ value?: bigint;
3324
+ }): Promise<`0x${string}`> {
3325
+ if (!this.contract.write) {
3326
+ throw new Error('Wallet client is required for write operations');
3327
+ }
3328
+ return this.contract.write.renounceRole([role, account] as const, options) as Promise<`0x${string}`>;
3329
+ }
3330
+
3331
+ /**
3332
+ * revokeRole
3333
+ * nonpayable
3334
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3335
+ */
3336
+ async revokeRole(role: `0x${string}`, account: `0x${string}`, options?: {
3337
+ accessList?: import('viem').AccessList;
3338
+ authorizationList?: import('viem').AuthorizationList;
3339
+ chain?: import('viem').Chain | null;
3340
+ dataSuffix?: `0x${string}`;
3341
+ gas?: bigint;
3342
+ gasPrice?: bigint;
3343
+ maxFeePerGas?: bigint;
3344
+ maxPriorityFeePerGas?: bigint;
3345
+ nonce?: number;
3346
+ value?: bigint;
3347
+ }): Promise<`0x${string}`> {
3348
+ if (!this.contract.write) {
3349
+ throw new Error('Wallet client is required for write operations');
3350
+ }
3351
+ return this.contract.write.revokeRole([role, account] as const, options) as Promise<`0x${string}`>;
3352
+ }
3353
+
3354
+ /**
3355
+ * rollbackDefaultAdminDelay
3356
+ * nonpayable
3357
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3358
+ */
3359
+ async rollbackDefaultAdminDelay(options?: {
3360
+ accessList?: import('viem').AccessList;
3361
+ authorizationList?: import('viem').AuthorizationList;
3362
+ chain?: import('viem').Chain | null;
3363
+ dataSuffix?: `0x${string}`;
3364
+ gas?: bigint;
3365
+ gasPrice?: bigint;
3366
+ maxFeePerGas?: bigint;
3367
+ maxPriorityFeePerGas?: bigint;
3368
+ nonce?: number;
3369
+ value?: bigint;
3370
+ }): Promise<`0x${string}`> {
3371
+ if (!this.contract.write) {
3372
+ throw new Error('Wallet client is required for write operations');
3373
+ }
3374
+ return this.contract.write.rollbackDefaultAdminDelay(options) as Promise<`0x${string}`>;
3375
+ }
3376
+
3377
+ /**
3378
+ * setAdditionalRewardsStrategy
3379
+ * nonpayable
3380
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3381
+ */
3382
+ async setAdditionalRewardsStrategy(strategy: bigint, options?: {
3383
+ accessList?: import('viem').AccessList;
3384
+ authorizationList?: import('viem').AuthorizationList;
3385
+ chain?: import('viem').Chain | null;
3386
+ dataSuffix?: `0x${string}`;
3387
+ gas?: bigint;
3388
+ gasPrice?: bigint;
3389
+ maxFeePerGas?: bigint;
3390
+ maxPriorityFeePerGas?: bigint;
3391
+ nonce?: number;
3392
+ value?: bigint;
3393
+ }): Promise<`0x${string}`> {
3394
+ if (!this.contract.write) {
3395
+ throw new Error('Wallet client is required for write operations');
3396
+ }
3397
+ return this.contract.write.setAdditionalRewardsStrategy([strategy] as const, options) as Promise<`0x${string}`>;
3398
+ }
3399
+
3400
+ /**
3401
+ * setBlockList
3402
+ * nonpayable
3403
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3404
+ */
3405
+ async setBlockList(newBlockList: `0x${string}`, options?: {
3406
+ accessList?: import('viem').AccessList;
3407
+ authorizationList?: import('viem').AuthorizationList;
3408
+ chain?: import('viem').Chain | null;
3409
+ dataSuffix?: `0x${string}`;
3410
+ gas?: bigint;
3411
+ gasPrice?: bigint;
3412
+ maxFeePerGas?: bigint;
3413
+ maxPriorityFeePerGas?: bigint;
3414
+ nonce?: number;
3415
+ value?: bigint;
3416
+ }): Promise<`0x${string}`> {
3417
+ if (!this.contract.write) {
3418
+ throw new Error('Wallet client is required for write operations');
3419
+ }
3420
+ return this.contract.write.setBlockList([newBlockList] as const, options) as Promise<`0x${string}`>;
3421
+ }
3422
+
3423
+ /**
3424
+ * setDepositFee
3425
+ * nonpayable
3426
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3427
+ */
3428
+ async setDepositFee(newDepositFee: bigint, options?: {
3429
+ accessList?: import('viem').AccessList;
3430
+ authorizationList?: import('viem').AuthorizationList;
3431
+ chain?: import('viem').Chain | null;
3432
+ dataSuffix?: `0x${string}`;
3433
+ gas?: bigint;
3434
+ gasPrice?: bigint;
3435
+ maxFeePerGas?: bigint;
3436
+ maxPriorityFeePerGas?: bigint;
3437
+ nonce?: number;
3438
+ value?: bigint;
3439
+ }): Promise<`0x${string}`> {
3440
+ if (!this.contract.write) {
3441
+ throw new Error('Wallet client is required for write operations');
3442
+ }
3443
+ return this.contract.write.setDepositFee([newDepositFee] as const, options) as Promise<`0x${string}`>;
3444
+ }
3445
+
3446
+ /**
3447
+ * setFeeRecipients
3448
+ * nonpayable
3449
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3450
+ */
3451
+ async setFeeRecipients(recipients: IFeeDispatcher_FeeRecipient[], options?: {
3452
+ accessList?: import('viem').AccessList;
3453
+ authorizationList?: import('viem').AuthorizationList;
3454
+ chain?: import('viem').Chain | null;
3455
+ dataSuffix?: `0x${string}`;
3456
+ gas?: bigint;
3457
+ gasPrice?: bigint;
3458
+ maxFeePerGas?: bigint;
3459
+ maxPriorityFeePerGas?: bigint;
3460
+ nonce?: number;
3461
+ value?: bigint;
3462
+ }): Promise<`0x${string}`> {
3463
+ if (!this.contract.write) {
3464
+ throw new Error('Wallet client is required for write operations');
3465
+ }
3466
+ return this.contract.write.setFeeRecipients([recipients] as const, options) as Promise<`0x${string}`>;
3467
+ }
3468
+
3469
+ /**
3470
+ * setRewardFee
3471
+ * nonpayable
3472
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3473
+ */
3474
+ async setRewardFee(newRewardFee: bigint, options?: {
3475
+ accessList?: import('viem').AccessList;
3476
+ authorizationList?: import('viem').AuthorizationList;
3477
+ chain?: import('viem').Chain | null;
3478
+ dataSuffix?: `0x${string}`;
3479
+ gas?: bigint;
3480
+ gasPrice?: bigint;
3481
+ maxFeePerGas?: bigint;
3482
+ maxPriorityFeePerGas?: bigint;
3483
+ nonce?: number;
3484
+ value?: bigint;
3485
+ }): Promise<`0x${string}`> {
3486
+ if (!this.contract.write) {
3487
+ throw new Error('Wallet client is required for write operations');
3488
+ }
3489
+ return this.contract.write.setRewardFee([newRewardFee] as const, options) as Promise<`0x${string}`>;
3490
+ }
3491
+
3492
+ /**
3493
+ * transfer
3494
+ * nonpayable
3495
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3496
+ */
3497
+ async transfer(to: `0x${string}`, value: bigint, options?: {
3498
+ accessList?: import('viem').AccessList;
3499
+ authorizationList?: import('viem').AuthorizationList;
3500
+ chain?: import('viem').Chain | null;
3501
+ dataSuffix?: `0x${string}`;
3502
+ gas?: bigint;
3503
+ gasPrice?: bigint;
3504
+ maxFeePerGas?: bigint;
3505
+ maxPriorityFeePerGas?: bigint;
3506
+ nonce?: number;
3507
+ value?: bigint;
3508
+ }): Promise<`0x${string}`> {
3509
+ if (!this.contract.write) {
3510
+ throw new Error('Wallet client is required for write operations');
3511
+ }
3512
+ return this.contract.write.transfer([to, value] as const, options) as Promise<`0x${string}`>;
3513
+ }
3514
+
3515
+ /**
3516
+ * transferFrom
3517
+ * nonpayable
3518
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3519
+ */
3520
+ async transferFrom(from: `0x${string}`, to: `0x${string}`, value: 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<`0x${string}`> {
3532
+ if (!this.contract.write) {
3533
+ throw new Error('Wallet client is required for write operations');
3534
+ }
3535
+ return this.contract.write.transferFrom([from, to, value] as const, options) as Promise<`0x${string}`>;
3536
+ }
3537
+
3538
+ /**
3539
+ * unpauseDeposit
3540
+ * nonpayable
3541
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3542
+ */
3543
+ async unpauseDeposit(options?: {
3544
+ accessList?: import('viem').AccessList;
3545
+ authorizationList?: import('viem').AuthorizationList;
3546
+ chain?: import('viem').Chain | null;
3547
+ dataSuffix?: `0x${string}`;
3548
+ gas?: bigint;
3549
+ gasPrice?: bigint;
3550
+ maxFeePerGas?: bigint;
3551
+ maxPriorityFeePerGas?: bigint;
3552
+ nonce?: number;
3553
+ value?: bigint;
3554
+ }): Promise<`0x${string}`> {
3555
+ if (!this.contract.write) {
3556
+ throw new Error('Wallet client is required for write operations');
3557
+ }
3558
+ return this.contract.write.unpauseDeposit(options) as Promise<`0x${string}`>;
3559
+ }
3560
+
3561
+ /**
3562
+ * upgrade
3563
+ * nonpayable
3564
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3565
+ */
3566
+ async upgrade(upgradeParams: Vault_UpgradeParams, options?: {
3567
+ accessList?: import('viem').AccessList;
3568
+ authorizationList?: import('viem').AuthorizationList;
3569
+ chain?: import('viem').Chain | null;
3570
+ dataSuffix?: `0x${string}`;
3571
+ gas?: bigint;
3572
+ gasPrice?: bigint;
3573
+ maxFeePerGas?: bigint;
3574
+ maxPriorityFeePerGas?: bigint;
3575
+ nonce?: number;
3576
+ value?: bigint;
3577
+ }): Promise<`0x${string}`> {
3578
+ if (!this.contract.write) {
3579
+ throw new Error('Wallet client is required for write operations');
3580
+ }
3581
+ return this.contract.write.upgrade([upgradeParams] as const, options) as Promise<`0x${string}`>;
3582
+ }
3583
+
3584
+ /**
3585
+ * withdraw
3586
+ * nonpayable
3587
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3588
+ */
3589
+ async withdraw(assets: bigint, receiver: `0x${string}`, owner: `0x${string}`, options?: {
3590
+ accessList?: import('viem').AccessList;
3591
+ authorizationList?: import('viem').AuthorizationList;
3592
+ chain?: import('viem').Chain | null;
3593
+ dataSuffix?: `0x${string}`;
3594
+ gas?: bigint;
3595
+ gasPrice?: bigint;
3596
+ maxFeePerGas?: bigint;
3597
+ maxPriorityFeePerGas?: bigint;
3598
+ nonce?: number;
3599
+ value?: bigint;
3600
+ }): Promise<`0x${string}`> {
3601
+ if (!this.contract.write) {
3602
+ throw new Error('Wallet client is required for write operations');
3603
+ }
3604
+ return this.contract.write.withdraw([assets, receiver, owner] as const, options) as Promise<`0x${string}`>;
3605
+ }
3606
+
3607
+
3608
+
3609
+ /**
3610
+ * Simulate contract write operations (dry-run without sending transaction)
3611
+ *
3612
+ * @example
3613
+ * const result = await contract.simulate.transfer('0x...', 1000n);
3614
+ * console.log('Gas estimate:', result.request.gas);
3615
+ * console.log('Would succeed:', result.result);
3616
+ */
3617
+ get simulate() {
3618
+ const contract = this.contract;
3619
+ if (!contract.simulate) {
3620
+ throw new Error('Public client is required for simulation');
3621
+ }
3622
+ return {
3623
+ /**
3624
+ * Simulate acceptDefaultAdminTransfer
3625
+ * Returns gas estimate and result without sending transaction
3626
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3627
+ */
3628
+ async acceptDefaultAdminTransfer(options?: {
3629
+ accessList?: import('viem').AccessList;
3630
+ authorizationList?: import('viem').AuthorizationList;
3631
+ chain?: import('viem').Chain | null;
3632
+ dataSuffix?: `0x${string}`;
3633
+ gas?: bigint;
3634
+ gasPrice?: bigint;
3635
+ maxFeePerGas?: bigint;
3636
+ maxPriorityFeePerGas?: bigint;
3637
+ nonce?: number;
3638
+ value?: bigint;
3639
+ }): Promise<void> {
3640
+ return contract.simulate.acceptDefaultAdminTransfer(options) as Promise<void>;
3641
+ },
3642
+ /**
3643
+ * Simulate approve
3644
+ * Returns gas estimate and result without sending transaction
3645
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3646
+ */
3647
+ async approve(spender: `0x${string}`, value: bigint, options?: {
3648
+ accessList?: import('viem').AccessList;
3649
+ authorizationList?: import('viem').AuthorizationList;
3650
+ chain?: import('viem').Chain | null;
3651
+ dataSuffix?: `0x${string}`;
3652
+ gas?: bigint;
3653
+ gasPrice?: bigint;
3654
+ maxFeePerGas?: bigint;
3655
+ maxPriorityFeePerGas?: bigint;
3656
+ nonce?: number;
3657
+ value?: bigint;
3658
+ }): Promise<boolean> {
3659
+ return contract.simulate.approve([spender, value] as const, options) as Promise<boolean>;
3660
+ },
3661
+ /**
3662
+ * Simulate beginDefaultAdminTransfer
3663
+ * Returns gas estimate and result without sending transaction
3664
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3665
+ */
3666
+ async beginDefaultAdminTransfer(newAdmin: `0x${string}`, options?: {
3667
+ accessList?: import('viem').AccessList;
3668
+ authorizationList?: import('viem').AuthorizationList;
3669
+ chain?: import('viem').Chain | null;
3670
+ dataSuffix?: `0x${string}`;
3671
+ gas?: bigint;
3672
+ gasPrice?: bigint;
3673
+ maxFeePerGas?: bigint;
3674
+ maxPriorityFeePerGas?: bigint;
3675
+ nonce?: number;
3676
+ value?: bigint;
3677
+ }): Promise<void> {
3678
+ return contract.simulate.beginDefaultAdminTransfer([newAdmin] as const, options) as Promise<void>;
3679
+ },
3680
+ /**
3681
+ * Simulate cancelDefaultAdminTransfer
3682
+ * Returns gas estimate and result without sending transaction
3683
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3684
+ */
3685
+ async cancelDefaultAdminTransfer(options?: {
3686
+ accessList?: import('viem').AccessList;
3687
+ authorizationList?: import('viem').AuthorizationList;
3688
+ chain?: import('viem').Chain | null;
3689
+ dataSuffix?: `0x${string}`;
3690
+ gas?: bigint;
3691
+ gasPrice?: bigint;
3692
+ maxFeePerGas?: bigint;
3693
+ maxPriorityFeePerGas?: bigint;
3694
+ nonce?: number;
3695
+ value?: bigint;
3696
+ }): Promise<void> {
3697
+ return contract.simulate.cancelDefaultAdminTransfer(options) as Promise<void>;
3698
+ },
3699
+ /**
3700
+ * Simulate changeDefaultAdminDelay
3701
+ * Returns gas estimate and result without sending transaction
3702
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3703
+ */
3704
+ async changeDefaultAdminDelay(newDelay: bigint, options?: {
3705
+ accessList?: import('viem').AccessList;
3706
+ authorizationList?: import('viem').AuthorizationList;
3707
+ chain?: import('viem').Chain | null;
3708
+ dataSuffix?: `0x${string}`;
3709
+ gas?: bigint;
3710
+ gasPrice?: bigint;
3711
+ maxFeePerGas?: bigint;
3712
+ maxPriorityFeePerGas?: bigint;
3713
+ nonce?: number;
3714
+ value?: bigint;
3715
+ }): Promise<void> {
3716
+ return contract.simulate.changeDefaultAdminDelay([newDelay] as const, options) as Promise<void>;
3717
+ },
3718
+ /**
3719
+ * Simulate claimAdditionalRewards
3720
+ * Returns gas estimate and result without sending transaction
3721
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3722
+ */
3723
+ async claimAdditionalRewards(rewardsAsset: `0x${string}`, payload: `0x${string}`, options?: {
3724
+ accessList?: import('viem').AccessList;
3725
+ authorizationList?: import('viem').AuthorizationList;
3726
+ chain?: import('viem').Chain | null;
3727
+ dataSuffix?: `0x${string}`;
3728
+ gas?: bigint;
3729
+ gasPrice?: bigint;
3730
+ maxFeePerGas?: bigint;
3731
+ maxPriorityFeePerGas?: bigint;
3732
+ nonce?: number;
3733
+ value?: bigint;
3734
+ }): Promise<void> {
3735
+ return contract.simulate.claimAdditionalRewards([rewardsAsset, payload] as const, options) as Promise<void>;
3736
+ },
3737
+ /**
3738
+ * Simulate collectRewardFees
3739
+ * Returns gas estimate and result without sending transaction
3740
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3741
+ */
3742
+ async collectRewardFees(options?: {
3743
+ accessList?: import('viem').AccessList;
3744
+ authorizationList?: import('viem').AuthorizationList;
3745
+ chain?: import('viem').Chain | null;
3746
+ dataSuffix?: `0x${string}`;
3747
+ gas?: bigint;
3748
+ gasPrice?: bigint;
3749
+ maxFeePerGas?: bigint;
3750
+ maxPriorityFeePerGas?: bigint;
3751
+ nonce?: number;
3752
+ value?: bigint;
3753
+ }): Promise<void> {
3754
+ return contract.simulate.collectRewardFees(options) as Promise<void>;
3755
+ },
3756
+ /**
3757
+ * Simulate delegateToFactory
3758
+ * Returns gas estimate and result without sending transaction
3759
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3760
+ */
3761
+ async delegateToFactory(data: `0x${string}`, options?: {
3762
+ accessList?: import('viem').AccessList;
3763
+ authorizationList?: import('viem').AuthorizationList;
3764
+ chain?: import('viem').Chain | null;
3765
+ dataSuffix?: `0x${string}`;
3766
+ gas?: bigint;
3767
+ gasPrice?: bigint;
3768
+ maxFeePerGas?: bigint;
3769
+ maxPriorityFeePerGas?: bigint;
3770
+ nonce?: number;
3771
+ value?: bigint;
3772
+ }): Promise<`0x${string}`> {
3773
+ return contract.simulate.delegateToFactory([data] as const, options) as Promise<`0x${string}`>;
3774
+ },
3775
+ /**
3776
+ * Simulate deposit
3777
+ * Returns gas estimate and result without sending transaction
3778
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3779
+ */
3780
+ async deposit(assets: bigint, receiver: `0x${string}`, options?: {
3781
+ accessList?: import('viem').AccessList;
3782
+ authorizationList?: import('viem').AuthorizationList;
3783
+ chain?: import('viem').Chain | null;
3784
+ dataSuffix?: `0x${string}`;
3785
+ gas?: bigint;
3786
+ gasPrice?: bigint;
3787
+ maxFeePerGas?: bigint;
3788
+ maxPriorityFeePerGas?: bigint;
3789
+ nonce?: number;
3790
+ value?: bigint;
3791
+ }): Promise<bigint> {
3792
+ return contract.simulate.deposit([assets, receiver] as const, options) as Promise<bigint>;
3793
+ },
3794
+ /**
3795
+ * Simulate dispatchFees
3796
+ * Returns gas estimate and result without sending transaction
3797
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3798
+ */
3799
+ async dispatchFees(options?: {
3800
+ accessList?: import('viem').AccessList;
3801
+ authorizationList?: import('viem').AuthorizationList;
3802
+ chain?: import('viem').Chain | null;
3803
+ dataSuffix?: `0x${string}`;
3804
+ gas?: bigint;
3805
+ gasPrice?: bigint;
3806
+ maxFeePerGas?: bigint;
3807
+ maxPriorityFeePerGas?: bigint;
3808
+ nonce?: number;
3809
+ value?: bigint;
3810
+ }): Promise<void> {
3811
+ return contract.simulate.dispatchFees(options) as Promise<void>;
3812
+ },
3813
+ /**
3814
+ * Simulate forceWithdraw
3815
+ * Returns gas estimate and result without sending transaction
3816
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3817
+ */
3818
+ async forceWithdraw(blockedUser: `0x${string}`, options?: {
3819
+ accessList?: import('viem').AccessList;
3820
+ authorizationList?: import('viem').AuthorizationList;
3821
+ chain?: import('viem').Chain | null;
3822
+ dataSuffix?: `0x${string}`;
3823
+ gas?: bigint;
3824
+ gasPrice?: bigint;
3825
+ maxFeePerGas?: bigint;
3826
+ maxPriorityFeePerGas?: bigint;
3827
+ nonce?: number;
3828
+ value?: bigint;
3829
+ }): Promise<bigint> {
3830
+ return contract.simulate.forceWithdraw([blockedUser] as const, options) as Promise<bigint>;
3831
+ },
3832
+ /**
3833
+ * Simulate grantRole
3834
+ * Returns gas estimate and result without sending transaction
3835
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3836
+ */
3837
+ async grantRole(role: `0x${string}`, account: `0x${string}`, options?: {
3838
+ accessList?: import('viem').AccessList;
3839
+ authorizationList?: import('viem').AuthorizationList;
3840
+ chain?: import('viem').Chain | null;
3841
+ dataSuffix?: `0x${string}`;
3842
+ gas?: bigint;
3843
+ gasPrice?: bigint;
3844
+ maxFeePerGas?: bigint;
3845
+ maxPriorityFeePerGas?: bigint;
3846
+ nonce?: number;
3847
+ value?: bigint;
3848
+ }): Promise<void> {
3849
+ return contract.simulate.grantRole([role, account] as const, options) as Promise<void>;
3850
+ },
3851
+ /**
3852
+ * Simulate initialize
3853
+ * Returns gas estimate and result without sending transaction
3854
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3855
+ */
3856
+ async initialize(initializationParams: Vault_InitializationParams, upgradeParams: Vault_UpgradeParams, options?: {
3857
+ accessList?: import('viem').AccessList;
3858
+ authorizationList?: import('viem').AuthorizationList;
3859
+ chain?: import('viem').Chain | null;
3860
+ dataSuffix?: `0x${string}`;
3861
+ gas?: bigint;
3862
+ gasPrice?: bigint;
3863
+ maxFeePerGas?: bigint;
3864
+ maxPriorityFeePerGas?: bigint;
3865
+ nonce?: number;
3866
+ value?: bigint;
3867
+ }): Promise<void> {
3868
+ return contract.simulate.initialize([initializationParams, upgradeParams] as const, options) as Promise<void>;
3869
+ },
3870
+ /**
3871
+ * Simulate mint
3872
+ * Returns gas estimate and result without sending transaction
3873
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3874
+ */
3875
+ async mint(shares: bigint, receiver: `0x${string}`, options?: {
3876
+ accessList?: import('viem').AccessList;
3877
+ authorizationList?: import('viem').AuthorizationList;
3878
+ chain?: import('viem').Chain | null;
3879
+ dataSuffix?: `0x${string}`;
3880
+ gas?: bigint;
3881
+ gasPrice?: bigint;
3882
+ maxFeePerGas?: bigint;
3883
+ maxPriorityFeePerGas?: bigint;
3884
+ nonce?: number;
3885
+ value?: bigint;
3886
+ }): Promise<bigint> {
3887
+ return contract.simulate.mint([shares, receiver] as const, options) as Promise<bigint>;
3888
+ },
3889
+ /**
3890
+ * Simulate pauseDeposit
3891
+ * Returns gas estimate and result without sending transaction
3892
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3893
+ */
3894
+ async pauseDeposit(options?: {
3895
+ accessList?: import('viem').AccessList;
3896
+ authorizationList?: import('viem').AuthorizationList;
3897
+ chain?: import('viem').Chain | null;
3898
+ dataSuffix?: `0x${string}`;
3899
+ gas?: bigint;
3900
+ gasPrice?: bigint;
3901
+ maxFeePerGas?: bigint;
3902
+ maxPriorityFeePerGas?: bigint;
3903
+ nonce?: number;
3904
+ value?: bigint;
3905
+ }): Promise<void> {
3906
+ return contract.simulate.pauseDeposit(options) as Promise<void>;
3907
+ },
3908
+ /**
3909
+ * Simulate redeem
3910
+ * Returns gas estimate and result without sending transaction
3911
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3912
+ */
3913
+ async redeem(shares: bigint, receiver: `0x${string}`, owner: `0x${string}`, options?: {
3914
+ accessList?: import('viem').AccessList;
3915
+ authorizationList?: import('viem').AuthorizationList;
3916
+ chain?: import('viem').Chain | null;
3917
+ dataSuffix?: `0x${string}`;
3918
+ gas?: bigint;
3919
+ gasPrice?: bigint;
3920
+ maxFeePerGas?: bigint;
3921
+ maxPriorityFeePerGas?: bigint;
3922
+ nonce?: number;
3923
+ value?: bigint;
3924
+ }): Promise<bigint> {
3925
+ return contract.simulate.redeem([shares, receiver, owner] as const, options) as Promise<bigint>;
3926
+ },
3927
+ /**
3928
+ * Simulate renounceRole
3929
+ * Returns gas estimate and result without sending transaction
3930
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3931
+ */
3932
+ async renounceRole(role: `0x${string}`, account: `0x${string}`, options?: {
3933
+ accessList?: import('viem').AccessList;
3934
+ authorizationList?: import('viem').AuthorizationList;
3935
+ chain?: import('viem').Chain | null;
3936
+ dataSuffix?: `0x${string}`;
3937
+ gas?: bigint;
3938
+ gasPrice?: bigint;
3939
+ maxFeePerGas?: bigint;
3940
+ maxPriorityFeePerGas?: bigint;
3941
+ nonce?: number;
3942
+ value?: bigint;
3943
+ }): Promise<void> {
3944
+ return contract.simulate.renounceRole([role, account] as const, options) as Promise<void>;
3945
+ },
3946
+ /**
3947
+ * Simulate revokeRole
3948
+ * Returns gas estimate and result without sending transaction
3949
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3950
+ */
3951
+ async revokeRole(role: `0x${string}`, account: `0x${string}`, options?: {
3952
+ accessList?: import('viem').AccessList;
3953
+ authorizationList?: import('viem').AuthorizationList;
3954
+ chain?: import('viem').Chain | null;
3955
+ dataSuffix?: `0x${string}`;
3956
+ gas?: bigint;
3957
+ gasPrice?: bigint;
3958
+ maxFeePerGas?: bigint;
3959
+ maxPriorityFeePerGas?: bigint;
3960
+ nonce?: number;
3961
+ value?: bigint;
3962
+ }): Promise<void> {
3963
+ return contract.simulate.revokeRole([role, account] as const, options) as Promise<void>;
3964
+ },
3965
+ /**
3966
+ * Simulate rollbackDefaultAdminDelay
3967
+ * Returns gas estimate and result without sending transaction
3968
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3969
+ */
3970
+ async rollbackDefaultAdminDelay(options?: {
3971
+ accessList?: import('viem').AccessList;
3972
+ authorizationList?: import('viem').AuthorizationList;
3973
+ chain?: import('viem').Chain | null;
3974
+ dataSuffix?: `0x${string}`;
3975
+ gas?: bigint;
3976
+ gasPrice?: bigint;
3977
+ maxFeePerGas?: bigint;
3978
+ maxPriorityFeePerGas?: bigint;
3979
+ nonce?: number;
3980
+ value?: bigint;
3981
+ }): Promise<void> {
3982
+ return contract.simulate.rollbackDefaultAdminDelay(options) as Promise<void>;
3983
+ },
3984
+ /**
3985
+ * Simulate setAdditionalRewardsStrategy
3986
+ * Returns gas estimate and result without sending transaction
3987
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3988
+ */
3989
+ async setAdditionalRewardsStrategy(strategy: bigint, options?: {
3990
+ accessList?: import('viem').AccessList;
3991
+ authorizationList?: import('viem').AuthorizationList;
3992
+ chain?: import('viem').Chain | null;
3993
+ dataSuffix?: `0x${string}`;
3994
+ gas?: bigint;
3995
+ gasPrice?: bigint;
3996
+ maxFeePerGas?: bigint;
3997
+ maxPriorityFeePerGas?: bigint;
3998
+ nonce?: number;
3999
+ value?: bigint;
4000
+ }): Promise<void> {
4001
+ return contract.simulate.setAdditionalRewardsStrategy([strategy] as const, options) as Promise<void>;
4002
+ },
4003
+ /**
4004
+ * Simulate setBlockList
4005
+ * Returns gas estimate and result without sending transaction
4006
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4007
+ */
4008
+ async setBlockList(newBlockList: `0x${string}`, options?: {
4009
+ accessList?: import('viem').AccessList;
4010
+ authorizationList?: import('viem').AuthorizationList;
4011
+ chain?: import('viem').Chain | null;
4012
+ dataSuffix?: `0x${string}`;
4013
+ gas?: bigint;
4014
+ gasPrice?: bigint;
4015
+ maxFeePerGas?: bigint;
4016
+ maxPriorityFeePerGas?: bigint;
4017
+ nonce?: number;
4018
+ value?: bigint;
4019
+ }): Promise<void> {
4020
+ return contract.simulate.setBlockList([newBlockList] as const, options) as Promise<void>;
4021
+ },
4022
+ /**
4023
+ * Simulate setDepositFee
4024
+ * Returns gas estimate and result without sending transaction
4025
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4026
+ */
4027
+ async setDepositFee(newDepositFee: bigint, options?: {
4028
+ accessList?: import('viem').AccessList;
4029
+ authorizationList?: import('viem').AuthorizationList;
4030
+ chain?: import('viem').Chain | null;
4031
+ dataSuffix?: `0x${string}`;
4032
+ gas?: bigint;
4033
+ gasPrice?: bigint;
4034
+ maxFeePerGas?: bigint;
4035
+ maxPriorityFeePerGas?: bigint;
4036
+ nonce?: number;
4037
+ value?: bigint;
4038
+ }): Promise<void> {
4039
+ return contract.simulate.setDepositFee([newDepositFee] as const, options) as Promise<void>;
4040
+ },
4041
+ /**
4042
+ * Simulate setFeeRecipients
4043
+ * Returns gas estimate and result without sending transaction
4044
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4045
+ */
4046
+ async setFeeRecipients(recipients: IFeeDispatcher_FeeRecipient[], options?: {
4047
+ accessList?: import('viem').AccessList;
4048
+ authorizationList?: import('viem').AuthorizationList;
4049
+ chain?: import('viem').Chain | null;
4050
+ dataSuffix?: `0x${string}`;
4051
+ gas?: bigint;
4052
+ gasPrice?: bigint;
4053
+ maxFeePerGas?: bigint;
4054
+ maxPriorityFeePerGas?: bigint;
4055
+ nonce?: number;
4056
+ value?: bigint;
4057
+ }): Promise<void> {
4058
+ return contract.simulate.setFeeRecipients([recipients] as const, options) as Promise<void>;
4059
+ },
4060
+ /**
4061
+ * Simulate setRewardFee
4062
+ * Returns gas estimate and result without sending transaction
4063
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4064
+ */
4065
+ async setRewardFee(newRewardFee: bigint, options?: {
4066
+ accessList?: import('viem').AccessList;
4067
+ authorizationList?: import('viem').AuthorizationList;
4068
+ chain?: import('viem').Chain | null;
4069
+ dataSuffix?: `0x${string}`;
4070
+ gas?: bigint;
4071
+ gasPrice?: bigint;
4072
+ maxFeePerGas?: bigint;
4073
+ maxPriorityFeePerGas?: bigint;
4074
+ nonce?: number;
4075
+ value?: bigint;
4076
+ }): Promise<void> {
4077
+ return contract.simulate.setRewardFee([newRewardFee] as const, options) as Promise<void>;
4078
+ },
4079
+ /**
4080
+ * Simulate transfer
4081
+ * Returns gas estimate and result without sending transaction
4082
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4083
+ */
4084
+ async transfer(to: `0x${string}`, value: bigint, options?: {
4085
+ accessList?: import('viem').AccessList;
4086
+ authorizationList?: import('viem').AuthorizationList;
4087
+ chain?: import('viem').Chain | null;
4088
+ dataSuffix?: `0x${string}`;
4089
+ gas?: bigint;
4090
+ gasPrice?: bigint;
4091
+ maxFeePerGas?: bigint;
4092
+ maxPriorityFeePerGas?: bigint;
4093
+ nonce?: number;
4094
+ value?: bigint;
4095
+ }): Promise<boolean> {
4096
+ return contract.simulate.transfer([to, value] as const, options) as Promise<boolean>;
4097
+ },
4098
+ /**
4099
+ * Simulate transferFrom
4100
+ * Returns gas estimate and result without sending transaction
4101
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4102
+ */
4103
+ async transferFrom(from: `0x${string}`, to: `0x${string}`, value: bigint, options?: {
4104
+ accessList?: import('viem').AccessList;
4105
+ authorizationList?: import('viem').AuthorizationList;
4106
+ chain?: import('viem').Chain | null;
4107
+ dataSuffix?: `0x${string}`;
4108
+ gas?: bigint;
4109
+ gasPrice?: bigint;
4110
+ maxFeePerGas?: bigint;
4111
+ maxPriorityFeePerGas?: bigint;
4112
+ nonce?: number;
4113
+ value?: bigint;
4114
+ }): Promise<boolean> {
4115
+ return contract.simulate.transferFrom([from, to, value] as const, options) as Promise<boolean>;
4116
+ },
4117
+ /**
4118
+ * Simulate unpauseDeposit
4119
+ * Returns gas estimate and result without sending transaction
4120
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4121
+ */
4122
+ async unpauseDeposit(options?: {
4123
+ accessList?: import('viem').AccessList;
4124
+ authorizationList?: import('viem').AuthorizationList;
4125
+ chain?: import('viem').Chain | null;
4126
+ dataSuffix?: `0x${string}`;
4127
+ gas?: bigint;
4128
+ gasPrice?: bigint;
4129
+ maxFeePerGas?: bigint;
4130
+ maxPriorityFeePerGas?: bigint;
4131
+ nonce?: number;
4132
+ value?: bigint;
4133
+ }): Promise<void> {
4134
+ return contract.simulate.unpauseDeposit(options) as Promise<void>;
4135
+ },
4136
+ /**
4137
+ * Simulate upgrade
4138
+ * Returns gas estimate and result without sending transaction
4139
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4140
+ */
4141
+ async upgrade(upgradeParams: Vault_UpgradeParams, options?: {
4142
+ accessList?: import('viem').AccessList;
4143
+ authorizationList?: import('viem').AuthorizationList;
4144
+ chain?: import('viem').Chain | null;
4145
+ dataSuffix?: `0x${string}`;
4146
+ gas?: bigint;
4147
+ gasPrice?: bigint;
4148
+ maxFeePerGas?: bigint;
4149
+ maxPriorityFeePerGas?: bigint;
4150
+ nonce?: number;
4151
+ value?: bigint;
4152
+ }): Promise<void> {
4153
+ return contract.simulate.upgrade([upgradeParams] as const, options) as Promise<void>;
4154
+ },
4155
+ /**
4156
+ * Simulate withdraw
4157
+ * Returns gas estimate and result without sending transaction
4158
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
4159
+ */
4160
+ async withdraw(assets: bigint, receiver: `0x${string}`, owner: `0x${string}`, options?: {
4161
+ accessList?: import('viem').AccessList;
4162
+ authorizationList?: import('viem').AuthorizationList;
4163
+ chain?: import('viem').Chain | null;
4164
+ dataSuffix?: `0x${string}`;
4165
+ gas?: bigint;
4166
+ gasPrice?: bigint;
4167
+ maxFeePerGas?: bigint;
4168
+ maxPriorityFeePerGas?: bigint;
4169
+ nonce?: number;
4170
+ value?: bigint;
4171
+ }): Promise<bigint> {
4172
+ return contract.simulate.withdraw([assets, receiver, owner] as const, options) as Promise<bigint>;
4173
+ }
4174
+ };
4175
+ }
4176
+
4177
+ /**
4178
+ * Watch contract events
4179
+ *
4180
+ * @example
4181
+ * // Watch all Transfer events
4182
+ * const unwatch = contract.watch.Transfer((event) => {
4183
+ * console.log('Transfer:', event);
4184
+ * });
4185
+ *
4186
+ * // Stop watching
4187
+ * unwatch();
4188
+ */
4189
+ get watch() {
4190
+ return {
4191
+ /**
4192
+ * Watch AdditionalRewardsStrategyUpdated events
4193
+ * @param callback Function to call when event is emitted
4194
+ * @param filter Optional filter for indexed parameters
4195
+ * @returns Unwatch function to stop listening
4196
+ */
4197
+ AdditionalRewardsStrategyUpdated: (callback: (event: { newAdditionalRewardsStrategy: bigint }) => void) => {
4198
+ return this.publicClient.watchContractEvent({
4199
+ address: this.contractAddress,
4200
+ abi: Vault_jsonAbi,
4201
+ eventName: 'AdditionalRewardsStrategyUpdated',
4202
+
4203
+ onLogs: (logs: any[]) => {
4204
+ logs.forEach((log: any) => {
4205
+ callback(log.args as any);
4206
+ });
4207
+ },
4208
+ }) as () => void;
4209
+ },
4210
+ /**
4211
+ * Watch Approval events
4212
+ * @param callback Function to call when event is emitted
4213
+ * @param filter Optional filter for indexed parameters
4214
+ * @returns Unwatch function to stop listening
4215
+ */
4216
+ Approval: (callback: (event: { owner: `0x${string}`; spender: `0x${string}`; value: bigint }) => void, filter?: { owner: `0x${string}`; spender: `0x${string}` }) => {
4217
+ return this.publicClient.watchContractEvent({
4218
+ address: this.contractAddress,
4219
+ abi: Vault_jsonAbi,
4220
+ eventName: 'Approval',
4221
+ args: filter,
4222
+ onLogs: (logs: any[]) => {
4223
+ logs.forEach((log: any) => {
4224
+ callback(log.args as any);
4225
+ });
4226
+ },
4227
+ }) as () => void;
4228
+ },
4229
+ /**
4230
+ * Watch AssetInitialized events
4231
+ * @param callback Function to call when event is emitted
4232
+ * @param filter Optional filter for indexed parameters
4233
+ * @returns Unwatch function to stop listening
4234
+ */
4235
+ AssetInitialized: (callback: (event: { asset: `0x${string}` }) => void) => {
4236
+ return this.publicClient.watchContractEvent({
4237
+ address: this.contractAddress,
4238
+ abi: Vault_jsonAbi,
4239
+ eventName: 'AssetInitialized',
4240
+
4241
+ onLogs: (logs: any[]) => {
4242
+ logs.forEach((log: any) => {
4243
+ callback(log.args as any);
4244
+ });
4245
+ },
4246
+ }) as () => void;
4247
+ },
4248
+ /**
4249
+ * Watch BlockListUpdated events
4250
+ * @param callback Function to call when event is emitted
4251
+ * @param filter Optional filter for indexed parameters
4252
+ * @returns Unwatch function to stop listening
4253
+ */
4254
+ BlockListUpdated: (callback: (event: { newBlockList: `0x${string}` }) => void) => {
4255
+ return this.publicClient.watchContractEvent({
4256
+ address: this.contractAddress,
4257
+ abi: Vault_jsonAbi,
4258
+ eventName: 'BlockListUpdated',
4259
+
4260
+ onLogs: (logs: any[]) => {
4261
+ logs.forEach((log: any) => {
4262
+ callback(log.args as any);
4263
+ });
4264
+ },
4265
+ }) as () => void;
4266
+ },
4267
+ /**
4268
+ * Watch ConnectorNameUpdated events
4269
+ * @param callback Function to call when event is emitted
4270
+ * @param filter Optional filter for indexed parameters
4271
+ * @returns Unwatch function to stop listening
4272
+ */
4273
+ ConnectorNameUpdated: (callback: (event: { newConnectorName: `0x${string}` }) => void) => {
4274
+ return this.publicClient.watchContractEvent({
4275
+ address: this.contractAddress,
4276
+ abi: Vault_jsonAbi,
4277
+ eventName: 'ConnectorNameUpdated',
4278
+
4279
+ onLogs: (logs: any[]) => {
4280
+ logs.forEach((log: any) => {
4281
+ callback(log.args as any);
4282
+ });
4283
+ },
4284
+ }) as () => void;
4285
+ },
4286
+ /**
4287
+ * Watch ConnectorRegistryUpdated events
4288
+ * @param callback Function to call when event is emitted
4289
+ * @param filter Optional filter for indexed parameters
4290
+ * @returns Unwatch function to stop listening
4291
+ */
4292
+ ConnectorRegistryUpdated: (callback: (event: { newConnectorRegistry: `0x${string}` }) => void) => {
4293
+ return this.publicClient.watchContractEvent({
4294
+ address: this.contractAddress,
4295
+ abi: Vault_jsonAbi,
4296
+ eventName: 'ConnectorRegistryUpdated',
4297
+
4298
+ onLogs: (logs: any[]) => {
4299
+ logs.forEach((log: any) => {
4300
+ callback(log.args as any);
4301
+ });
4302
+ },
4303
+ }) as () => void;
4304
+ },
4305
+ /**
4306
+ * Watch DefaultAdminDelayChangeCanceled events
4307
+ * @param callback Function to call when event is emitted
4308
+ * @param filter Optional filter for indexed parameters
4309
+ * @returns Unwatch function to stop listening
4310
+ */
4311
+ DefaultAdminDelayChangeCanceled: (callback: (event: { }) => void) => {
4312
+ return this.publicClient.watchContractEvent({
4313
+ address: this.contractAddress,
4314
+ abi: Vault_jsonAbi,
4315
+ eventName: 'DefaultAdminDelayChangeCanceled',
4316
+
4317
+ onLogs: (logs: any[]) => {
4318
+ logs.forEach((log: any) => {
4319
+ callback(log.args as any);
4320
+ });
4321
+ },
4322
+ }) as () => void;
4323
+ },
4324
+ /**
4325
+ * Watch DefaultAdminDelayChangeScheduled events
4326
+ * @param callback Function to call when event is emitted
4327
+ * @param filter Optional filter for indexed parameters
4328
+ * @returns Unwatch function to stop listening
4329
+ */
4330
+ DefaultAdminDelayChangeScheduled: (callback: (event: { newDelay: bigint; effectSchedule: bigint }) => void) => {
4331
+ return this.publicClient.watchContractEvent({
4332
+ address: this.contractAddress,
4333
+ abi: Vault_jsonAbi,
4334
+ eventName: 'DefaultAdminDelayChangeScheduled',
4335
+
4336
+ onLogs: (logs: any[]) => {
4337
+ logs.forEach((log: any) => {
4338
+ callback(log.args as any);
4339
+ });
4340
+ },
4341
+ }) as () => void;
4342
+ },
4343
+ /**
4344
+ * Watch DefaultAdminTransferCanceled events
4345
+ * @param callback Function to call when event is emitted
4346
+ * @param filter Optional filter for indexed parameters
4347
+ * @returns Unwatch function to stop listening
4348
+ */
4349
+ DefaultAdminTransferCanceled: (callback: (event: { }) => void) => {
4350
+ return this.publicClient.watchContractEvent({
4351
+ address: this.contractAddress,
4352
+ abi: Vault_jsonAbi,
4353
+ eventName: 'DefaultAdminTransferCanceled',
4354
+
4355
+ onLogs: (logs: any[]) => {
4356
+ logs.forEach((log: any) => {
4357
+ callback(log.args as any);
4358
+ });
4359
+ },
4360
+ }) as () => void;
4361
+ },
4362
+ /**
4363
+ * Watch DefaultAdminTransferScheduled events
4364
+ * @param callback Function to call when event is emitted
4365
+ * @param filter Optional filter for indexed parameters
4366
+ * @returns Unwatch function to stop listening
4367
+ */
4368
+ DefaultAdminTransferScheduled: (callback: (event: { newAdmin: `0x${string}`; acceptSchedule: bigint }) => void, filter?: { newAdmin: `0x${string}` }) => {
4369
+ return this.publicClient.watchContractEvent({
4370
+ address: this.contractAddress,
4371
+ abi: Vault_jsonAbi,
4372
+ eventName: 'DefaultAdminTransferScheduled',
4373
+ args: filter,
4374
+ onLogs: (logs: any[]) => {
4375
+ logs.forEach((log: any) => {
4376
+ callback(log.args as any);
4377
+ });
4378
+ },
4379
+ }) as () => void;
4380
+ },
4381
+ /**
4382
+ * Watch Deposit events
4383
+ * @param callback Function to call when event is emitted
4384
+ * @param filter Optional filter for indexed parameters
4385
+ * @returns Unwatch function to stop listening
4386
+ */
4387
+ Deposit: (callback: (event: { sender: `0x${string}`; owner: `0x${string}`; assets: bigint; shares: bigint }) => void, filter?: { sender: `0x${string}`; owner: `0x${string}` }) => {
4388
+ return this.publicClient.watchContractEvent({
4389
+ address: this.contractAddress,
4390
+ abi: Vault_jsonAbi,
4391
+ eventName: 'Deposit',
4392
+ args: filter,
4393
+ onLogs: (logs: any[]) => {
4394
+ logs.forEach((log: any) => {
4395
+ callback(log.args as any);
4396
+ });
4397
+ },
4398
+ }) as () => void;
4399
+ },
4400
+ /**
4401
+ * Watch DepositFeeUpdated events
4402
+ * @param callback Function to call when event is emitted
4403
+ * @param filter Optional filter for indexed parameters
4404
+ * @returns Unwatch function to stop listening
4405
+ */
4406
+ DepositFeeUpdated: (callback: (event: { newDepositFee: bigint }) => void) => {
4407
+ return this.publicClient.watchContractEvent({
4408
+ address: this.contractAddress,
4409
+ abi: Vault_jsonAbi,
4410
+ eventName: 'DepositFeeUpdated',
4411
+
4412
+ onLogs: (logs: any[]) => {
4413
+ logs.forEach((log: any) => {
4414
+ callback(log.args as any);
4415
+ });
4416
+ },
4417
+ }) as () => void;
4418
+ },
4419
+ /**
4420
+ * Watch FeeDispatcherInitialized events
4421
+ * @param callback Function to call when event is emitted
4422
+ * @param filter Optional filter for indexed parameters
4423
+ * @returns Unwatch function to stop listening
4424
+ */
4425
+ FeeDispatcherInitialized: (callback: (event: { feeDispatcher: `0x${string}` }) => void) => {
4426
+ return this.publicClient.watchContractEvent({
4427
+ address: this.contractAddress,
4428
+ abi: Vault_jsonAbi,
4429
+ eventName: 'FeeDispatcherInitialized',
4430
+
4431
+ onLogs: (logs: any[]) => {
4432
+ logs.forEach((log: any) => {
4433
+ callback(log.args as any);
4434
+ });
4435
+ },
4436
+ }) as () => void;
4437
+ },
4438
+ /**
4439
+ * Watch Initialized events
4440
+ * @param callback Function to call when event is emitted
4441
+ * @param filter Optional filter for indexed parameters
4442
+ * @returns Unwatch function to stop listening
4443
+ */
4444
+ Initialized: (callback: (event: { version: bigint }) => void) => {
4445
+ return this.publicClient.watchContractEvent({
4446
+ address: this.contractAddress,
4447
+ abi: Vault_jsonAbi,
4448
+ eventName: 'Initialized',
4449
+
4450
+ onLogs: (logs: any[]) => {
4451
+ logs.forEach((log: any) => {
4452
+ callback(log.args as any);
4453
+ });
4454
+ },
4455
+ }) as () => void;
4456
+ },
4457
+ /**
4458
+ * Watch MinTotalSupplyInitialized events
4459
+ * @param callback Function to call when event is emitted
4460
+ * @param filter Optional filter for indexed parameters
4461
+ * @returns Unwatch function to stop listening
4462
+ */
4463
+ MinTotalSupplyInitialized: (callback: (event: { newMinTotalSupply: bigint }) => void) => {
4464
+ return this.publicClient.watchContractEvent({
4465
+ address: this.contractAddress,
4466
+ abi: Vault_jsonAbi,
4467
+ eventName: 'MinTotalSupplyInitialized',
4468
+
4469
+ onLogs: (logs: any[]) => {
4470
+ logs.forEach((log: any) => {
4471
+ callback(log.args as any);
4472
+ });
4473
+ },
4474
+ }) as () => void;
4475
+ },
4476
+ /**
4477
+ * Watch NameInitialized events
4478
+ * @param callback Function to call when event is emitted
4479
+ * @param filter Optional filter for indexed parameters
4480
+ * @returns Unwatch function to stop listening
4481
+ */
4482
+ NameInitialized: (callback: (event: { name: string }) => void) => {
4483
+ return this.publicClient.watchContractEvent({
4484
+ address: this.contractAddress,
4485
+ abi: Vault_jsonAbi,
4486
+ eventName: 'NameInitialized',
4487
+
4488
+ onLogs: (logs: any[]) => {
4489
+ logs.forEach((log: any) => {
4490
+ callback(log.args as any);
4491
+ });
4492
+ },
4493
+ }) as () => void;
4494
+ },
4495
+ /**
4496
+ * Watch OffsetInitialized events
4497
+ * @param callback Function to call when event is emitted
4498
+ * @param filter Optional filter for indexed parameters
4499
+ * @returns Unwatch function to stop listening
4500
+ */
4501
+ OffsetInitialized: (callback: (event: { offset: bigint }) => void) => {
4502
+ return this.publicClient.watchContractEvent({
4503
+ address: this.contractAddress,
4504
+ abi: Vault_jsonAbi,
4505
+ eventName: 'OffsetInitialized',
4506
+
4507
+ onLogs: (logs: any[]) => {
4508
+ logs.forEach((log: any) => {
4509
+ callback(log.args as any);
4510
+ });
4511
+ },
4512
+ }) as () => void;
4513
+ },
4514
+ /**
4515
+ * Watch RewardFeeUpdated events
4516
+ * @param callback Function to call when event is emitted
4517
+ * @param filter Optional filter for indexed parameters
4518
+ * @returns Unwatch function to stop listening
4519
+ */
4520
+ RewardFeeUpdated: (callback: (event: { newRewardFee: bigint }) => void) => {
4521
+ return this.publicClient.watchContractEvent({
4522
+ address: this.contractAddress,
4523
+ abi: Vault_jsonAbi,
4524
+ eventName: 'RewardFeeUpdated',
4525
+
4526
+ onLogs: (logs: any[]) => {
4527
+ logs.forEach((log: any) => {
4528
+ callback(log.args as any);
4529
+ });
4530
+ },
4531
+ }) as () => void;
4532
+ },
4533
+ /**
4534
+ * Watch RewardsClaimed events
4535
+ * @param callback Function to call when event is emitted
4536
+ * @param filter Optional filter for indexed parameters
4537
+ * @returns Unwatch function to stop listening
4538
+ */
4539
+ RewardsClaimed: (callback: (event: { rewardsAsset: `0x${string}`; amount: bigint }) => void, filter?: { rewardsAsset: `0x${string}` }) => {
4540
+ return this.publicClient.watchContractEvent({
4541
+ address: this.contractAddress,
4542
+ abi: Vault_jsonAbi,
4543
+ eventName: 'RewardsClaimed',
4544
+ args: filter,
4545
+ onLogs: (logs: any[]) => {
4546
+ logs.forEach((log: any) => {
4547
+ callback(log.args as any);
4548
+ });
4549
+ },
4550
+ }) as () => void;
4551
+ },
4552
+ /**
4553
+ * Watch RoleAdminChanged events
4554
+ * @param callback Function to call when event is emitted
4555
+ * @param filter Optional filter for indexed parameters
4556
+ * @returns Unwatch function to stop listening
4557
+ */
4558
+ RoleAdminChanged: (callback: (event: { role: `0x${string}`; previousAdminRole: `0x${string}`; newAdminRole: `0x${string}` }) => void, filter?: { role: `0x${string}`; previousAdminRole: `0x${string}`; newAdminRole: `0x${string}` }) => {
4559
+ return this.publicClient.watchContractEvent({
4560
+ address: this.contractAddress,
4561
+ abi: Vault_jsonAbi,
4562
+ eventName: 'RoleAdminChanged',
4563
+ args: filter,
4564
+ onLogs: (logs: any[]) => {
4565
+ logs.forEach((log: any) => {
4566
+ callback(log.args as any);
4567
+ });
4568
+ },
4569
+ }) as () => void;
4570
+ },
4571
+ /**
4572
+ * Watch RoleGranted events
4573
+ * @param callback Function to call when event is emitted
4574
+ * @param filter Optional filter for indexed parameters
4575
+ * @returns Unwatch function to stop listening
4576
+ */
4577
+ RoleGranted: (callback: (event: { role: `0x${string}`; account: `0x${string}`; sender: `0x${string}` }) => void, filter?: { role: `0x${string}`; account: `0x${string}`; sender: `0x${string}` }) => {
4578
+ return this.publicClient.watchContractEvent({
4579
+ address: this.contractAddress,
4580
+ abi: Vault_jsonAbi,
4581
+ eventName: 'RoleGranted',
4582
+ args: filter,
4583
+ onLogs: (logs: any[]) => {
4584
+ logs.forEach((log: any) => {
4585
+ callback(log.args as any);
4586
+ });
4587
+ },
4588
+ }) as () => void;
4589
+ },
4590
+ /**
4591
+ * Watch RoleRevoked events
4592
+ * @param callback Function to call when event is emitted
4593
+ * @param filter Optional filter for indexed parameters
4594
+ * @returns Unwatch function to stop listening
4595
+ */
4596
+ RoleRevoked: (callback: (event: { role: `0x${string}`; account: `0x${string}`; sender: `0x${string}` }) => void, filter?: { role: `0x${string}`; account: `0x${string}`; sender: `0x${string}` }) => {
4597
+ return this.publicClient.watchContractEvent({
4598
+ address: this.contractAddress,
4599
+ abi: Vault_jsonAbi,
4600
+ eventName: 'RoleRevoked',
4601
+ args: filter,
4602
+ onLogs: (logs: any[]) => {
4603
+ logs.forEach((log: any) => {
4604
+ callback(log.args as any);
4605
+ });
4606
+ },
4607
+ }) as () => void;
4608
+ },
4609
+ /**
4610
+ * Watch SymbolInitialized events
4611
+ * @param callback Function to call when event is emitted
4612
+ * @param filter Optional filter for indexed parameters
4613
+ * @returns Unwatch function to stop listening
4614
+ */
4615
+ SymbolInitialized: (callback: (event: { symbol: string }) => void) => {
4616
+ return this.publicClient.watchContractEvent({
4617
+ address: this.contractAddress,
4618
+ abi: Vault_jsonAbi,
4619
+ eventName: 'SymbolInitialized',
4620
+
4621
+ onLogs: (logs: any[]) => {
4622
+ logs.forEach((log: any) => {
4623
+ callback(log.args as any);
4624
+ });
4625
+ },
4626
+ }) as () => void;
4627
+ },
4628
+ /**
4629
+ * Watch Transfer events
4630
+ * @param callback Function to call when event is emitted
4631
+ * @param filter Optional filter for indexed parameters
4632
+ * @returns Unwatch function to stop listening
4633
+ */
4634
+ Transfer: (callback: (event: { from: `0x${string}`; to: `0x${string}`; value: bigint }) => void, filter?: { from: `0x${string}`; to: `0x${string}` }) => {
4635
+ return this.publicClient.watchContractEvent({
4636
+ address: this.contractAddress,
4637
+ abi: Vault_jsonAbi,
4638
+ eventName: 'Transfer',
4639
+ args: filter,
4640
+ onLogs: (logs: any[]) => {
4641
+ logs.forEach((log: any) => {
4642
+ callback(log.args as any);
4643
+ });
4644
+ },
4645
+ }) as () => void;
4646
+ },
4647
+ /**
4648
+ * Watch TransferableUpdated events
4649
+ * @param callback Function to call when event is emitted
4650
+ * @param filter Optional filter for indexed parameters
4651
+ * @returns Unwatch function to stop listening
4652
+ */
4653
+ TransferableUpdated: (callback: (event: { newTransferableFlag: boolean }) => void) => {
4654
+ return this.publicClient.watchContractEvent({
4655
+ address: this.contractAddress,
4656
+ abi: Vault_jsonAbi,
4657
+ eventName: 'TransferableUpdated',
4658
+
4659
+ onLogs: (logs: any[]) => {
4660
+ logs.forEach((log: any) => {
4661
+ callback(log.args as any);
4662
+ });
4663
+ },
4664
+ }) as () => void;
4665
+ },
4666
+ /**
4667
+ * Watch Withdraw events
4668
+ * @param callback Function to call when event is emitted
4669
+ * @param filter Optional filter for indexed parameters
4670
+ * @returns Unwatch function to stop listening
4671
+ */
4672
+ 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}` }) => {
4673
+ return this.publicClient.watchContractEvent({
4674
+ address: this.contractAddress,
4675
+ abi: Vault_jsonAbi,
4676
+ eventName: 'Withdraw',
4677
+ args: filter,
4678
+ onLogs: (logs: any[]) => {
4679
+ logs.forEach((log: any) => {
4680
+ callback(log.args as any);
4681
+ });
4682
+ },
4683
+ }) as () => void;
4684
+ }
4685
+ };
4686
+ }
4687
+ }