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