@gitmyabi/vault 1.0.1 → 1.0.3

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.
@@ -11,23 +11,44 @@ export const Vault_jsonAbi = [
11
11
  "inputs": [
12
12
  {
13
13
  "internalType": "address",
14
- "name": "_creator",
14
+ "name": "delegatorFactory",
15
15
  "type": "address"
16
16
  },
17
17
  {
18
- "internalType": "contract IRateProviderRegistry",
19
- "name": "_rpr",
18
+ "internalType": "address",
19
+ "name": "slasherFactory",
20
20
  "type": "address"
21
21
  },
22
22
  {
23
23
  "internalType": "address",
24
- "name": "_tasset",
24
+ "name": "vaultFactory",
25
25
  "type": "address"
26
26
  }
27
27
  ],
28
28
  "stateMutability": "nonpayable",
29
29
  "type": "constructor"
30
30
  },
31
+ {
32
+ "inputs": [],
33
+ "name": "AccessControlBadConfirmation",
34
+ "type": "error"
35
+ },
36
+ {
37
+ "inputs": [
38
+ {
39
+ "internalType": "address",
40
+ "name": "account",
41
+ "type": "address"
42
+ },
43
+ {
44
+ "internalType": "bytes32",
45
+ "name": "neededRole",
46
+ "type": "bytes32"
47
+ }
48
+ ],
49
+ "name": "AccessControlUnauthorizedAccount",
50
+ "type": "error"
51
+ },
31
52
  {
32
53
  "inputs": [
33
54
  {
@@ -52,7 +73,32 @@ export const Vault_jsonAbi = [
52
73
  },
53
74
  {
54
75
  "inputs": [],
55
- "name": "Failed",
76
+ "name": "AlreadyClaimed",
77
+ "type": "error"
78
+ },
79
+ {
80
+ "inputs": [],
81
+ "name": "AlreadyInitialized",
82
+ "type": "error"
83
+ },
84
+ {
85
+ "inputs": [],
86
+ "name": "AlreadySet",
87
+ "type": "error"
88
+ },
89
+ {
90
+ "inputs": [],
91
+ "name": "CheckpointUnorderedInsertion",
92
+ "type": "error"
93
+ },
94
+ {
95
+ "inputs": [],
96
+ "name": "DelegatorAlreadyInitialized",
97
+ "type": "error"
98
+ },
99
+ {
100
+ "inputs": [],
101
+ "name": "DepositLimitReached",
56
102
  "type": "error"
57
103
  },
58
104
  {
@@ -62,17 +108,132 @@ export const Vault_jsonAbi = [
62
108
  },
63
109
  {
64
110
  "inputs": [],
65
- "name": "InvalidAddress",
111
+ "name": "InsufficientClaim",
112
+ "type": "error"
113
+ },
114
+ {
115
+ "inputs": [],
116
+ "name": "InsufficientDeposit",
117
+ "type": "error"
118
+ },
119
+ {
120
+ "inputs": [],
121
+ "name": "InsufficientRedemption",
122
+ "type": "error"
123
+ },
124
+ {
125
+ "inputs": [],
126
+ "name": "InsufficientWithdrawal",
127
+ "type": "error"
128
+ },
129
+ {
130
+ "inputs": [],
131
+ "name": "InvalidAccount",
132
+ "type": "error"
133
+ },
134
+ {
135
+ "inputs": [],
136
+ "name": "InvalidCaptureEpoch",
137
+ "type": "error"
138
+ },
139
+ {
140
+ "inputs": [],
141
+ "name": "InvalidClaimer",
142
+ "type": "error"
143
+ },
144
+ {
145
+ "inputs": [],
146
+ "name": "InvalidCollateral",
147
+ "type": "error"
148
+ },
149
+ {
150
+ "inputs": [],
151
+ "name": "InvalidDelegator",
152
+ "type": "error"
153
+ },
154
+ {
155
+ "inputs": [],
156
+ "name": "InvalidEpoch",
157
+ "type": "error"
158
+ },
159
+ {
160
+ "inputs": [],
161
+ "name": "InvalidEpochDuration",
162
+ "type": "error"
163
+ },
164
+ {
165
+ "inputs": [],
166
+ "name": "InvalidInitialization",
167
+ "type": "error"
168
+ },
169
+ {
170
+ "inputs": [],
171
+ "name": "InvalidLengthEpochs",
172
+ "type": "error"
173
+ },
174
+ {
175
+ "inputs": [],
176
+ "name": "InvalidOnBehalfOf",
177
+ "type": "error"
178
+ },
179
+ {
180
+ "inputs": [],
181
+ "name": "InvalidRecipient",
182
+ "type": "error"
183
+ },
184
+ {
185
+ "inputs": [],
186
+ "name": "InvalidSlasher",
187
+ "type": "error"
188
+ },
189
+ {
190
+ "inputs": [],
191
+ "name": "InvalidTimestamp",
192
+ "type": "error"
193
+ },
194
+ {
195
+ "inputs": [],
196
+ "name": "MathOverflowedMulDiv",
197
+ "type": "error"
198
+ },
199
+ {
200
+ "inputs": [],
201
+ "name": "MissingRoles",
202
+ "type": "error"
203
+ },
204
+ {
205
+ "inputs": [],
206
+ "name": "NoPreviousEpoch",
207
+ "type": "error"
208
+ },
209
+ {
210
+ "inputs": [],
211
+ "name": "NotDelegator",
212
+ "type": "error"
213
+ },
214
+ {
215
+ "inputs": [],
216
+ "name": "NotFactory",
217
+ "type": "error"
218
+ },
219
+ {
220
+ "inputs": [],
221
+ "name": "NotInitialized",
222
+ "type": "error"
223
+ },
224
+ {
225
+ "inputs": [],
226
+ "name": "NotInitializing",
66
227
  "type": "error"
67
228
  },
68
229
  {
69
230
  "inputs": [],
70
- "name": "InvalidStrategy",
231
+ "name": "NotSlasher",
71
232
  "type": "error"
72
233
  },
73
234
  {
74
235
  "inputs": [],
75
- "name": "NotRescuer",
236
+ "name": "NotWhitelistedDepositor",
76
237
  "type": "error"
77
238
  },
78
239
  {
@@ -99,7 +260,23 @@ export const Vault_jsonAbi = [
99
260
  },
100
261
  {
101
262
  "inputs": [],
102
- "name": "RescueFailed",
263
+ "name": "ReentrancyGuardReentrantCall",
264
+ "type": "error"
265
+ },
266
+ {
267
+ "inputs": [
268
+ {
269
+ "internalType": "uint8",
270
+ "name": "bits",
271
+ "type": "uint8"
272
+ },
273
+ {
274
+ "internalType": "uint256",
275
+ "name": "value",
276
+ "type": "uint256"
277
+ }
278
+ ],
279
+ "name": "SafeCastOverflowedUintDowncast",
103
280
  "type": "error"
104
281
  },
105
282
  {
@@ -115,33 +292,79 @@ export const Vault_jsonAbi = [
115
292
  },
116
293
  {
117
294
  "inputs": [],
118
- "name": "UnsupportedDecimals",
295
+ "name": "SlasherAlreadyInitialized",
296
+ "type": "error"
297
+ },
298
+ {
299
+ "inputs": [],
300
+ "name": "TooMuchRedeem",
301
+ "type": "error"
302
+ },
303
+ {
304
+ "inputs": [],
305
+ "name": "TooMuchWithdraw",
119
306
  "type": "error"
120
307
  },
121
308
  {
122
309
  "anonymous": false,
123
310
  "inputs": [
124
311
  {
125
- "indexed": false,
312
+ "indexed": true,
313
+ "internalType": "address",
314
+ "name": "claimer",
315
+ "type": "address"
316
+ },
317
+ {
318
+ "indexed": true,
126
319
  "internalType": "address",
127
- "name": "_asset",
320
+ "name": "recipient",
128
321
  "type": "address"
322
+ },
323
+ {
324
+ "indexed": false,
325
+ "internalType": "uint256",
326
+ "name": "epoch",
327
+ "type": "uint256"
328
+ },
329
+ {
330
+ "indexed": false,
331
+ "internalType": "uint256",
332
+ "name": "amount",
333
+ "type": "uint256"
129
334
  }
130
335
  ],
131
- "name": "AllowableAssetAdded",
336
+ "name": "Claim",
132
337
  "type": "event"
133
338
  },
134
339
  {
135
340
  "anonymous": false,
136
341
  "inputs": [
137
342
  {
138
- "indexed": false,
343
+ "indexed": true,
139
344
  "internalType": "address",
140
- "name": "_asset",
345
+ "name": "claimer",
141
346
  "type": "address"
347
+ },
348
+ {
349
+ "indexed": true,
350
+ "internalType": "address",
351
+ "name": "recipient",
352
+ "type": "address"
353
+ },
354
+ {
355
+ "indexed": false,
356
+ "internalType": "uint256[]",
357
+ "name": "epochs",
358
+ "type": "uint256[]"
359
+ },
360
+ {
361
+ "indexed": false,
362
+ "internalType": "uint256",
363
+ "name": "amount",
364
+ "type": "uint256"
142
365
  }
143
366
  ],
144
- "name": "AllowableAssetRemoved",
367
+ "name": "ClaimBatch",
145
368
  "type": "event"
146
369
  },
147
370
  {
@@ -150,17 +373,67 @@ export const Vault_jsonAbi = [
150
373
  {
151
374
  "indexed": true,
152
375
  "internalType": "address",
153
- "name": "previousOwner",
376
+ "name": "depositor",
154
377
  "type": "address"
155
378
  },
156
379
  {
157
380
  "indexed": true,
158
381
  "internalType": "address",
159
- "name": "newOwner",
382
+ "name": "onBehalfOf",
160
383
  "type": "address"
384
+ },
385
+ {
386
+ "indexed": false,
387
+ "internalType": "uint256",
388
+ "name": "amount",
389
+ "type": "uint256"
390
+ },
391
+ {
392
+ "indexed": false,
393
+ "internalType": "uint256",
394
+ "name": "shares",
395
+ "type": "uint256"
396
+ }
397
+ ],
398
+ "name": "Deposit",
399
+ "type": "event"
400
+ },
401
+ {
402
+ "anonymous": false,
403
+ "inputs": [
404
+ {
405
+ "indexed": false,
406
+ "internalType": "uint64",
407
+ "name": "version",
408
+ "type": "uint64"
409
+ }
410
+ ],
411
+ "name": "Initialized",
412
+ "type": "event"
413
+ },
414
+ {
415
+ "anonymous": false,
416
+ "inputs": [
417
+ {
418
+ "indexed": false,
419
+ "internalType": "uint256",
420
+ "name": "amount",
421
+ "type": "uint256"
422
+ },
423
+ {
424
+ "indexed": false,
425
+ "internalType": "uint48",
426
+ "name": "captureTimestamp",
427
+ "type": "uint48"
428
+ },
429
+ {
430
+ "indexed": false,
431
+ "internalType": "uint256",
432
+ "name": "slashedAmount",
433
+ "type": "uint256"
161
434
  }
162
435
  ],
163
- "name": "OwnershipTransferStarted",
436
+ "name": "OnSlash",
164
437
  "type": "event"
165
438
  },
166
439
  {
@@ -187,106 +460,205 @@ export const Vault_jsonAbi = [
187
460
  "inputs": [
188
461
  {
189
462
  "indexed": true,
190
- "internalType": "address",
191
- "name": "_new",
192
- "type": "address"
463
+ "internalType": "bytes32",
464
+ "name": "role",
465
+ "type": "bytes32"
193
466
  },
194
467
  {
195
- "indexed": false,
196
- "internalType": "address",
197
- "name": "_old",
198
- "type": "address"
468
+ "indexed": true,
469
+ "internalType": "bytes32",
470
+ "name": "previousAdminRole",
471
+ "type": "bytes32"
472
+ },
473
+ {
474
+ "indexed": true,
475
+ "internalType": "bytes32",
476
+ "name": "newAdminRole",
477
+ "type": "bytes32"
199
478
  }
200
479
  ],
201
- "name": "RedemptionUpdated",
480
+ "name": "RoleAdminChanged",
202
481
  "type": "event"
203
482
  },
204
483
  {
205
484
  "anonymous": false,
206
485
  "inputs": [
486
+ {
487
+ "indexed": true,
488
+ "internalType": "bytes32",
489
+ "name": "role",
490
+ "type": "bytes32"
491
+ },
492
+ {
493
+ "indexed": true,
494
+ "internalType": "address",
495
+ "name": "account",
496
+ "type": "address"
497
+ },
207
498
  {
208
499
  "indexed": true,
209
500
  "internalType": "address",
210
- "name": "newRescuer",
501
+ "name": "sender",
211
502
  "type": "address"
212
503
  }
213
504
  ],
214
- "name": "RescuerChanged",
505
+ "name": "RoleGranted",
215
506
  "type": "event"
216
507
  },
217
508
  {
218
509
  "anonymous": false,
219
510
  "inputs": [
511
+ {
512
+ "indexed": true,
513
+ "internalType": "bytes32",
514
+ "name": "role",
515
+ "type": "bytes32"
516
+ },
220
517
  {
221
518
  "indexed": true,
222
519
  "internalType": "address",
223
- "name": "_new",
520
+ "name": "account",
224
521
  "type": "address"
225
522
  },
226
523
  {
227
- "indexed": false,
524
+ "indexed": true,
228
525
  "internalType": "address",
229
- "name": "_old",
526
+ "name": "sender",
230
527
  "type": "address"
231
528
  }
232
529
  ],
233
- "name": "StrategyStorageUpdated",
530
+ "name": "RoleRevoked",
234
531
  "type": "event"
235
532
  },
236
533
  {
237
- "inputs": [],
238
- "name": "RATE_PROVIDER_REGISTRY",
239
- "outputs": [
534
+ "anonymous": false,
535
+ "inputs": [
240
536
  {
241
- "internalType": "contract IRateProviderRegistry",
242
- "name": "",
537
+ "indexed": true,
538
+ "internalType": "address",
539
+ "name": "delegator",
243
540
  "type": "address"
244
541
  }
245
542
  ],
246
- "stateMutability": "view",
247
- "type": "function"
543
+ "name": "SetDelegator",
544
+ "type": "event"
248
545
  },
249
546
  {
250
- "inputs": [],
251
- "name": "acceptOwnership",
252
- "outputs": [],
253
- "stateMutability": "nonpayable",
254
- "type": "function"
547
+ "anonymous": false,
548
+ "inputs": [
549
+ {
550
+ "indexed": false,
551
+ "internalType": "uint256",
552
+ "name": "limit",
553
+ "type": "uint256"
554
+ }
555
+ ],
556
+ "name": "SetDepositLimit",
557
+ "type": "event"
558
+ },
559
+ {
560
+ "anonymous": false,
561
+ "inputs": [
562
+ {
563
+ "indexed": false,
564
+ "internalType": "bool",
565
+ "name": "status",
566
+ "type": "bool"
567
+ }
568
+ ],
569
+ "name": "SetDepositWhitelist",
570
+ "type": "event"
571
+ },
572
+ {
573
+ "anonymous": false,
574
+ "inputs": [
575
+ {
576
+ "indexed": true,
577
+ "internalType": "address",
578
+ "name": "account",
579
+ "type": "address"
580
+ },
581
+ {
582
+ "indexed": false,
583
+ "internalType": "bool",
584
+ "name": "status",
585
+ "type": "bool"
586
+ }
587
+ ],
588
+ "name": "SetDepositorWhitelistStatus",
589
+ "type": "event"
590
+ },
591
+ {
592
+ "anonymous": false,
593
+ "inputs": [
594
+ {
595
+ "indexed": false,
596
+ "internalType": "bool",
597
+ "name": "status",
598
+ "type": "bool"
599
+ }
600
+ ],
601
+ "name": "SetIsDepositLimit",
602
+ "type": "event"
255
603
  },
256
604
  {
605
+ "anonymous": false,
257
606
  "inputs": [
258
607
  {
608
+ "indexed": true,
259
609
  "internalType": "address",
260
- "name": "_asset",
610
+ "name": "slasher",
261
611
  "type": "address"
262
612
  }
263
613
  ],
264
- "name": "addAllowableAsset",
265
- "outputs": [],
266
- "stateMutability": "nonpayable",
267
- "type": "function"
614
+ "name": "SetSlasher",
615
+ "type": "event"
268
616
  },
269
617
  {
270
- "inputs": [],
271
- "name": "getAllowableAssetCount",
272
- "outputs": [
618
+ "anonymous": false,
619
+ "inputs": [
273
620
  {
621
+ "indexed": true,
622
+ "internalType": "address",
623
+ "name": "withdrawer",
624
+ "type": "address"
625
+ },
626
+ {
627
+ "indexed": true,
628
+ "internalType": "address",
629
+ "name": "claimer",
630
+ "type": "address"
631
+ },
632
+ {
633
+ "indexed": false,
274
634
  "internalType": "uint256",
275
- "name": "",
635
+ "name": "amount",
636
+ "type": "uint256"
637
+ },
638
+ {
639
+ "indexed": false,
640
+ "internalType": "uint256",
641
+ "name": "burnedShares",
642
+ "type": "uint256"
643
+ },
644
+ {
645
+ "indexed": false,
646
+ "internalType": "uint256",
647
+ "name": "mintedShares",
276
648
  "type": "uint256"
277
649
  }
278
650
  ],
279
- "stateMutability": "view",
280
- "type": "function"
651
+ "name": "Withdraw",
652
+ "type": "event"
281
653
  },
282
654
  {
283
655
  "inputs": [],
284
- "name": "getAllowableAssets",
656
+ "name": "DEFAULT_ADMIN_ROLE",
285
657
  "outputs": [
286
658
  {
287
- "internalType": "address[]",
659
+ "internalType": "bytes32",
288
660
  "name": "",
289
- "type": "address[]"
661
+ "type": "bytes32"
290
662
  }
291
663
  ],
292
664
  "stateMutability": "view",
@@ -294,7 +666,7 @@ export const Vault_jsonAbi = [
294
666
  },
295
667
  {
296
668
  "inputs": [],
297
- "name": "getTAsset",
669
+ "name": "DELEGATOR_FACTORY",
298
670
  "outputs": [
299
671
  {
300
672
  "internalType": "address",
@@ -307,31 +679,38 @@ export const Vault_jsonAbi = [
307
679
  },
308
680
  {
309
681
  "inputs": [],
310
- "name": "getUnderlying",
682
+ "name": "DEPOSITOR_WHITELIST_ROLE",
311
683
  "outputs": [
312
684
  {
313
- "internalType": "address",
685
+ "internalType": "bytes32",
314
686
  "name": "",
315
- "type": "address"
687
+ "type": "bytes32"
316
688
  }
317
689
  ],
318
690
  "stateMutability": "view",
319
691
  "type": "function"
320
692
  },
321
693
  {
322
- "inputs": [
694
+ "inputs": [],
695
+ "name": "DEPOSIT_LIMIT_SET_ROLE",
696
+ "outputs": [
323
697
  {
324
- "internalType": "address",
325
- "name": "_asset",
326
- "type": "address"
698
+ "internalType": "bytes32",
699
+ "name": "",
700
+ "type": "bytes32"
327
701
  }
328
702
  ],
329
- "name": "isAllowableAsset",
703
+ "stateMutability": "view",
704
+ "type": "function"
705
+ },
706
+ {
707
+ "inputs": [],
708
+ "name": "DEPOSIT_WHITELIST_SET_ROLE",
330
709
  "outputs": [
331
710
  {
332
- "internalType": "bool",
711
+ "internalType": "bytes32",
333
712
  "name": "",
334
- "type": "bool"
713
+ "type": "bytes32"
335
714
  }
336
715
  ],
337
716
  "stateMutability": "view",
@@ -339,7 +718,7 @@ export const Vault_jsonAbi = [
339
718
  },
340
719
  {
341
720
  "inputs": [],
342
- "name": "owner",
721
+ "name": "FACTORY",
343
722
  "outputs": [
344
723
  {
345
724
  "internalType": "address",
@@ -352,12 +731,12 @@ export const Vault_jsonAbi = [
352
731
  },
353
732
  {
354
733
  "inputs": [],
355
- "name": "pendingOwner",
734
+ "name": "IS_DEPOSIT_LIMIT_SET_ROLE",
356
735
  "outputs": [
357
736
  {
358
- "internalType": "address",
737
+ "internalType": "bytes32",
359
738
  "name": "",
360
- "type": "address"
739
+ "type": "bytes32"
361
740
  }
362
741
  ],
363
742
  "stateMutability": "view",
@@ -365,7 +744,7 @@ export const Vault_jsonAbi = [
365
744
  },
366
745
  {
367
746
  "inputs": [],
368
- "name": "redemption",
747
+ "name": "SLASHER_FACTORY",
369
748
  "outputs": [
370
749
  {
371
750
  "internalType": "address",
@@ -380,66 +759,82 @@ export const Vault_jsonAbi = [
380
759
  "inputs": [
381
760
  {
382
761
  "internalType": "address",
383
- "name": "_asset",
762
+ "name": "account",
384
763
  "type": "address"
385
764
  }
386
765
  ],
387
- "name": "removeAllowableAsset",
388
- "outputs": [],
389
- "stateMutability": "nonpayable",
390
- "type": "function"
391
- },
392
- {
393
- "inputs": [],
394
- "name": "renounceOwnership",
395
- "outputs": [],
396
- "stateMutability": "nonpayable",
766
+ "name": "activeBalanceOf",
767
+ "outputs": [
768
+ {
769
+ "internalType": "uint256",
770
+ "name": "",
771
+ "type": "uint256"
772
+ }
773
+ ],
774
+ "stateMutability": "view",
397
775
  "type": "function"
398
776
  },
399
777
  {
400
778
  "inputs": [
401
779
  {
402
- "internalType": "contract IERC20",
403
- "name": "tokenContract",
780
+ "internalType": "address",
781
+ "name": "account",
404
782
  "type": "address"
405
783
  },
406
784
  {
407
- "internalType": "address",
408
- "name": "to",
409
- "type": "address"
785
+ "internalType": "uint48",
786
+ "name": "timestamp",
787
+ "type": "uint48"
410
788
  },
789
+ {
790
+ "internalType": "bytes",
791
+ "name": "hints",
792
+ "type": "bytes"
793
+ }
794
+ ],
795
+ "name": "activeBalanceOfAt",
796
+ "outputs": [
411
797
  {
412
798
  "internalType": "uint256",
413
- "name": "amount",
799
+ "name": "",
414
800
  "type": "uint256"
415
801
  }
416
802
  ],
417
- "name": "rescueERC20",
418
- "outputs": [],
419
- "stateMutability": "nonpayable",
803
+ "stateMutability": "view",
420
804
  "type": "function"
421
805
  },
422
806
  {
423
- "inputs": [
807
+ "inputs": [],
808
+ "name": "activeShares",
809
+ "outputs": [
424
810
  {
425
- "internalType": "address",
426
- "name": "to",
427
- "type": "address"
811
+ "internalType": "uint256",
812
+ "name": "",
813
+ "type": "uint256"
428
814
  }
429
815
  ],
430
- "name": "rescueETH",
431
- "outputs": [],
432
- "stateMutability": "nonpayable",
816
+ "stateMutability": "view",
433
817
  "type": "function"
434
818
  },
435
819
  {
436
- "inputs": [],
437
- "name": "rescuer",
820
+ "inputs": [
821
+ {
822
+ "internalType": "uint48",
823
+ "name": "timestamp",
824
+ "type": "uint48"
825
+ },
826
+ {
827
+ "internalType": "bytes",
828
+ "name": "hint",
829
+ "type": "bytes"
830
+ }
831
+ ],
832
+ "name": "activeSharesAt",
438
833
  "outputs": [
439
834
  {
440
- "internalType": "address",
835
+ "internalType": "uint256",
441
836
  "name": "",
442
- "type": "address"
837
+ "type": "uint256"
443
838
  }
444
839
  ],
445
840
  "stateMutability": "view",
@@ -449,36 +844,58 @@ export const Vault_jsonAbi = [
449
844
  "inputs": [
450
845
  {
451
846
  "internalType": "address",
452
- "name": "_newRedemption",
847
+ "name": "account",
453
848
  "type": "address"
454
849
  }
455
850
  ],
456
- "name": "setRedemption",
457
- "outputs": [],
458
- "stateMutability": "nonpayable",
851
+ "name": "activeSharesOf",
852
+ "outputs": [
853
+ {
854
+ "internalType": "uint256",
855
+ "name": "",
856
+ "type": "uint256"
857
+ }
858
+ ],
859
+ "stateMutability": "view",
459
860
  "type": "function"
460
861
  },
461
862
  {
462
863
  "inputs": [
463
864
  {
464
- "internalType": "contract IStrategyStorage",
465
- "name": "_newStrategyStorage",
865
+ "internalType": "address",
866
+ "name": "account",
466
867
  "type": "address"
868
+ },
869
+ {
870
+ "internalType": "uint48",
871
+ "name": "timestamp",
872
+ "type": "uint48"
873
+ },
874
+ {
875
+ "internalType": "bytes",
876
+ "name": "hint",
877
+ "type": "bytes"
467
878
  }
468
879
  ],
469
- "name": "setStrategyStorage",
470
- "outputs": [],
471
- "stateMutability": "nonpayable",
880
+ "name": "activeSharesOfAt",
881
+ "outputs": [
882
+ {
883
+ "internalType": "uint256",
884
+ "name": "",
885
+ "type": "uint256"
886
+ }
887
+ ],
888
+ "stateMutability": "view",
472
889
  "type": "function"
473
890
  },
474
891
  {
475
892
  "inputs": [],
476
- "name": "strategyStorage",
893
+ "name": "activeStake",
477
894
  "outputs": [
478
895
  {
479
- "internalType": "contract IStrategyStorage",
896
+ "internalType": "uint256",
480
897
  "name": "",
481
- "type": "address"
898
+ "type": "uint256"
482
899
  }
483
900
  ],
484
901
  "stateMutability": "view",
@@ -486,27 +903,62 @@ export const Vault_jsonAbi = [
486
903
  },
487
904
  {
488
905
  "inputs": [
906
+ {
907
+ "internalType": "uint48",
908
+ "name": "timestamp",
909
+ "type": "uint48"
910
+ },
911
+ {
912
+ "internalType": "bytes",
913
+ "name": "hint",
914
+ "type": "bytes"
915
+ }
916
+ ],
917
+ "name": "activeStakeAt",
918
+ "outputs": [
919
+ {
920
+ "internalType": "uint256",
921
+ "name": "",
922
+ "type": "uint256"
923
+ }
924
+ ],
925
+ "stateMutability": "view",
926
+ "type": "function"
927
+ },
928
+ {
929
+ "inputs": [],
930
+ "name": "burner",
931
+ "outputs": [
489
932
  {
490
933
  "internalType": "address",
491
- "name": "newOwner",
934
+ "name": "",
492
935
  "type": "address"
493
936
  }
494
937
  ],
495
- "name": "transferOwnership",
496
- "outputs": [],
497
- "stateMutability": "nonpayable",
938
+ "stateMutability": "view",
498
939
  "type": "function"
499
940
  },
500
941
  {
501
942
  "inputs": [
502
943
  {
503
944
  "internalType": "address",
504
- "name": "newRescuer",
945
+ "name": "recipient",
505
946
  "type": "address"
947
+ },
948
+ {
949
+ "internalType": "uint256",
950
+ "name": "epoch",
951
+ "type": "uint256"
952
+ }
953
+ ],
954
+ "name": "claim",
955
+ "outputs": [
956
+ {
957
+ "internalType": "uint256",
958
+ "name": "amount",
959
+ "type": "uint256"
506
960
  }
507
961
  ],
508
- "name": "updateRescuer",
509
- "outputs": [],
510
962
  "stateMutability": "nonpayable",
511
963
  "type": "function"
512
964
  },
@@ -514,41 +966,837 @@ export const Vault_jsonAbi = [
514
966
  "inputs": [
515
967
  {
516
968
  "internalType": "address",
517
- "name": "_asset",
969
+ "name": "recipient",
518
970
  "type": "address"
519
971
  },
972
+ {
973
+ "internalType": "uint256[]",
974
+ "name": "epochs",
975
+ "type": "uint256[]"
976
+ }
977
+ ],
978
+ "name": "claimBatch",
979
+ "outputs": [
520
980
  {
521
981
  "internalType": "uint256",
522
- "name": "_amount",
982
+ "name": "amount",
523
983
  "type": "uint256"
524
984
  }
525
985
  ],
526
- "name": "withdraw",
527
- "outputs": [],
528
986
  "stateMutability": "nonpayable",
529
987
  "type": "function"
530
- }
531
- ] as const satisfies Abi;
532
-
533
- /**
534
- * Type-safe ABI for Vault_json
535
- */
536
- export type Vault_jsonAbi = typeof Vault_jsonAbi;
537
-
538
- /**
539
- * Contract instance type for Vault_json
540
- */
541
- // Use any for contract type to avoid complex viem type issues
542
- // The runtime behavior is type-safe through viem's ABI typing
543
- export type Vault_jsonContract = any;
544
-
545
- /**
546
- * Vault_json Contract Class
547
- *
548
- * Provides a class-based API similar to TypeChain for interacting with the contract.
549
- *
550
- * @example
551
- * ```typescript
988
+ },
989
+ {
990
+ "inputs": [],
991
+ "name": "collateral",
992
+ "outputs": [
993
+ {
994
+ "internalType": "address",
995
+ "name": "",
996
+ "type": "address"
997
+ }
998
+ ],
999
+ "stateMutability": "view",
1000
+ "type": "function"
1001
+ },
1002
+ {
1003
+ "inputs": [],
1004
+ "name": "currentEpoch",
1005
+ "outputs": [
1006
+ {
1007
+ "internalType": "uint256",
1008
+ "name": "",
1009
+ "type": "uint256"
1010
+ }
1011
+ ],
1012
+ "stateMutability": "view",
1013
+ "type": "function"
1014
+ },
1015
+ {
1016
+ "inputs": [],
1017
+ "name": "currentEpochStart",
1018
+ "outputs": [
1019
+ {
1020
+ "internalType": "uint48",
1021
+ "name": "",
1022
+ "type": "uint48"
1023
+ }
1024
+ ],
1025
+ "stateMutability": "view",
1026
+ "type": "function"
1027
+ },
1028
+ {
1029
+ "inputs": [],
1030
+ "name": "delegator",
1031
+ "outputs": [
1032
+ {
1033
+ "internalType": "address",
1034
+ "name": "",
1035
+ "type": "address"
1036
+ }
1037
+ ],
1038
+ "stateMutability": "view",
1039
+ "type": "function"
1040
+ },
1041
+ {
1042
+ "inputs": [
1043
+ {
1044
+ "internalType": "address",
1045
+ "name": "onBehalfOf",
1046
+ "type": "address"
1047
+ },
1048
+ {
1049
+ "internalType": "uint256",
1050
+ "name": "amount",
1051
+ "type": "uint256"
1052
+ }
1053
+ ],
1054
+ "name": "deposit",
1055
+ "outputs": [
1056
+ {
1057
+ "internalType": "uint256",
1058
+ "name": "depositedAmount",
1059
+ "type": "uint256"
1060
+ },
1061
+ {
1062
+ "internalType": "uint256",
1063
+ "name": "mintedShares",
1064
+ "type": "uint256"
1065
+ }
1066
+ ],
1067
+ "stateMutability": "nonpayable",
1068
+ "type": "function"
1069
+ },
1070
+ {
1071
+ "inputs": [],
1072
+ "name": "depositLimit",
1073
+ "outputs": [
1074
+ {
1075
+ "internalType": "uint256",
1076
+ "name": "",
1077
+ "type": "uint256"
1078
+ }
1079
+ ],
1080
+ "stateMutability": "view",
1081
+ "type": "function"
1082
+ },
1083
+ {
1084
+ "inputs": [],
1085
+ "name": "depositWhitelist",
1086
+ "outputs": [
1087
+ {
1088
+ "internalType": "bool",
1089
+ "name": "",
1090
+ "type": "bool"
1091
+ }
1092
+ ],
1093
+ "stateMutability": "view",
1094
+ "type": "function"
1095
+ },
1096
+ {
1097
+ "inputs": [
1098
+ {
1099
+ "internalType": "uint48",
1100
+ "name": "timestamp",
1101
+ "type": "uint48"
1102
+ }
1103
+ ],
1104
+ "name": "epochAt",
1105
+ "outputs": [
1106
+ {
1107
+ "internalType": "uint256",
1108
+ "name": "",
1109
+ "type": "uint256"
1110
+ }
1111
+ ],
1112
+ "stateMutability": "view",
1113
+ "type": "function"
1114
+ },
1115
+ {
1116
+ "inputs": [],
1117
+ "name": "epochDuration",
1118
+ "outputs": [
1119
+ {
1120
+ "internalType": "uint48",
1121
+ "name": "",
1122
+ "type": "uint48"
1123
+ }
1124
+ ],
1125
+ "stateMutability": "view",
1126
+ "type": "function"
1127
+ },
1128
+ {
1129
+ "inputs": [],
1130
+ "name": "epochDurationInit",
1131
+ "outputs": [
1132
+ {
1133
+ "internalType": "uint48",
1134
+ "name": "",
1135
+ "type": "uint48"
1136
+ }
1137
+ ],
1138
+ "stateMutability": "view",
1139
+ "type": "function"
1140
+ },
1141
+ {
1142
+ "inputs": [
1143
+ {
1144
+ "internalType": "bytes32",
1145
+ "name": "role",
1146
+ "type": "bytes32"
1147
+ }
1148
+ ],
1149
+ "name": "getRoleAdmin",
1150
+ "outputs": [
1151
+ {
1152
+ "internalType": "bytes32",
1153
+ "name": "",
1154
+ "type": "bytes32"
1155
+ }
1156
+ ],
1157
+ "stateMutability": "view",
1158
+ "type": "function"
1159
+ },
1160
+ {
1161
+ "inputs": [
1162
+ {
1163
+ "internalType": "bytes32",
1164
+ "name": "role",
1165
+ "type": "bytes32"
1166
+ },
1167
+ {
1168
+ "internalType": "address",
1169
+ "name": "account",
1170
+ "type": "address"
1171
+ }
1172
+ ],
1173
+ "name": "grantRole",
1174
+ "outputs": [],
1175
+ "stateMutability": "nonpayable",
1176
+ "type": "function"
1177
+ },
1178
+ {
1179
+ "inputs": [
1180
+ {
1181
+ "internalType": "bytes32",
1182
+ "name": "role",
1183
+ "type": "bytes32"
1184
+ },
1185
+ {
1186
+ "internalType": "address",
1187
+ "name": "account",
1188
+ "type": "address"
1189
+ }
1190
+ ],
1191
+ "name": "hasRole",
1192
+ "outputs": [
1193
+ {
1194
+ "internalType": "bool",
1195
+ "name": "",
1196
+ "type": "bool"
1197
+ }
1198
+ ],
1199
+ "stateMutability": "view",
1200
+ "type": "function"
1201
+ },
1202
+ {
1203
+ "inputs": [
1204
+ {
1205
+ "internalType": "uint64",
1206
+ "name": "initialVersion",
1207
+ "type": "uint64"
1208
+ },
1209
+ {
1210
+ "internalType": "address",
1211
+ "name": "owner_",
1212
+ "type": "address"
1213
+ },
1214
+ {
1215
+ "internalType": "bytes",
1216
+ "name": "data",
1217
+ "type": "bytes"
1218
+ }
1219
+ ],
1220
+ "name": "initialize",
1221
+ "outputs": [],
1222
+ "stateMutability": "nonpayable",
1223
+ "type": "function"
1224
+ },
1225
+ {
1226
+ "inputs": [],
1227
+ "name": "isDelegatorInitialized",
1228
+ "outputs": [
1229
+ {
1230
+ "internalType": "bool",
1231
+ "name": "",
1232
+ "type": "bool"
1233
+ }
1234
+ ],
1235
+ "stateMutability": "view",
1236
+ "type": "function"
1237
+ },
1238
+ {
1239
+ "inputs": [],
1240
+ "name": "isDepositLimit",
1241
+ "outputs": [
1242
+ {
1243
+ "internalType": "bool",
1244
+ "name": "",
1245
+ "type": "bool"
1246
+ }
1247
+ ],
1248
+ "stateMutability": "view",
1249
+ "type": "function"
1250
+ },
1251
+ {
1252
+ "inputs": [
1253
+ {
1254
+ "internalType": "address",
1255
+ "name": "account",
1256
+ "type": "address"
1257
+ }
1258
+ ],
1259
+ "name": "isDepositorWhitelisted",
1260
+ "outputs": [
1261
+ {
1262
+ "internalType": "bool",
1263
+ "name": "value",
1264
+ "type": "bool"
1265
+ }
1266
+ ],
1267
+ "stateMutability": "view",
1268
+ "type": "function"
1269
+ },
1270
+ {
1271
+ "inputs": [],
1272
+ "name": "isInitialized",
1273
+ "outputs": [
1274
+ {
1275
+ "internalType": "bool",
1276
+ "name": "",
1277
+ "type": "bool"
1278
+ }
1279
+ ],
1280
+ "stateMutability": "view",
1281
+ "type": "function"
1282
+ },
1283
+ {
1284
+ "inputs": [],
1285
+ "name": "isSlasherInitialized",
1286
+ "outputs": [
1287
+ {
1288
+ "internalType": "bool",
1289
+ "name": "",
1290
+ "type": "bool"
1291
+ }
1292
+ ],
1293
+ "stateMutability": "view",
1294
+ "type": "function"
1295
+ },
1296
+ {
1297
+ "inputs": [
1298
+ {
1299
+ "internalType": "uint256",
1300
+ "name": "epoch",
1301
+ "type": "uint256"
1302
+ },
1303
+ {
1304
+ "internalType": "address",
1305
+ "name": "account",
1306
+ "type": "address"
1307
+ }
1308
+ ],
1309
+ "name": "isWithdrawalsClaimed",
1310
+ "outputs": [
1311
+ {
1312
+ "internalType": "bool",
1313
+ "name": "value",
1314
+ "type": "bool"
1315
+ }
1316
+ ],
1317
+ "stateMutability": "view",
1318
+ "type": "function"
1319
+ },
1320
+ {
1321
+ "inputs": [
1322
+ {
1323
+ "internalType": "uint64",
1324
+ "name": "newVersion",
1325
+ "type": "uint64"
1326
+ },
1327
+ {
1328
+ "internalType": "bytes",
1329
+ "name": "data",
1330
+ "type": "bytes"
1331
+ }
1332
+ ],
1333
+ "name": "migrate",
1334
+ "outputs": [],
1335
+ "stateMutability": "nonpayable",
1336
+ "type": "function"
1337
+ },
1338
+ {
1339
+ "inputs": [],
1340
+ "name": "nextEpochStart",
1341
+ "outputs": [
1342
+ {
1343
+ "internalType": "uint48",
1344
+ "name": "",
1345
+ "type": "uint48"
1346
+ }
1347
+ ],
1348
+ "stateMutability": "view",
1349
+ "type": "function"
1350
+ },
1351
+ {
1352
+ "inputs": [
1353
+ {
1354
+ "internalType": "uint256",
1355
+ "name": "amount",
1356
+ "type": "uint256"
1357
+ },
1358
+ {
1359
+ "internalType": "uint48",
1360
+ "name": "captureTimestamp",
1361
+ "type": "uint48"
1362
+ }
1363
+ ],
1364
+ "name": "onSlash",
1365
+ "outputs": [
1366
+ {
1367
+ "internalType": "uint256",
1368
+ "name": "slashedAmount",
1369
+ "type": "uint256"
1370
+ }
1371
+ ],
1372
+ "stateMutability": "nonpayable",
1373
+ "type": "function"
1374
+ },
1375
+ {
1376
+ "inputs": [],
1377
+ "name": "owner",
1378
+ "outputs": [
1379
+ {
1380
+ "internalType": "address",
1381
+ "name": "",
1382
+ "type": "address"
1383
+ }
1384
+ ],
1385
+ "stateMutability": "view",
1386
+ "type": "function"
1387
+ },
1388
+ {
1389
+ "inputs": [],
1390
+ "name": "previousEpochStart",
1391
+ "outputs": [
1392
+ {
1393
+ "internalType": "uint48",
1394
+ "name": "",
1395
+ "type": "uint48"
1396
+ }
1397
+ ],
1398
+ "stateMutability": "view",
1399
+ "type": "function"
1400
+ },
1401
+ {
1402
+ "inputs": [
1403
+ {
1404
+ "internalType": "address",
1405
+ "name": "claimer",
1406
+ "type": "address"
1407
+ },
1408
+ {
1409
+ "internalType": "uint256",
1410
+ "name": "shares",
1411
+ "type": "uint256"
1412
+ }
1413
+ ],
1414
+ "name": "redeem",
1415
+ "outputs": [
1416
+ {
1417
+ "internalType": "uint256",
1418
+ "name": "withdrawnAssets",
1419
+ "type": "uint256"
1420
+ },
1421
+ {
1422
+ "internalType": "uint256",
1423
+ "name": "mintedShares",
1424
+ "type": "uint256"
1425
+ }
1426
+ ],
1427
+ "stateMutability": "nonpayable",
1428
+ "type": "function"
1429
+ },
1430
+ {
1431
+ "inputs": [],
1432
+ "name": "renounceOwnership",
1433
+ "outputs": [],
1434
+ "stateMutability": "nonpayable",
1435
+ "type": "function"
1436
+ },
1437
+ {
1438
+ "inputs": [
1439
+ {
1440
+ "internalType": "bytes32",
1441
+ "name": "role",
1442
+ "type": "bytes32"
1443
+ },
1444
+ {
1445
+ "internalType": "address",
1446
+ "name": "callerConfirmation",
1447
+ "type": "address"
1448
+ }
1449
+ ],
1450
+ "name": "renounceRole",
1451
+ "outputs": [],
1452
+ "stateMutability": "nonpayable",
1453
+ "type": "function"
1454
+ },
1455
+ {
1456
+ "inputs": [
1457
+ {
1458
+ "internalType": "bytes32",
1459
+ "name": "role",
1460
+ "type": "bytes32"
1461
+ },
1462
+ {
1463
+ "internalType": "address",
1464
+ "name": "account",
1465
+ "type": "address"
1466
+ }
1467
+ ],
1468
+ "name": "revokeRole",
1469
+ "outputs": [],
1470
+ "stateMutability": "nonpayable",
1471
+ "type": "function"
1472
+ },
1473
+ {
1474
+ "inputs": [
1475
+ {
1476
+ "internalType": "address",
1477
+ "name": "delegator_",
1478
+ "type": "address"
1479
+ }
1480
+ ],
1481
+ "name": "setDelegator",
1482
+ "outputs": [],
1483
+ "stateMutability": "nonpayable",
1484
+ "type": "function"
1485
+ },
1486
+ {
1487
+ "inputs": [
1488
+ {
1489
+ "internalType": "uint256",
1490
+ "name": "limit",
1491
+ "type": "uint256"
1492
+ }
1493
+ ],
1494
+ "name": "setDepositLimit",
1495
+ "outputs": [],
1496
+ "stateMutability": "nonpayable",
1497
+ "type": "function"
1498
+ },
1499
+ {
1500
+ "inputs": [
1501
+ {
1502
+ "internalType": "bool",
1503
+ "name": "status",
1504
+ "type": "bool"
1505
+ }
1506
+ ],
1507
+ "name": "setDepositWhitelist",
1508
+ "outputs": [],
1509
+ "stateMutability": "nonpayable",
1510
+ "type": "function"
1511
+ },
1512
+ {
1513
+ "inputs": [
1514
+ {
1515
+ "internalType": "address",
1516
+ "name": "account",
1517
+ "type": "address"
1518
+ },
1519
+ {
1520
+ "internalType": "bool",
1521
+ "name": "status",
1522
+ "type": "bool"
1523
+ }
1524
+ ],
1525
+ "name": "setDepositorWhitelistStatus",
1526
+ "outputs": [],
1527
+ "stateMutability": "nonpayable",
1528
+ "type": "function"
1529
+ },
1530
+ {
1531
+ "inputs": [
1532
+ {
1533
+ "internalType": "bool",
1534
+ "name": "status",
1535
+ "type": "bool"
1536
+ }
1537
+ ],
1538
+ "name": "setIsDepositLimit",
1539
+ "outputs": [],
1540
+ "stateMutability": "nonpayable",
1541
+ "type": "function"
1542
+ },
1543
+ {
1544
+ "inputs": [
1545
+ {
1546
+ "internalType": "address",
1547
+ "name": "slasher_",
1548
+ "type": "address"
1549
+ }
1550
+ ],
1551
+ "name": "setSlasher",
1552
+ "outputs": [],
1553
+ "stateMutability": "nonpayable",
1554
+ "type": "function"
1555
+ },
1556
+ {
1557
+ "inputs": [
1558
+ {
1559
+ "internalType": "address",
1560
+ "name": "account",
1561
+ "type": "address"
1562
+ }
1563
+ ],
1564
+ "name": "slashableBalanceOf",
1565
+ "outputs": [
1566
+ {
1567
+ "internalType": "uint256",
1568
+ "name": "",
1569
+ "type": "uint256"
1570
+ }
1571
+ ],
1572
+ "stateMutability": "view",
1573
+ "type": "function"
1574
+ },
1575
+ {
1576
+ "inputs": [],
1577
+ "name": "slasher",
1578
+ "outputs": [
1579
+ {
1580
+ "internalType": "address",
1581
+ "name": "",
1582
+ "type": "address"
1583
+ }
1584
+ ],
1585
+ "stateMutability": "view",
1586
+ "type": "function"
1587
+ },
1588
+ {
1589
+ "inputs": [
1590
+ {
1591
+ "internalType": "address",
1592
+ "name": "target",
1593
+ "type": "address"
1594
+ },
1595
+ {
1596
+ "internalType": "bytes",
1597
+ "name": "data",
1598
+ "type": "bytes"
1599
+ }
1600
+ ],
1601
+ "name": "staticDelegateCall",
1602
+ "outputs": [],
1603
+ "stateMutability": "nonpayable",
1604
+ "type": "function"
1605
+ },
1606
+ {
1607
+ "inputs": [
1608
+ {
1609
+ "internalType": "bytes4",
1610
+ "name": "interfaceId",
1611
+ "type": "bytes4"
1612
+ }
1613
+ ],
1614
+ "name": "supportsInterface",
1615
+ "outputs": [
1616
+ {
1617
+ "internalType": "bool",
1618
+ "name": "",
1619
+ "type": "bool"
1620
+ }
1621
+ ],
1622
+ "stateMutability": "view",
1623
+ "type": "function"
1624
+ },
1625
+ {
1626
+ "inputs": [],
1627
+ "name": "totalStake",
1628
+ "outputs": [
1629
+ {
1630
+ "internalType": "uint256",
1631
+ "name": "",
1632
+ "type": "uint256"
1633
+ }
1634
+ ],
1635
+ "stateMutability": "view",
1636
+ "type": "function"
1637
+ },
1638
+ {
1639
+ "inputs": [
1640
+ {
1641
+ "internalType": "address",
1642
+ "name": "newOwner",
1643
+ "type": "address"
1644
+ }
1645
+ ],
1646
+ "name": "transferOwnership",
1647
+ "outputs": [],
1648
+ "stateMutability": "nonpayable",
1649
+ "type": "function"
1650
+ },
1651
+ {
1652
+ "inputs": [],
1653
+ "name": "version",
1654
+ "outputs": [
1655
+ {
1656
+ "internalType": "uint64",
1657
+ "name": "",
1658
+ "type": "uint64"
1659
+ }
1660
+ ],
1661
+ "stateMutability": "view",
1662
+ "type": "function"
1663
+ },
1664
+ {
1665
+ "inputs": [
1666
+ {
1667
+ "internalType": "address",
1668
+ "name": "claimer",
1669
+ "type": "address"
1670
+ },
1671
+ {
1672
+ "internalType": "uint256",
1673
+ "name": "amount",
1674
+ "type": "uint256"
1675
+ }
1676
+ ],
1677
+ "name": "withdraw",
1678
+ "outputs": [
1679
+ {
1680
+ "internalType": "uint256",
1681
+ "name": "burnedShares",
1682
+ "type": "uint256"
1683
+ },
1684
+ {
1685
+ "internalType": "uint256",
1686
+ "name": "mintedShares",
1687
+ "type": "uint256"
1688
+ }
1689
+ ],
1690
+ "stateMutability": "nonpayable",
1691
+ "type": "function"
1692
+ },
1693
+ {
1694
+ "inputs": [
1695
+ {
1696
+ "internalType": "uint256",
1697
+ "name": "epoch",
1698
+ "type": "uint256"
1699
+ }
1700
+ ],
1701
+ "name": "withdrawalShares",
1702
+ "outputs": [
1703
+ {
1704
+ "internalType": "uint256",
1705
+ "name": "amount",
1706
+ "type": "uint256"
1707
+ }
1708
+ ],
1709
+ "stateMutability": "view",
1710
+ "type": "function"
1711
+ },
1712
+ {
1713
+ "inputs": [
1714
+ {
1715
+ "internalType": "uint256",
1716
+ "name": "epoch",
1717
+ "type": "uint256"
1718
+ },
1719
+ {
1720
+ "internalType": "address",
1721
+ "name": "account",
1722
+ "type": "address"
1723
+ }
1724
+ ],
1725
+ "name": "withdrawalSharesOf",
1726
+ "outputs": [
1727
+ {
1728
+ "internalType": "uint256",
1729
+ "name": "amount",
1730
+ "type": "uint256"
1731
+ }
1732
+ ],
1733
+ "stateMutability": "view",
1734
+ "type": "function"
1735
+ },
1736
+ {
1737
+ "inputs": [
1738
+ {
1739
+ "internalType": "uint256",
1740
+ "name": "epoch",
1741
+ "type": "uint256"
1742
+ }
1743
+ ],
1744
+ "name": "withdrawals",
1745
+ "outputs": [
1746
+ {
1747
+ "internalType": "uint256",
1748
+ "name": "amount",
1749
+ "type": "uint256"
1750
+ }
1751
+ ],
1752
+ "stateMutability": "view",
1753
+ "type": "function"
1754
+ },
1755
+ {
1756
+ "inputs": [
1757
+ {
1758
+ "internalType": "uint256",
1759
+ "name": "epoch",
1760
+ "type": "uint256"
1761
+ },
1762
+ {
1763
+ "internalType": "address",
1764
+ "name": "account",
1765
+ "type": "address"
1766
+ }
1767
+ ],
1768
+ "name": "withdrawalsOf",
1769
+ "outputs": [
1770
+ {
1771
+ "internalType": "uint256",
1772
+ "name": "",
1773
+ "type": "uint256"
1774
+ }
1775
+ ],
1776
+ "stateMutability": "view",
1777
+ "type": "function"
1778
+ }
1779
+ ] as const satisfies Abi;
1780
+
1781
+ /**
1782
+ * Type-safe ABI for Vault_json
1783
+ */
1784
+ export type Vault_jsonAbi = typeof Vault_jsonAbi;
1785
+
1786
+ /**
1787
+ * Contract instance type for Vault_json
1788
+ */
1789
+ // Use any for contract type to avoid complex viem type issues
1790
+ // The runtime behavior is type-safe through viem's ABI typing
1791
+ export type Vault_jsonContract = any;
1792
+
1793
+ /**
1794
+ * Vault_json Contract Class
1795
+ *
1796
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1797
+ *
1798
+ * @example
1799
+ * ```typescript
552
1800
  * import { createPublicClient, createWalletClient, http } from 'viem';
553
1801
  * import { mainnet } from 'viem/chains';
554
1802
  * import { Vault_json } from 'Vault_json';
@@ -599,113 +1847,508 @@ export class Vault_json {
599
1847
  }
600
1848
 
601
1849
  /**
602
- * Get the contract address
1850
+ * Get the contract address
1851
+ */
1852
+ get address(): Address {
1853
+ return this.contractAddress;
1854
+ }
1855
+
1856
+ /**
1857
+ * Get the underlying viem contract instance
1858
+ */
1859
+ getContract(): Vault_jsonContract {
1860
+ return this.contract;
1861
+ }
1862
+
1863
+ /**
1864
+ * DEFAULT_ADMIN_ROLE
1865
+ * view
1866
+ */
1867
+ async DEFAULT_ADMIN_ROLE(): Promise<`0x${string}`> {
1868
+ return this.contract.read.DEFAULT_ADMIN_ROLE() as Promise<`0x${string}`>;
1869
+ }
1870
+
1871
+ /**
1872
+ * DELEGATOR_FACTORY
1873
+ * view
1874
+ */
1875
+ async DELEGATOR_FACTORY(): Promise<`0x${string}`> {
1876
+ return this.contract.read.DELEGATOR_FACTORY() as Promise<`0x${string}`>;
1877
+ }
1878
+
1879
+ /**
1880
+ * DEPOSITOR_WHITELIST_ROLE
1881
+ * view
1882
+ */
1883
+ async DEPOSITOR_WHITELIST_ROLE(): Promise<`0x${string}`> {
1884
+ return this.contract.read.DEPOSITOR_WHITELIST_ROLE() as Promise<`0x${string}`>;
1885
+ }
1886
+
1887
+ /**
1888
+ * DEPOSIT_LIMIT_SET_ROLE
1889
+ * view
1890
+ */
1891
+ async DEPOSIT_LIMIT_SET_ROLE(): Promise<`0x${string}`> {
1892
+ return this.contract.read.DEPOSIT_LIMIT_SET_ROLE() as Promise<`0x${string}`>;
1893
+ }
1894
+
1895
+ /**
1896
+ * DEPOSIT_WHITELIST_SET_ROLE
1897
+ * view
1898
+ */
1899
+ async DEPOSIT_WHITELIST_SET_ROLE(): Promise<`0x${string}`> {
1900
+ return this.contract.read.DEPOSIT_WHITELIST_SET_ROLE() as Promise<`0x${string}`>;
1901
+ }
1902
+
1903
+ /**
1904
+ * FACTORY
1905
+ * view
1906
+ */
1907
+ async FACTORY(): Promise<`0x${string}`> {
1908
+ return this.contract.read.FACTORY() as Promise<`0x${string}`>;
1909
+ }
1910
+
1911
+ /**
1912
+ * IS_DEPOSIT_LIMIT_SET_ROLE
1913
+ * view
1914
+ */
1915
+ async IS_DEPOSIT_LIMIT_SET_ROLE(): Promise<`0x${string}`> {
1916
+ return this.contract.read.IS_DEPOSIT_LIMIT_SET_ROLE() as Promise<`0x${string}`>;
1917
+ }
1918
+
1919
+ /**
1920
+ * SLASHER_FACTORY
1921
+ * view
1922
+ */
1923
+ async SLASHER_FACTORY(): Promise<`0x${string}`> {
1924
+ return this.contract.read.SLASHER_FACTORY() as Promise<`0x${string}`>;
1925
+ }
1926
+
1927
+ /**
1928
+ * activeBalanceOf
1929
+ * view
1930
+ */
1931
+ async activeBalanceOf(account: `0x${string}`): Promise<bigint> {
1932
+ return this.contract.read.activeBalanceOf([account] as const) as Promise<bigint>;
1933
+ }
1934
+
1935
+ /**
1936
+ * activeBalanceOfAt
1937
+ * view
1938
+ */
1939
+ async activeBalanceOfAt(account: `0x${string}`, timestamp: bigint, hints: `0x${string}`): Promise<bigint> {
1940
+ return this.contract.read.activeBalanceOfAt([account, timestamp, hints] as const) as Promise<bigint>;
1941
+ }
1942
+
1943
+ /**
1944
+ * activeShares
1945
+ * view
1946
+ */
1947
+ async activeShares(): Promise<bigint> {
1948
+ return this.contract.read.activeShares() as Promise<bigint>;
1949
+ }
1950
+
1951
+ /**
1952
+ * activeSharesAt
1953
+ * view
1954
+ */
1955
+ async activeSharesAt(timestamp: bigint, hint: `0x${string}`): Promise<bigint> {
1956
+ return this.contract.read.activeSharesAt([timestamp, hint] as const) as Promise<bigint>;
1957
+ }
1958
+
1959
+ /**
1960
+ * activeSharesOf
1961
+ * view
1962
+ */
1963
+ async activeSharesOf(account: `0x${string}`): Promise<bigint> {
1964
+ return this.contract.read.activeSharesOf([account] as const) as Promise<bigint>;
1965
+ }
1966
+
1967
+ /**
1968
+ * activeSharesOfAt
1969
+ * view
1970
+ */
1971
+ async activeSharesOfAt(account: `0x${string}`, timestamp: bigint, hint: `0x${string}`): Promise<bigint> {
1972
+ return this.contract.read.activeSharesOfAt([account, timestamp, hint] as const) as Promise<bigint>;
1973
+ }
1974
+
1975
+ /**
1976
+ * activeStake
1977
+ * view
1978
+ */
1979
+ async activeStake(): Promise<bigint> {
1980
+ return this.contract.read.activeStake() as Promise<bigint>;
1981
+ }
1982
+
1983
+ /**
1984
+ * activeStakeAt
1985
+ * view
1986
+ */
1987
+ async activeStakeAt(timestamp: bigint, hint: `0x${string}`): Promise<bigint> {
1988
+ return this.contract.read.activeStakeAt([timestamp, hint] as const) as Promise<bigint>;
1989
+ }
1990
+
1991
+ /**
1992
+ * burner
1993
+ * view
1994
+ */
1995
+ async burner(): Promise<`0x${string}`> {
1996
+ return this.contract.read.burner() as Promise<`0x${string}`>;
1997
+ }
1998
+
1999
+ /**
2000
+ * collateral
2001
+ * view
2002
+ */
2003
+ async collateral(): Promise<`0x${string}`> {
2004
+ return this.contract.read.collateral() as Promise<`0x${string}`>;
2005
+ }
2006
+
2007
+ /**
2008
+ * currentEpoch
2009
+ * view
2010
+ */
2011
+ async currentEpoch(): Promise<bigint> {
2012
+ return this.contract.read.currentEpoch() as Promise<bigint>;
2013
+ }
2014
+
2015
+ /**
2016
+ * currentEpochStart
2017
+ * view
2018
+ */
2019
+ async currentEpochStart(): Promise<bigint> {
2020
+ return this.contract.read.currentEpochStart() as Promise<bigint>;
2021
+ }
2022
+
2023
+ /**
2024
+ * delegator
2025
+ * view
2026
+ */
2027
+ async delegator(): Promise<`0x${string}`> {
2028
+ return this.contract.read.delegator() as Promise<`0x${string}`>;
2029
+ }
2030
+
2031
+ /**
2032
+ * depositLimit
2033
+ * view
2034
+ */
2035
+ async depositLimit(): Promise<bigint> {
2036
+ return this.contract.read.depositLimit() as Promise<bigint>;
2037
+ }
2038
+
2039
+ /**
2040
+ * depositWhitelist
2041
+ * view
2042
+ */
2043
+ async depositWhitelist(): Promise<boolean> {
2044
+ return this.contract.read.depositWhitelist() as Promise<boolean>;
2045
+ }
2046
+
2047
+ /**
2048
+ * epochAt
2049
+ * view
2050
+ */
2051
+ async epochAt(timestamp: bigint): Promise<bigint> {
2052
+ return this.contract.read.epochAt([timestamp] as const) as Promise<bigint>;
2053
+ }
2054
+
2055
+ /**
2056
+ * epochDuration
2057
+ * view
2058
+ */
2059
+ async epochDuration(): Promise<bigint> {
2060
+ return this.contract.read.epochDuration() as Promise<bigint>;
2061
+ }
2062
+
2063
+ /**
2064
+ * epochDurationInit
2065
+ * view
2066
+ */
2067
+ async epochDurationInit(): Promise<bigint> {
2068
+ return this.contract.read.epochDurationInit() as Promise<bigint>;
2069
+ }
2070
+
2071
+ /**
2072
+ * getRoleAdmin
2073
+ * view
2074
+ */
2075
+ async getRoleAdmin(role: `0x${string}`): Promise<`0x${string}`> {
2076
+ return this.contract.read.getRoleAdmin([role] as const) as Promise<`0x${string}`>;
2077
+ }
2078
+
2079
+ /**
2080
+ * hasRole
2081
+ * view
2082
+ */
2083
+ async hasRole(role: `0x${string}`, account: `0x${string}`): Promise<boolean> {
2084
+ return this.contract.read.hasRole([role, account] as const) as Promise<boolean>;
2085
+ }
2086
+
2087
+ /**
2088
+ * isDelegatorInitialized
2089
+ * view
2090
+ */
2091
+ async isDelegatorInitialized(): Promise<boolean> {
2092
+ return this.contract.read.isDelegatorInitialized() as Promise<boolean>;
2093
+ }
2094
+
2095
+ /**
2096
+ * isDepositLimit
2097
+ * view
2098
+ */
2099
+ async isDepositLimit(): Promise<boolean> {
2100
+ return this.contract.read.isDepositLimit() as Promise<boolean>;
2101
+ }
2102
+
2103
+ /**
2104
+ * isDepositorWhitelisted
2105
+ * view
603
2106
  */
604
- get address(): Address {
605
- return this.contractAddress;
2107
+ async isDepositorWhitelisted(account: `0x${string}`): Promise<boolean> {
2108
+ return this.contract.read.isDepositorWhitelisted([account] as const) as Promise<boolean>;
606
2109
  }
607
2110
 
608
2111
  /**
609
- * Get the underlying viem contract instance
2112
+ * isInitialized
2113
+ * view
610
2114
  */
611
- getContract(): Vault_jsonContract {
612
- return this.contract;
2115
+ async isInitialized(): Promise<boolean> {
2116
+ return this.contract.read.isInitialized() as Promise<boolean>;
613
2117
  }
614
2118
 
615
2119
  /**
616
- * RATE_PROVIDER_REGISTRY
2120
+ * isSlasherInitialized
617
2121
  * view
618
2122
  */
619
- async RATE_PROVIDER_REGISTRY(): Promise<`0x${string}`> {
620
- return this.contract.read.RATE_PROVIDER_REGISTRY() as Promise<`0x${string}`>;
2123
+ async isSlasherInitialized(): Promise<boolean> {
2124
+ return this.contract.read.isSlasherInitialized() as Promise<boolean>;
621
2125
  }
622
2126
 
623
2127
  /**
624
- * getAllowableAssetCount
2128
+ * isWithdrawalsClaimed
625
2129
  * view
626
2130
  */
627
- async getAllowableAssetCount(): Promise<bigint> {
628
- return this.contract.read.getAllowableAssetCount() as Promise<bigint>;
2131
+ async isWithdrawalsClaimed(epoch: bigint, account: `0x${string}`): Promise<boolean> {
2132
+ return this.contract.read.isWithdrawalsClaimed([epoch, account] as const) as Promise<boolean>;
629
2133
  }
630
2134
 
631
2135
  /**
632
- * getAllowableAssets
2136
+ * nextEpochStart
633
2137
  * view
634
2138
  */
635
- async getAllowableAssets(): Promise<`0x${string}`[]> {
636
- return this.contract.read.getAllowableAssets() as Promise<`0x${string}`[]>;
2139
+ async nextEpochStart(): Promise<bigint> {
2140
+ return this.contract.read.nextEpochStart() as Promise<bigint>;
637
2141
  }
638
2142
 
639
2143
  /**
640
- * getTAsset
2144
+ * owner
641
2145
  * view
642
2146
  */
643
- async getTAsset(): Promise<`0x${string}`> {
644
- return this.contract.read.getTAsset() as Promise<`0x${string}`>;
2147
+ async owner(): Promise<`0x${string}`> {
2148
+ return this.contract.read.owner() as Promise<`0x${string}`>;
645
2149
  }
646
2150
 
647
2151
  /**
648
- * getUnderlying
2152
+ * previousEpochStart
649
2153
  * view
650
2154
  */
651
- async getUnderlying(): Promise<`0x${string}`> {
652
- return this.contract.read.getUnderlying() as Promise<`0x${string}`>;
2155
+ async previousEpochStart(): Promise<bigint> {
2156
+ return this.contract.read.previousEpochStart() as Promise<bigint>;
653
2157
  }
654
2158
 
655
2159
  /**
656
- * isAllowableAsset
2160
+ * slashableBalanceOf
657
2161
  * view
658
2162
  */
659
- async isAllowableAsset(_asset: `0x${string}`): Promise<boolean> {
660
- return this.contract.read.isAllowableAsset([_asset] as const) as Promise<boolean>;
2163
+ async slashableBalanceOf(account: `0x${string}`): Promise<bigint> {
2164
+ return this.contract.read.slashableBalanceOf([account] as const) as Promise<bigint>;
661
2165
  }
662
2166
 
663
2167
  /**
664
- * owner
2168
+ * slasher
665
2169
  * view
666
2170
  */
667
- async owner(): Promise<`0x${string}`> {
668
- return this.contract.read.owner() as Promise<`0x${string}`>;
2171
+ async slasher(): Promise<`0x${string}`> {
2172
+ return this.contract.read.slasher() as Promise<`0x${string}`>;
2173
+ }
2174
+
2175
+ /**
2176
+ * supportsInterface
2177
+ * view
2178
+ */
2179
+ async supportsInterface(interfaceId: `0x${string}`): Promise<boolean> {
2180
+ return this.contract.read.supportsInterface([interfaceId] as const) as Promise<boolean>;
2181
+ }
2182
+
2183
+ /**
2184
+ * totalStake
2185
+ * view
2186
+ */
2187
+ async totalStake(): Promise<bigint> {
2188
+ return this.contract.read.totalStake() as Promise<bigint>;
2189
+ }
2190
+
2191
+ /**
2192
+ * version
2193
+ * view
2194
+ */
2195
+ async version(): Promise<bigint> {
2196
+ return this.contract.read.version() as Promise<bigint>;
669
2197
  }
670
2198
 
671
2199
  /**
672
- * pendingOwner
2200
+ * withdrawalShares
673
2201
  * view
674
2202
  */
675
- async pendingOwner(): Promise<`0x${string}`> {
676
- return this.contract.read.pendingOwner() as Promise<`0x${string}`>;
2203
+ async withdrawalShares(epoch: bigint): Promise<bigint> {
2204
+ return this.contract.read.withdrawalShares([epoch] as const) as Promise<bigint>;
677
2205
  }
678
2206
 
679
2207
  /**
680
- * redemption
2208
+ * withdrawalSharesOf
681
2209
  * view
682
2210
  */
683
- async redemption(): Promise<`0x${string}`> {
684
- return this.contract.read.redemption() as Promise<`0x${string}`>;
2211
+ async withdrawalSharesOf(epoch: bigint, account: `0x${string}`): Promise<bigint> {
2212
+ return this.contract.read.withdrawalSharesOf([epoch, account] as const) as Promise<bigint>;
685
2213
  }
686
2214
 
687
2215
  /**
688
- * rescuer
2216
+ * withdrawals
689
2217
  * view
690
2218
  */
691
- async rescuer(): Promise<`0x${string}`> {
692
- return this.contract.read.rescuer() as Promise<`0x${string}`>;
2219
+ async withdrawals(epoch: bigint): Promise<bigint> {
2220
+ return this.contract.read.withdrawals([epoch] as const) as Promise<bigint>;
693
2221
  }
694
2222
 
695
2223
  /**
696
- * strategyStorage
2224
+ * withdrawalsOf
697
2225
  * view
698
2226
  */
699
- async strategyStorage(): Promise<`0x${string}`> {
700
- return this.contract.read.strategyStorage() as Promise<`0x${string}`>;
2227
+ async withdrawalsOf(epoch: bigint, account: `0x${string}`): Promise<bigint> {
2228
+ return this.contract.read.withdrawalsOf([epoch, account] as const) as Promise<bigint>;
2229
+ }
2230
+
2231
+ /**
2232
+ * claim
2233
+ * nonpayable
2234
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2235
+ */
2236
+ async claim(recipient: `0x${string}`, epoch: bigint, options?: {
2237
+ accessList?: import('viem').AccessList;
2238
+ authorizationList?: import('viem').AuthorizationList;
2239
+ chain?: import('viem').Chain | null;
2240
+ dataSuffix?: `0x${string}`;
2241
+ gas?: bigint;
2242
+ gasPrice?: bigint;
2243
+ maxFeePerGas?: bigint;
2244
+ maxPriorityFeePerGas?: bigint;
2245
+ nonce?: number;
2246
+ value?: bigint;
2247
+ }): Promise<`0x${string}`> {
2248
+ if (!this.contract.write) {
2249
+ throw new Error('Wallet client is required for write operations');
2250
+ }
2251
+ return this.contract.write.claim([recipient, epoch] as const, options) as Promise<`0x${string}`>;
2252
+ }
2253
+
2254
+ /**
2255
+ * claimBatch
2256
+ * nonpayable
2257
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2258
+ */
2259
+ async claimBatch(recipient: `0x${string}`, epochs: bigint[], options?: {
2260
+ accessList?: import('viem').AccessList;
2261
+ authorizationList?: import('viem').AuthorizationList;
2262
+ chain?: import('viem').Chain | null;
2263
+ dataSuffix?: `0x${string}`;
2264
+ gas?: bigint;
2265
+ gasPrice?: bigint;
2266
+ maxFeePerGas?: bigint;
2267
+ maxPriorityFeePerGas?: bigint;
2268
+ nonce?: number;
2269
+ value?: bigint;
2270
+ }): Promise<`0x${string}`> {
2271
+ if (!this.contract.write) {
2272
+ throw new Error('Wallet client is required for write operations');
2273
+ }
2274
+ return this.contract.write.claimBatch([recipient, epochs] as const, options) as Promise<`0x${string}`>;
2275
+ }
2276
+
2277
+ /**
2278
+ * deposit
2279
+ * nonpayable
2280
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2281
+ */
2282
+ async deposit(onBehalfOf: `0x${string}`, amount: bigint, options?: {
2283
+ accessList?: import('viem').AccessList;
2284
+ authorizationList?: import('viem').AuthorizationList;
2285
+ chain?: import('viem').Chain | null;
2286
+ dataSuffix?: `0x${string}`;
2287
+ gas?: bigint;
2288
+ gasPrice?: bigint;
2289
+ maxFeePerGas?: bigint;
2290
+ maxPriorityFeePerGas?: bigint;
2291
+ nonce?: number;
2292
+ value?: bigint;
2293
+ }): Promise<`0x${string}`> {
2294
+ if (!this.contract.write) {
2295
+ throw new Error('Wallet client is required for write operations');
2296
+ }
2297
+ return this.contract.write.deposit([onBehalfOf, amount] as const, options) as Promise<`0x${string}`>;
2298
+ }
2299
+
2300
+ /**
2301
+ * grantRole
2302
+ * nonpayable
2303
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2304
+ */
2305
+ async grantRole(role: `0x${string}`, account: `0x${string}`, options?: {
2306
+ accessList?: import('viem').AccessList;
2307
+ authorizationList?: import('viem').AuthorizationList;
2308
+ chain?: import('viem').Chain | null;
2309
+ dataSuffix?: `0x${string}`;
2310
+ gas?: bigint;
2311
+ gasPrice?: bigint;
2312
+ maxFeePerGas?: bigint;
2313
+ maxPriorityFeePerGas?: bigint;
2314
+ nonce?: number;
2315
+ value?: bigint;
2316
+ }): Promise<`0x${string}`> {
2317
+ if (!this.contract.write) {
2318
+ throw new Error('Wallet client is required for write operations');
2319
+ }
2320
+ return this.contract.write.grantRole([role, account] as const, options) as Promise<`0x${string}`>;
2321
+ }
2322
+
2323
+ /**
2324
+ * initialize
2325
+ * nonpayable
2326
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2327
+ */
2328
+ async initialize(initialVersion: bigint, owner_: `0x${string}`, data: `0x${string}`, options?: {
2329
+ accessList?: import('viem').AccessList;
2330
+ authorizationList?: import('viem').AuthorizationList;
2331
+ chain?: import('viem').Chain | null;
2332
+ dataSuffix?: `0x${string}`;
2333
+ gas?: bigint;
2334
+ gasPrice?: bigint;
2335
+ maxFeePerGas?: bigint;
2336
+ maxPriorityFeePerGas?: bigint;
2337
+ nonce?: number;
2338
+ value?: bigint;
2339
+ }): Promise<`0x${string}`> {
2340
+ if (!this.contract.write) {
2341
+ throw new Error('Wallet client is required for write operations');
2342
+ }
2343
+ return this.contract.write.initialize([initialVersion, owner_, data] as const, options) as Promise<`0x${string}`>;
701
2344
  }
702
2345
 
703
2346
  /**
704
- * acceptOwnership
2347
+ * migrate
705
2348
  * nonpayable
706
2349
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
707
2350
  */
708
- async acceptOwnership(options?: {
2351
+ async migrate(newVersion: bigint, data: `0x${string}`, options?: {
709
2352
  accessList?: import('viem').AccessList;
710
2353
  authorizationList?: import('viem').AuthorizationList;
711
2354
  chain?: import('viem').Chain | null;
@@ -720,15 +2363,15 @@ export class Vault_json {
720
2363
  if (!this.contract.write) {
721
2364
  throw new Error('Wallet client is required for write operations');
722
2365
  }
723
- return this.contract.write.acceptOwnership(options) as Promise<`0x${string}`>;
2366
+ return this.contract.write.migrate([newVersion, data] as const, options) as Promise<`0x${string}`>;
724
2367
  }
725
2368
 
726
2369
  /**
727
- * addAllowableAsset
2370
+ * onSlash
728
2371
  * nonpayable
729
2372
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
730
2373
  */
731
- async addAllowableAsset(_asset: `0x${string}`, options?: {
2374
+ async onSlash(amount: bigint, captureTimestamp: bigint, options?: {
732
2375
  accessList?: import('viem').AccessList;
733
2376
  authorizationList?: import('viem').AuthorizationList;
734
2377
  chain?: import('viem').Chain | null;
@@ -743,15 +2386,15 @@ export class Vault_json {
743
2386
  if (!this.contract.write) {
744
2387
  throw new Error('Wallet client is required for write operations');
745
2388
  }
746
- return this.contract.write.addAllowableAsset([_asset] as const, options) as Promise<`0x${string}`>;
2389
+ return this.contract.write.onSlash([amount, captureTimestamp] as const, options) as Promise<`0x${string}`>;
747
2390
  }
748
2391
 
749
2392
  /**
750
- * removeAllowableAsset
2393
+ * redeem
751
2394
  * nonpayable
752
2395
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
753
2396
  */
754
- async removeAllowableAsset(_asset: `0x${string}`, options?: {
2397
+ async redeem(claimer: `0x${string}`, shares: bigint, options?: {
755
2398
  accessList?: import('viem').AccessList;
756
2399
  authorizationList?: import('viem').AuthorizationList;
757
2400
  chain?: import('viem').Chain | null;
@@ -766,7 +2409,7 @@ export class Vault_json {
766
2409
  if (!this.contract.write) {
767
2410
  throw new Error('Wallet client is required for write operations');
768
2411
  }
769
- return this.contract.write.removeAllowableAsset([_asset] as const, options) as Promise<`0x${string}`>;
2412
+ return this.contract.write.redeem([claimer, shares] as const, options) as Promise<`0x${string}`>;
770
2413
  }
771
2414
 
772
2415
  /**
@@ -793,11 +2436,11 @@ export class Vault_json {
793
2436
  }
794
2437
 
795
2438
  /**
796
- * rescueERC20
2439
+ * renounceRole
797
2440
  * nonpayable
798
2441
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
799
2442
  */
800
- async rescueERC20(tokenContract: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
2443
+ async renounceRole(role: `0x${string}`, callerConfirmation: `0x${string}`, options?: {
801
2444
  accessList?: import('viem').AccessList;
802
2445
  authorizationList?: import('viem').AuthorizationList;
803
2446
  chain?: import('viem').Chain | null;
@@ -812,15 +2455,15 @@ export class Vault_json {
812
2455
  if (!this.contract.write) {
813
2456
  throw new Error('Wallet client is required for write operations');
814
2457
  }
815
- return this.contract.write.rescueERC20([tokenContract, to, amount] as const, options) as Promise<`0x${string}`>;
2458
+ return this.contract.write.renounceRole([role, callerConfirmation] as const, options) as Promise<`0x${string}`>;
816
2459
  }
817
2460
 
818
2461
  /**
819
- * rescueETH
2462
+ * revokeRole
820
2463
  * nonpayable
821
2464
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
822
2465
  */
823
- async rescueETH(to: `0x${string}`, options?: {
2466
+ async revokeRole(role: `0x${string}`, account: `0x${string}`, options?: {
824
2467
  accessList?: import('viem').AccessList;
825
2468
  authorizationList?: import('viem').AuthorizationList;
826
2469
  chain?: import('viem').Chain | null;
@@ -835,15 +2478,15 @@ export class Vault_json {
835
2478
  if (!this.contract.write) {
836
2479
  throw new Error('Wallet client is required for write operations');
837
2480
  }
838
- return this.contract.write.rescueETH([to] as const, options) as Promise<`0x${string}`>;
2481
+ return this.contract.write.revokeRole([role, account] as const, options) as Promise<`0x${string}`>;
839
2482
  }
840
2483
 
841
2484
  /**
842
- * setRedemption
2485
+ * setDelegator
843
2486
  * nonpayable
844
2487
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
845
2488
  */
846
- async setRedemption(_newRedemption: `0x${string}`, options?: {
2489
+ async setDelegator(delegator_: `0x${string}`, options?: {
847
2490
  accessList?: import('viem').AccessList;
848
2491
  authorizationList?: import('viem').AuthorizationList;
849
2492
  chain?: import('viem').Chain | null;
@@ -858,15 +2501,15 @@ export class Vault_json {
858
2501
  if (!this.contract.write) {
859
2502
  throw new Error('Wallet client is required for write operations');
860
2503
  }
861
- return this.contract.write.setRedemption([_newRedemption] as const, options) as Promise<`0x${string}`>;
2504
+ return this.contract.write.setDelegator([delegator_] as const, options) as Promise<`0x${string}`>;
862
2505
  }
863
2506
 
864
2507
  /**
865
- * setStrategyStorage
2508
+ * setDepositLimit
866
2509
  * nonpayable
867
2510
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
868
2511
  */
869
- async setStrategyStorage(_newStrategyStorage: `0x${string}`, options?: {
2512
+ async setDepositLimit(limit: bigint, options?: {
870
2513
  accessList?: import('viem').AccessList;
871
2514
  authorizationList?: import('viem').AuthorizationList;
872
2515
  chain?: import('viem').Chain | null;
@@ -881,15 +2524,15 @@ export class Vault_json {
881
2524
  if (!this.contract.write) {
882
2525
  throw new Error('Wallet client is required for write operations');
883
2526
  }
884
- return this.contract.write.setStrategyStorage([_newStrategyStorage] as const, options) as Promise<`0x${string}`>;
2527
+ return this.contract.write.setDepositLimit([limit] as const, options) as Promise<`0x${string}`>;
885
2528
  }
886
2529
 
887
2530
  /**
888
- * transferOwnership
2531
+ * setDepositWhitelist
889
2532
  * nonpayable
890
2533
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
891
2534
  */
892
- async transferOwnership(newOwner: `0x${string}`, options?: {
2535
+ async setDepositWhitelist(status: boolean, options?: {
893
2536
  accessList?: import('viem').AccessList;
894
2537
  authorizationList?: import('viem').AuthorizationList;
895
2538
  chain?: import('viem').Chain | null;
@@ -904,15 +2547,107 @@ export class Vault_json {
904
2547
  if (!this.contract.write) {
905
2548
  throw new Error('Wallet client is required for write operations');
906
2549
  }
907
- return this.contract.write.transferOwnership([newOwner] as const, options) as Promise<`0x${string}`>;
2550
+ return this.contract.write.setDepositWhitelist([status] as const, options) as Promise<`0x${string}`>;
2551
+ }
2552
+
2553
+ /**
2554
+ * setDepositorWhitelistStatus
2555
+ * nonpayable
2556
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2557
+ */
2558
+ async setDepositorWhitelistStatus(account: `0x${string}`, status: boolean, options?: {
2559
+ accessList?: import('viem').AccessList;
2560
+ authorizationList?: import('viem').AuthorizationList;
2561
+ chain?: import('viem').Chain | null;
2562
+ dataSuffix?: `0x${string}`;
2563
+ gas?: bigint;
2564
+ gasPrice?: bigint;
2565
+ maxFeePerGas?: bigint;
2566
+ maxPriorityFeePerGas?: bigint;
2567
+ nonce?: number;
2568
+ value?: bigint;
2569
+ }): Promise<`0x${string}`> {
2570
+ if (!this.contract.write) {
2571
+ throw new Error('Wallet client is required for write operations');
2572
+ }
2573
+ return this.contract.write.setDepositorWhitelistStatus([account, status] as const, options) as Promise<`0x${string}`>;
2574
+ }
2575
+
2576
+ /**
2577
+ * setIsDepositLimit
2578
+ * nonpayable
2579
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2580
+ */
2581
+ async setIsDepositLimit(status: boolean, options?: {
2582
+ accessList?: import('viem').AccessList;
2583
+ authorizationList?: import('viem').AuthorizationList;
2584
+ chain?: import('viem').Chain | null;
2585
+ dataSuffix?: `0x${string}`;
2586
+ gas?: bigint;
2587
+ gasPrice?: bigint;
2588
+ maxFeePerGas?: bigint;
2589
+ maxPriorityFeePerGas?: bigint;
2590
+ nonce?: number;
2591
+ value?: bigint;
2592
+ }): Promise<`0x${string}`> {
2593
+ if (!this.contract.write) {
2594
+ throw new Error('Wallet client is required for write operations');
2595
+ }
2596
+ return this.contract.write.setIsDepositLimit([status] as const, options) as Promise<`0x${string}`>;
2597
+ }
2598
+
2599
+ /**
2600
+ * setSlasher
2601
+ * nonpayable
2602
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2603
+ */
2604
+ async setSlasher(slasher_: `0x${string}`, options?: {
2605
+ accessList?: import('viem').AccessList;
2606
+ authorizationList?: import('viem').AuthorizationList;
2607
+ chain?: import('viem').Chain | null;
2608
+ dataSuffix?: `0x${string}`;
2609
+ gas?: bigint;
2610
+ gasPrice?: bigint;
2611
+ maxFeePerGas?: bigint;
2612
+ maxPriorityFeePerGas?: bigint;
2613
+ nonce?: number;
2614
+ value?: bigint;
2615
+ }): Promise<`0x${string}`> {
2616
+ if (!this.contract.write) {
2617
+ throw new Error('Wallet client is required for write operations');
2618
+ }
2619
+ return this.contract.write.setSlasher([slasher_] as const, options) as Promise<`0x${string}`>;
2620
+ }
2621
+
2622
+ /**
2623
+ * staticDelegateCall
2624
+ * nonpayable
2625
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2626
+ */
2627
+ async staticDelegateCall(target: `0x${string}`, data: `0x${string}`, options?: {
2628
+ accessList?: import('viem').AccessList;
2629
+ authorizationList?: import('viem').AuthorizationList;
2630
+ chain?: import('viem').Chain | null;
2631
+ dataSuffix?: `0x${string}`;
2632
+ gas?: bigint;
2633
+ gasPrice?: bigint;
2634
+ maxFeePerGas?: bigint;
2635
+ maxPriorityFeePerGas?: bigint;
2636
+ nonce?: number;
2637
+ value?: bigint;
2638
+ }): Promise<`0x${string}`> {
2639
+ if (!this.contract.write) {
2640
+ throw new Error('Wallet client is required for write operations');
2641
+ }
2642
+ return this.contract.write.staticDelegateCall([target, data] as const, options) as Promise<`0x${string}`>;
908
2643
  }
909
2644
 
910
2645
  /**
911
- * updateRescuer
2646
+ * transferOwnership
912
2647
  * nonpayable
913
2648
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
914
2649
  */
915
- async updateRescuer(newRescuer: `0x${string}`, options?: {
2650
+ async transferOwnership(newOwner: `0x${string}`, options?: {
916
2651
  accessList?: import('viem').AccessList;
917
2652
  authorizationList?: import('viem').AuthorizationList;
918
2653
  chain?: import('viem').Chain | null;
@@ -927,7 +2662,7 @@ export class Vault_json {
927
2662
  if (!this.contract.write) {
928
2663
  throw new Error('Wallet client is required for write operations');
929
2664
  }
930
- return this.contract.write.updateRescuer([newRescuer] as const, options) as Promise<`0x${string}`>;
2665
+ return this.contract.write.transferOwnership([newOwner] as const, options) as Promise<`0x${string}`>;
931
2666
  }
932
2667
 
933
2668
  /**
@@ -935,7 +2670,7 @@ export class Vault_json {
935
2670
  * nonpayable
936
2671
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
937
2672
  */
938
- async withdraw(_asset: `0x${string}`, _amount: bigint, options?: {
2673
+ async withdraw(claimer: `0x${string}`, amount: bigint, options?: {
939
2674
  accessList?: import('viem').AccessList;
940
2675
  authorizationList?: import('viem').AuthorizationList;
941
2676
  chain?: import('viem').Chain | null;
@@ -950,7 +2685,7 @@ export class Vault_json {
950
2685
  if (!this.contract.write) {
951
2686
  throw new Error('Wallet client is required for write operations');
952
2687
  }
953
- return this.contract.write.withdraw([_asset, _amount] as const, options) as Promise<`0x${string}`>;
2688
+ return this.contract.write.withdraw([claimer, amount] as const, options) as Promise<`0x${string}`>;
954
2689
  }
955
2690
 
956
2691
 
@@ -970,11 +2705,68 @@ export class Vault_json {
970
2705
  }
971
2706
  return {
972
2707
  /**
973
- * Simulate acceptOwnership
2708
+ * Simulate claim
2709
+ * Returns gas estimate and result without sending transaction
2710
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2711
+ */
2712
+ async claim(recipient: `0x${string}`, epoch: bigint, options?: {
2713
+ accessList?: import('viem').AccessList;
2714
+ authorizationList?: import('viem').AuthorizationList;
2715
+ chain?: import('viem').Chain | null;
2716
+ dataSuffix?: `0x${string}`;
2717
+ gas?: bigint;
2718
+ gasPrice?: bigint;
2719
+ maxFeePerGas?: bigint;
2720
+ maxPriorityFeePerGas?: bigint;
2721
+ nonce?: number;
2722
+ value?: bigint;
2723
+ }): Promise<bigint> {
2724
+ return contract.simulate.claim([recipient, epoch] as const, options) as Promise<bigint>;
2725
+ },
2726
+ /**
2727
+ * Simulate claimBatch
2728
+ * Returns gas estimate and result without sending transaction
2729
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2730
+ */
2731
+ async claimBatch(recipient: `0x${string}`, epochs: bigint[], options?: {
2732
+ accessList?: import('viem').AccessList;
2733
+ authorizationList?: import('viem').AuthorizationList;
2734
+ chain?: import('viem').Chain | null;
2735
+ dataSuffix?: `0x${string}`;
2736
+ gas?: bigint;
2737
+ gasPrice?: bigint;
2738
+ maxFeePerGas?: bigint;
2739
+ maxPriorityFeePerGas?: bigint;
2740
+ nonce?: number;
2741
+ value?: bigint;
2742
+ }): Promise<bigint> {
2743
+ return contract.simulate.claimBatch([recipient, epochs] as const, options) as Promise<bigint>;
2744
+ },
2745
+ /**
2746
+ * Simulate deposit
2747
+ * Returns gas estimate and result without sending transaction
2748
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2749
+ */
2750
+ async deposit(onBehalfOf: `0x${string}`, amount: bigint, options?: {
2751
+ accessList?: import('viem').AccessList;
2752
+ authorizationList?: import('viem').AuthorizationList;
2753
+ chain?: import('viem').Chain | null;
2754
+ dataSuffix?: `0x${string}`;
2755
+ gas?: bigint;
2756
+ gasPrice?: bigint;
2757
+ maxFeePerGas?: bigint;
2758
+ maxPriorityFeePerGas?: bigint;
2759
+ nonce?: number;
2760
+ value?: bigint;
2761
+ }): Promise<[bigint, bigint]> {
2762
+ return contract.simulate.deposit([onBehalfOf, amount] as const, options) as Promise<[bigint, bigint]>;
2763
+ },
2764
+ /**
2765
+ * Simulate grantRole
974
2766
  * Returns gas estimate and result without sending transaction
975
2767
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
976
2768
  */
977
- async acceptOwnership(options?: {
2769
+ async grantRole(role: `0x${string}`, account: `0x${string}`, options?: {
978
2770
  accessList?: import('viem').AccessList;
979
2771
  authorizationList?: import('viem').AuthorizationList;
980
2772
  chain?: import('viem').Chain | null;
@@ -986,14 +2778,14 @@ export class Vault_json {
986
2778
  nonce?: number;
987
2779
  value?: bigint;
988
2780
  }): Promise<void> {
989
- return contract.simulate.acceptOwnership(options) as Promise<void>;
2781
+ return contract.simulate.grantRole([role, account] as const, options) as Promise<void>;
990
2782
  },
991
2783
  /**
992
- * Simulate addAllowableAsset
2784
+ * Simulate initialize
993
2785
  * Returns gas estimate and result without sending transaction
994
2786
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
995
2787
  */
996
- async addAllowableAsset(_asset: `0x${string}`, options?: {
2788
+ async initialize(initialVersion: bigint, owner_: `0x${string}`, data: `0x${string}`, options?: {
997
2789
  accessList?: import('viem').AccessList;
998
2790
  authorizationList?: import('viem').AuthorizationList;
999
2791
  chain?: import('viem').Chain | null;
@@ -1005,14 +2797,14 @@ export class Vault_json {
1005
2797
  nonce?: number;
1006
2798
  value?: bigint;
1007
2799
  }): Promise<void> {
1008
- return contract.simulate.addAllowableAsset([_asset] as const, options) as Promise<void>;
2800
+ return contract.simulate.initialize([initialVersion, owner_, data] as const, options) as Promise<void>;
1009
2801
  },
1010
2802
  /**
1011
- * Simulate removeAllowableAsset
2803
+ * Simulate migrate
1012
2804
  * Returns gas estimate and result without sending transaction
1013
2805
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1014
2806
  */
1015
- async removeAllowableAsset(_asset: `0x${string}`, options?: {
2807
+ async migrate(newVersion: bigint, data: `0x${string}`, options?: {
1016
2808
  accessList?: import('viem').AccessList;
1017
2809
  authorizationList?: import('viem').AuthorizationList;
1018
2810
  chain?: import('viem').Chain | null;
@@ -1024,7 +2816,45 @@ export class Vault_json {
1024
2816
  nonce?: number;
1025
2817
  value?: bigint;
1026
2818
  }): Promise<void> {
1027
- return contract.simulate.removeAllowableAsset([_asset] as const, options) as Promise<void>;
2819
+ return contract.simulate.migrate([newVersion, data] as const, options) as Promise<void>;
2820
+ },
2821
+ /**
2822
+ * Simulate onSlash
2823
+ * Returns gas estimate and result without sending transaction
2824
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2825
+ */
2826
+ async onSlash(amount: bigint, captureTimestamp: bigint, options?: {
2827
+ accessList?: import('viem').AccessList;
2828
+ authorizationList?: import('viem').AuthorizationList;
2829
+ chain?: import('viem').Chain | null;
2830
+ dataSuffix?: `0x${string}`;
2831
+ gas?: bigint;
2832
+ gasPrice?: bigint;
2833
+ maxFeePerGas?: bigint;
2834
+ maxPriorityFeePerGas?: bigint;
2835
+ nonce?: number;
2836
+ value?: bigint;
2837
+ }): Promise<bigint> {
2838
+ return contract.simulate.onSlash([amount, captureTimestamp] as const, options) as Promise<bigint>;
2839
+ },
2840
+ /**
2841
+ * Simulate redeem
2842
+ * Returns gas estimate and result without sending transaction
2843
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2844
+ */
2845
+ async redeem(claimer: `0x${string}`, shares: bigint, options?: {
2846
+ accessList?: import('viem').AccessList;
2847
+ authorizationList?: import('viem').AuthorizationList;
2848
+ chain?: import('viem').Chain | null;
2849
+ dataSuffix?: `0x${string}`;
2850
+ gas?: bigint;
2851
+ gasPrice?: bigint;
2852
+ maxFeePerGas?: bigint;
2853
+ maxPriorityFeePerGas?: bigint;
2854
+ nonce?: number;
2855
+ value?: bigint;
2856
+ }): Promise<[bigint, bigint]> {
2857
+ return contract.simulate.redeem([claimer, shares] as const, options) as Promise<[bigint, bigint]>;
1028
2858
  },
1029
2859
  /**
1030
2860
  * Simulate renounceOwnership
@@ -1046,11 +2876,11 @@ export class Vault_json {
1046
2876
  return contract.simulate.renounceOwnership(options) as Promise<void>;
1047
2877
  },
1048
2878
  /**
1049
- * Simulate rescueERC20
2879
+ * Simulate renounceRole
1050
2880
  * Returns gas estimate and result without sending transaction
1051
2881
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1052
2882
  */
1053
- async rescueERC20(tokenContract: `0x${string}`, to: `0x${string}`, amount: bigint, options?: {
2883
+ async renounceRole(role: `0x${string}`, callerConfirmation: `0x${string}`, options?: {
1054
2884
  accessList?: import('viem').AccessList;
1055
2885
  authorizationList?: import('viem').AuthorizationList;
1056
2886
  chain?: import('viem').Chain | null;
@@ -1062,14 +2892,14 @@ export class Vault_json {
1062
2892
  nonce?: number;
1063
2893
  value?: bigint;
1064
2894
  }): Promise<void> {
1065
- return contract.simulate.rescueERC20([tokenContract, to, amount] as const, options) as Promise<void>;
2895
+ return contract.simulate.renounceRole([role, callerConfirmation] as const, options) as Promise<void>;
1066
2896
  },
1067
2897
  /**
1068
- * Simulate rescueETH
2898
+ * Simulate revokeRole
1069
2899
  * Returns gas estimate and result without sending transaction
1070
2900
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1071
2901
  */
1072
- async rescueETH(to: `0x${string}`, options?: {
2902
+ async revokeRole(role: `0x${string}`, account: `0x${string}`, options?: {
1073
2903
  accessList?: import('viem').AccessList;
1074
2904
  authorizationList?: import('viem').AuthorizationList;
1075
2905
  chain?: import('viem').Chain | null;
@@ -1081,14 +2911,14 @@ export class Vault_json {
1081
2911
  nonce?: number;
1082
2912
  value?: bigint;
1083
2913
  }): Promise<void> {
1084
- return contract.simulate.rescueETH([to] as const, options) as Promise<void>;
2914
+ return contract.simulate.revokeRole([role, account] as const, options) as Promise<void>;
1085
2915
  },
1086
2916
  /**
1087
- * Simulate setRedemption
2917
+ * Simulate setDelegator
1088
2918
  * Returns gas estimate and result without sending transaction
1089
2919
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1090
2920
  */
1091
- async setRedemption(_newRedemption: `0x${string}`, options?: {
2921
+ async setDelegator(delegator_: `0x${string}`, options?: {
1092
2922
  accessList?: import('viem').AccessList;
1093
2923
  authorizationList?: import('viem').AuthorizationList;
1094
2924
  chain?: import('viem').Chain | null;
@@ -1100,14 +2930,14 @@ export class Vault_json {
1100
2930
  nonce?: number;
1101
2931
  value?: bigint;
1102
2932
  }): Promise<void> {
1103
- return contract.simulate.setRedemption([_newRedemption] as const, options) as Promise<void>;
2933
+ return contract.simulate.setDelegator([delegator_] as const, options) as Promise<void>;
1104
2934
  },
1105
2935
  /**
1106
- * Simulate setStrategyStorage
2936
+ * Simulate setDepositLimit
1107
2937
  * Returns gas estimate and result without sending transaction
1108
2938
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1109
2939
  */
1110
- async setStrategyStorage(_newStrategyStorage: `0x${string}`, options?: {
2940
+ async setDepositLimit(limit: bigint, options?: {
1111
2941
  accessList?: import('viem').AccessList;
1112
2942
  authorizationList?: import('viem').AuthorizationList;
1113
2943
  chain?: import('viem').Chain | null;
@@ -1119,14 +2949,14 @@ export class Vault_json {
1119
2949
  nonce?: number;
1120
2950
  value?: bigint;
1121
2951
  }): Promise<void> {
1122
- return contract.simulate.setStrategyStorage([_newStrategyStorage] as const, options) as Promise<void>;
2952
+ return contract.simulate.setDepositLimit([limit] as const, options) as Promise<void>;
1123
2953
  },
1124
2954
  /**
1125
- * Simulate transferOwnership
2955
+ * Simulate setDepositWhitelist
1126
2956
  * Returns gas estimate and result without sending transaction
1127
2957
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1128
2958
  */
1129
- async transferOwnership(newOwner: `0x${string}`, options?: {
2959
+ async setDepositWhitelist(status: boolean, options?: {
1130
2960
  accessList?: import('viem').AccessList;
1131
2961
  authorizationList?: import('viem').AuthorizationList;
1132
2962
  chain?: import('viem').Chain | null;
@@ -1138,14 +2968,14 @@ export class Vault_json {
1138
2968
  nonce?: number;
1139
2969
  value?: bigint;
1140
2970
  }): Promise<void> {
1141
- return contract.simulate.transferOwnership([newOwner] as const, options) as Promise<void>;
2971
+ return contract.simulate.setDepositWhitelist([status] as const, options) as Promise<void>;
1142
2972
  },
1143
2973
  /**
1144
- * Simulate updateRescuer
2974
+ * Simulate setDepositorWhitelistStatus
1145
2975
  * Returns gas estimate and result without sending transaction
1146
2976
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1147
2977
  */
1148
- async updateRescuer(newRescuer: `0x${string}`, options?: {
2978
+ async setDepositorWhitelistStatus(account: `0x${string}`, status: boolean, options?: {
1149
2979
  accessList?: import('viem').AccessList;
1150
2980
  authorizationList?: import('viem').AuthorizationList;
1151
2981
  chain?: import('viem').Chain | null;
@@ -1157,14 +2987,71 @@ export class Vault_json {
1157
2987
  nonce?: number;
1158
2988
  value?: bigint;
1159
2989
  }): Promise<void> {
1160
- return contract.simulate.updateRescuer([newRescuer] as const, options) as Promise<void>;
2990
+ return contract.simulate.setDepositorWhitelistStatus([account, status] as const, options) as Promise<void>;
1161
2991
  },
1162
2992
  /**
1163
- * Simulate withdraw
2993
+ * Simulate setIsDepositLimit
2994
+ * Returns gas estimate and result without sending transaction
2995
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2996
+ */
2997
+ async setIsDepositLimit(status: boolean, options?: {
2998
+ accessList?: import('viem').AccessList;
2999
+ authorizationList?: import('viem').AuthorizationList;
3000
+ chain?: import('viem').Chain | null;
3001
+ dataSuffix?: `0x${string}`;
3002
+ gas?: bigint;
3003
+ gasPrice?: bigint;
3004
+ maxFeePerGas?: bigint;
3005
+ maxPriorityFeePerGas?: bigint;
3006
+ nonce?: number;
3007
+ value?: bigint;
3008
+ }): Promise<void> {
3009
+ return contract.simulate.setIsDepositLimit([status] as const, options) as Promise<void>;
3010
+ },
3011
+ /**
3012
+ * Simulate setSlasher
3013
+ * Returns gas estimate and result without sending transaction
3014
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3015
+ */
3016
+ async setSlasher(slasher_: `0x${string}`, options?: {
3017
+ accessList?: import('viem').AccessList;
3018
+ authorizationList?: import('viem').AuthorizationList;
3019
+ chain?: import('viem').Chain | null;
3020
+ dataSuffix?: `0x${string}`;
3021
+ gas?: bigint;
3022
+ gasPrice?: bigint;
3023
+ maxFeePerGas?: bigint;
3024
+ maxPriorityFeePerGas?: bigint;
3025
+ nonce?: number;
3026
+ value?: bigint;
3027
+ }): Promise<void> {
3028
+ return contract.simulate.setSlasher([slasher_] as const, options) as Promise<void>;
3029
+ },
3030
+ /**
3031
+ * Simulate staticDelegateCall
3032
+ * Returns gas estimate and result without sending transaction
3033
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3034
+ */
3035
+ async staticDelegateCall(target: `0x${string}`, data: `0x${string}`, options?: {
3036
+ accessList?: import('viem').AccessList;
3037
+ authorizationList?: import('viem').AuthorizationList;
3038
+ chain?: import('viem').Chain | null;
3039
+ dataSuffix?: `0x${string}`;
3040
+ gas?: bigint;
3041
+ gasPrice?: bigint;
3042
+ maxFeePerGas?: bigint;
3043
+ maxPriorityFeePerGas?: bigint;
3044
+ nonce?: number;
3045
+ value?: bigint;
3046
+ }): Promise<void> {
3047
+ return contract.simulate.staticDelegateCall([target, data] as const, options) as Promise<void>;
3048
+ },
3049
+ /**
3050
+ * Simulate transferOwnership
1164
3051
  * Returns gas estimate and result without sending transaction
1165
3052
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1166
3053
  */
1167
- async withdraw(_asset: `0x${string}`, _amount: bigint, options?: {
3054
+ async transferOwnership(newOwner: `0x${string}`, options?: {
1168
3055
  accessList?: import('viem').AccessList;
1169
3056
  authorizationList?: import('viem').AuthorizationList;
1170
3057
  chain?: import('viem').Chain | null;
@@ -1176,7 +3063,26 @@ export class Vault_json {
1176
3063
  nonce?: number;
1177
3064
  value?: bigint;
1178
3065
  }): Promise<void> {
1179
- return contract.simulate.withdraw([_asset, _amount] as const, options) as Promise<void>;
3066
+ return contract.simulate.transferOwnership([newOwner] as const, options) as Promise<void>;
3067
+ },
3068
+ /**
3069
+ * Simulate withdraw
3070
+ * Returns gas estimate and result without sending transaction
3071
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3072
+ */
3073
+ async withdraw(claimer: `0x${string}`, amount: bigint, options?: {
3074
+ accessList?: import('viem').AccessList;
3075
+ authorizationList?: import('viem').AuthorizationList;
3076
+ chain?: import('viem').Chain | null;
3077
+ dataSuffix?: `0x${string}`;
3078
+ gas?: bigint;
3079
+ gasPrice?: bigint;
3080
+ maxFeePerGas?: bigint;
3081
+ maxPriorityFeePerGas?: bigint;
3082
+ nonce?: number;
3083
+ value?: bigint;
3084
+ }): Promise<[bigint, bigint]> {
3085
+ return contract.simulate.withdraw([claimer, amount] as const, options) as Promise<[bigint, bigint]>;
1180
3086
  }
1181
3087
  };
1182
3088
  }
@@ -1196,17 +3102,17 @@ export class Vault_json {
1196
3102
  get watch() {
1197
3103
  return {
1198
3104
  /**
1199
- * Watch AllowableAssetAdded events
3105
+ * Watch Claim events
1200
3106
  * @param callback Function to call when event is emitted
1201
3107
  * @param filter Optional filter for indexed parameters
1202
3108
  * @returns Unwatch function to stop listening
1203
3109
  */
1204
- AllowableAssetAdded: (callback: (event: { _asset: `0x${string}` }) => void) => {
3110
+ Claim: (callback: (event: { claimer: `0x${string}`; recipient: `0x${string}`; epoch: bigint; amount: bigint }) => void, filter?: { claimer: `0x${string}`; recipient: `0x${string}` }) => {
1205
3111
  return this.publicClient.watchContractEvent({
1206
3112
  address: this.contractAddress,
1207
3113
  abi: Vault_jsonAbi,
1208
- eventName: 'AllowableAssetAdded',
1209
-
3114
+ eventName: 'Claim',
3115
+ args: filter,
1210
3116
  onLogs: (logs: any[]) => {
1211
3117
  logs.forEach((log: any) => {
1212
3118
  callback(log.args as any);
@@ -1215,17 +3121,17 @@ export class Vault_json {
1215
3121
  }) as () => void;
1216
3122
  },
1217
3123
  /**
1218
- * Watch AllowableAssetRemoved events
3124
+ * Watch ClaimBatch events
1219
3125
  * @param callback Function to call when event is emitted
1220
3126
  * @param filter Optional filter for indexed parameters
1221
3127
  * @returns Unwatch function to stop listening
1222
3128
  */
1223
- AllowableAssetRemoved: (callback: (event: { _asset: `0x${string}` }) => void) => {
3129
+ ClaimBatch: (callback: (event: { claimer: `0x${string}`; recipient: `0x${string}`; epochs: bigint[]; amount: bigint }) => void, filter?: { claimer: `0x${string}`; recipient: `0x${string}` }) => {
1224
3130
  return this.publicClient.watchContractEvent({
1225
3131
  address: this.contractAddress,
1226
3132
  abi: Vault_jsonAbi,
1227
- eventName: 'AllowableAssetRemoved',
1228
-
3133
+ eventName: 'ClaimBatch',
3134
+ args: filter,
1229
3135
  onLogs: (logs: any[]) => {
1230
3136
  logs.forEach((log: any) => {
1231
3137
  callback(log.args as any);
@@ -1234,16 +3140,16 @@ export class Vault_json {
1234
3140
  }) as () => void;
1235
3141
  },
1236
3142
  /**
1237
- * Watch OwnershipTransferStarted events
3143
+ * Watch Deposit events
1238
3144
  * @param callback Function to call when event is emitted
1239
3145
  * @param filter Optional filter for indexed parameters
1240
3146
  * @returns Unwatch function to stop listening
1241
3147
  */
1242
- OwnershipTransferStarted: (callback: (event: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => void, filter?: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => {
3148
+ Deposit: (callback: (event: { depositor: `0x${string}`; onBehalfOf: `0x${string}`; amount: bigint; shares: bigint }) => void, filter?: { depositor: `0x${string}`; onBehalfOf: `0x${string}` }) => {
1243
3149
  return this.publicClient.watchContractEvent({
1244
3150
  address: this.contractAddress,
1245
3151
  abi: Vault_jsonAbi,
1246
- eventName: 'OwnershipTransferStarted',
3152
+ eventName: 'Deposit',
1247
3153
  args: filter,
1248
3154
  onLogs: (logs: any[]) => {
1249
3155
  logs.forEach((log: any) => {
@@ -1252,6 +3158,44 @@ export class Vault_json {
1252
3158
  },
1253
3159
  }) as () => void;
1254
3160
  },
3161
+ /**
3162
+ * Watch Initialized events
3163
+ * @param callback Function to call when event is emitted
3164
+ * @param filter Optional filter for indexed parameters
3165
+ * @returns Unwatch function to stop listening
3166
+ */
3167
+ Initialized: (callback: (event: { version: bigint }) => void) => {
3168
+ return this.publicClient.watchContractEvent({
3169
+ address: this.contractAddress,
3170
+ abi: Vault_jsonAbi,
3171
+ eventName: 'Initialized',
3172
+
3173
+ onLogs: (logs: any[]) => {
3174
+ logs.forEach((log: any) => {
3175
+ callback(log.args as any);
3176
+ });
3177
+ },
3178
+ }) as () => void;
3179
+ },
3180
+ /**
3181
+ * Watch OnSlash events
3182
+ * @param callback Function to call when event is emitted
3183
+ * @param filter Optional filter for indexed parameters
3184
+ * @returns Unwatch function to stop listening
3185
+ */
3186
+ OnSlash: (callback: (event: { amount: bigint; captureTimestamp: bigint; slashedAmount: bigint }) => void) => {
3187
+ return this.publicClient.watchContractEvent({
3188
+ address: this.contractAddress,
3189
+ abi: Vault_jsonAbi,
3190
+ eventName: 'OnSlash',
3191
+
3192
+ onLogs: (logs: any[]) => {
3193
+ logs.forEach((log: any) => {
3194
+ callback(log.args as any);
3195
+ });
3196
+ },
3197
+ }) as () => void;
3198
+ },
1255
3199
  /**
1256
3200
  * Watch OwnershipTransferred events
1257
3201
  * @param callback Function to call when event is emitted
@@ -1272,16 +3216,73 @@ export class Vault_json {
1272
3216
  }) as () => void;
1273
3217
  },
1274
3218
  /**
1275
- * Watch RedemptionUpdated events
3219
+ * Watch RoleAdminChanged events
3220
+ * @param callback Function to call when event is emitted
3221
+ * @param filter Optional filter for indexed parameters
3222
+ * @returns Unwatch function to stop listening
3223
+ */
3224
+ RoleAdminChanged: (callback: (event: { role: `0x${string}`; previousAdminRole: `0x${string}`; newAdminRole: `0x${string}` }) => void, filter?: { role: `0x${string}`; previousAdminRole: `0x${string}`; newAdminRole: `0x${string}` }) => {
3225
+ return this.publicClient.watchContractEvent({
3226
+ address: this.contractAddress,
3227
+ abi: Vault_jsonAbi,
3228
+ eventName: 'RoleAdminChanged',
3229
+ args: filter,
3230
+ onLogs: (logs: any[]) => {
3231
+ logs.forEach((log: any) => {
3232
+ callback(log.args as any);
3233
+ });
3234
+ },
3235
+ }) as () => void;
3236
+ },
3237
+ /**
3238
+ * Watch RoleGranted events
3239
+ * @param callback Function to call when event is emitted
3240
+ * @param filter Optional filter for indexed parameters
3241
+ * @returns Unwatch function to stop listening
3242
+ */
3243
+ RoleGranted: (callback: (event: { role: `0x${string}`; account: `0x${string}`; sender: `0x${string}` }) => void, filter?: { role: `0x${string}`; account: `0x${string}`; sender: `0x${string}` }) => {
3244
+ return this.publicClient.watchContractEvent({
3245
+ address: this.contractAddress,
3246
+ abi: Vault_jsonAbi,
3247
+ eventName: 'RoleGranted',
3248
+ args: filter,
3249
+ onLogs: (logs: any[]) => {
3250
+ logs.forEach((log: any) => {
3251
+ callback(log.args as any);
3252
+ });
3253
+ },
3254
+ }) as () => void;
3255
+ },
3256
+ /**
3257
+ * Watch RoleRevoked events
3258
+ * @param callback Function to call when event is emitted
3259
+ * @param filter Optional filter for indexed parameters
3260
+ * @returns Unwatch function to stop listening
3261
+ */
3262
+ RoleRevoked: (callback: (event: { role: `0x${string}`; account: `0x${string}`; sender: `0x${string}` }) => void, filter?: { role: `0x${string}`; account: `0x${string}`; sender: `0x${string}` }) => {
3263
+ return this.publicClient.watchContractEvent({
3264
+ address: this.contractAddress,
3265
+ abi: Vault_jsonAbi,
3266
+ eventName: 'RoleRevoked',
3267
+ args: filter,
3268
+ onLogs: (logs: any[]) => {
3269
+ logs.forEach((log: any) => {
3270
+ callback(log.args as any);
3271
+ });
3272
+ },
3273
+ }) as () => void;
3274
+ },
3275
+ /**
3276
+ * Watch SetDelegator events
1276
3277
  * @param callback Function to call when event is emitted
1277
3278
  * @param filter Optional filter for indexed parameters
1278
3279
  * @returns Unwatch function to stop listening
1279
3280
  */
1280
- RedemptionUpdated: (callback: (event: { _new: `0x${string}`; _old: `0x${string}` }) => void, filter?: { _new: `0x${string}` }) => {
3281
+ SetDelegator: (callback: (event: { delegator: `0x${string}` }) => void, filter?: { delegator: `0x${string}` }) => {
1281
3282
  return this.publicClient.watchContractEvent({
1282
3283
  address: this.contractAddress,
1283
3284
  abi: Vault_jsonAbi,
1284
- eventName: 'RedemptionUpdated',
3285
+ eventName: 'SetDelegator',
1285
3286
  args: filter,
1286
3287
  onLogs: (logs: any[]) => {
1287
3288
  logs.forEach((log: any) => {
@@ -1291,16 +3292,92 @@ export class Vault_json {
1291
3292
  }) as () => void;
1292
3293
  },
1293
3294
  /**
1294
- * Watch RescuerChanged events
3295
+ * Watch SetDepositLimit events
3296
+ * @param callback Function to call when event is emitted
3297
+ * @param filter Optional filter for indexed parameters
3298
+ * @returns Unwatch function to stop listening
3299
+ */
3300
+ SetDepositLimit: (callback: (event: { limit: bigint }) => void) => {
3301
+ return this.publicClient.watchContractEvent({
3302
+ address: this.contractAddress,
3303
+ abi: Vault_jsonAbi,
3304
+ eventName: 'SetDepositLimit',
3305
+
3306
+ onLogs: (logs: any[]) => {
3307
+ logs.forEach((log: any) => {
3308
+ callback(log.args as any);
3309
+ });
3310
+ },
3311
+ }) as () => void;
3312
+ },
3313
+ /**
3314
+ * Watch SetDepositWhitelist events
3315
+ * @param callback Function to call when event is emitted
3316
+ * @param filter Optional filter for indexed parameters
3317
+ * @returns Unwatch function to stop listening
3318
+ */
3319
+ SetDepositWhitelist: (callback: (event: { status: boolean }) => void) => {
3320
+ return this.publicClient.watchContractEvent({
3321
+ address: this.contractAddress,
3322
+ abi: Vault_jsonAbi,
3323
+ eventName: 'SetDepositWhitelist',
3324
+
3325
+ onLogs: (logs: any[]) => {
3326
+ logs.forEach((log: any) => {
3327
+ callback(log.args as any);
3328
+ });
3329
+ },
3330
+ }) as () => void;
3331
+ },
3332
+ /**
3333
+ * Watch SetDepositorWhitelistStatus events
3334
+ * @param callback Function to call when event is emitted
3335
+ * @param filter Optional filter for indexed parameters
3336
+ * @returns Unwatch function to stop listening
3337
+ */
3338
+ SetDepositorWhitelistStatus: (callback: (event: { account: `0x${string}`; status: boolean }) => void, filter?: { account: `0x${string}` }) => {
3339
+ return this.publicClient.watchContractEvent({
3340
+ address: this.contractAddress,
3341
+ abi: Vault_jsonAbi,
3342
+ eventName: 'SetDepositorWhitelistStatus',
3343
+ args: filter,
3344
+ onLogs: (logs: any[]) => {
3345
+ logs.forEach((log: any) => {
3346
+ callback(log.args as any);
3347
+ });
3348
+ },
3349
+ }) as () => void;
3350
+ },
3351
+ /**
3352
+ * Watch SetIsDepositLimit events
3353
+ * @param callback Function to call when event is emitted
3354
+ * @param filter Optional filter for indexed parameters
3355
+ * @returns Unwatch function to stop listening
3356
+ */
3357
+ SetIsDepositLimit: (callback: (event: { status: boolean }) => void) => {
3358
+ return this.publicClient.watchContractEvent({
3359
+ address: this.contractAddress,
3360
+ abi: Vault_jsonAbi,
3361
+ eventName: 'SetIsDepositLimit',
3362
+
3363
+ onLogs: (logs: any[]) => {
3364
+ logs.forEach((log: any) => {
3365
+ callback(log.args as any);
3366
+ });
3367
+ },
3368
+ }) as () => void;
3369
+ },
3370
+ /**
3371
+ * Watch SetSlasher events
1295
3372
  * @param callback Function to call when event is emitted
1296
3373
  * @param filter Optional filter for indexed parameters
1297
3374
  * @returns Unwatch function to stop listening
1298
3375
  */
1299
- RescuerChanged: (callback: (event: { newRescuer: `0x${string}` }) => void, filter?: { newRescuer: `0x${string}` }) => {
3376
+ SetSlasher: (callback: (event: { slasher: `0x${string}` }) => void, filter?: { slasher: `0x${string}` }) => {
1300
3377
  return this.publicClient.watchContractEvent({
1301
3378
  address: this.contractAddress,
1302
3379
  abi: Vault_jsonAbi,
1303
- eventName: 'RescuerChanged',
3380
+ eventName: 'SetSlasher',
1304
3381
  args: filter,
1305
3382
  onLogs: (logs: any[]) => {
1306
3383
  logs.forEach((log: any) => {
@@ -1310,16 +3387,16 @@ export class Vault_json {
1310
3387
  }) as () => void;
1311
3388
  },
1312
3389
  /**
1313
- * Watch StrategyStorageUpdated events
3390
+ * Watch Withdraw events
1314
3391
  * @param callback Function to call when event is emitted
1315
3392
  * @param filter Optional filter for indexed parameters
1316
3393
  * @returns Unwatch function to stop listening
1317
3394
  */
1318
- StrategyStorageUpdated: (callback: (event: { _new: `0x${string}`; _old: `0x${string}` }) => void, filter?: { _new: `0x${string}` }) => {
3395
+ Withdraw: (callback: (event: { withdrawer: `0x${string}`; claimer: `0x${string}`; amount: bigint; burnedShares: bigint; mintedShares: bigint }) => void, filter?: { withdrawer: `0x${string}`; claimer: `0x${string}` }) => {
1319
3396
  return this.publicClient.watchContractEvent({
1320
3397
  address: this.contractAddress,
1321
3398
  abi: Vault_jsonAbi,
1322
- eventName: 'StrategyStorageUpdated',
3399
+ eventName: 'Withdraw',
1323
3400
  args: filter,
1324
3401
  onLogs: (logs: any[]) => {
1325
3402
  logs.forEach((log: any) => {