@gitmyabi/vault 1.0.3 → 1.0.5

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.
@@ -10,3048 +10,308 @@ export const Vault_jsonAbi = [
10
10
  {
11
11
  "inputs": [
12
12
  {
13
- "internalType": "address",
14
- "name": "delegatorFactory",
15
- "type": "address"
16
- },
17
- {
18
- "internalType": "address",
19
- "name": "slasherFactory",
20
- "type": "address"
21
- },
22
- {
23
- "internalType": "address",
24
- "name": "vaultFactory",
25
- "type": "address"
13
+ "internalType": "bytes32",
14
+ "name": "seal_",
15
+ "type": "bytes32"
26
16
  }
27
17
  ],
28
18
  "stateMutability": "nonpayable",
29
19
  "type": "constructor"
30
20
  },
31
21
  {
32
- "inputs": [],
33
- "name": "AccessControlBadConfirmation",
34
- "type": "error"
35
- },
36
- {
22
+ "anonymous": false,
37
23
  "inputs": [
38
24
  {
25
+ "indexed": true,
39
26
  "internalType": "address",
40
- "name": "account",
27
+ "name": "to",
41
28
  "type": "address"
42
29
  },
43
30
  {
44
- "internalType": "bytes32",
45
- "name": "neededRole",
46
- "type": "bytes32"
31
+ "indexed": false,
32
+ "internalType": "uint256",
33
+ "name": "amount",
34
+ "type": "uint256"
47
35
  }
48
36
  ],
49
- "name": "AccessControlUnauthorizedAccount",
50
- "type": "error"
37
+ "name": "Found",
38
+ "type": "event"
51
39
  },
52
40
  {
41
+ "anonymous": false,
53
42
  "inputs": [
54
43
  {
44
+ "indexed": true,
55
45
  "internalType": "address",
56
- "name": "target",
46
+ "name": "from",
57
47
  "type": "address"
58
- }
59
- ],
60
- "name": "AddressEmptyCode",
61
- "type": "error"
62
- },
63
- {
64
- "inputs": [
48
+ },
65
49
  {
66
- "internalType": "address",
67
- "name": "account",
68
- "type": "address"
50
+ "indexed": false,
51
+ "internalType": "uint256",
52
+ "name": "amount",
53
+ "type": "uint256"
69
54
  }
70
55
  ],
71
- "name": "AddressInsufficientBalance",
72
- "type": "error"
73
- },
74
- {
75
- "inputs": [],
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",
102
- "type": "error"
103
- },
104
- {
105
- "inputs": [],
106
- "name": "FailedInnerCall",
107
- "type": "error"
108
- },
109
- {
110
- "inputs": [],
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",
227
- "type": "error"
228
- },
229
- {
230
- "inputs": [],
231
- "name": "NotSlasher",
232
- "type": "error"
56
+ "name": "Funded",
57
+ "type": "event"
233
58
  },
234
59
  {
235
60
  "inputs": [],
236
- "name": "NotWhitelistedDepositor",
237
- "type": "error"
238
- },
239
- {
240
- "inputs": [
241
- {
242
- "internalType": "address",
243
- "name": "owner",
244
- "type": "address"
245
- }
246
- ],
247
- "name": "OwnableInvalidOwner",
248
- "type": "error"
249
- },
250
- {
251
- "inputs": [
61
+ "name": "SEAL",
62
+ "outputs": [
252
63
  {
253
- "internalType": "address",
254
- "name": "account",
255
- "type": "address"
64
+ "internalType": "bytes32",
65
+ "name": "",
66
+ "type": "bytes32"
256
67
  }
257
68
  ],
258
- "name": "OwnableUnauthorizedAccount",
259
- "type": "error"
69
+ "stateMutability": "view",
70
+ "type": "function"
260
71
  },
261
72
  {
262
73
  "inputs": [],
263
- "name": "ReentrancyGuardReentrantCall",
264
- "type": "error"
265
- },
266
- {
267
- "inputs": [
268
- {
269
- "internalType": "uint8",
270
- "name": "bits",
271
- "type": "uint8"
272
- },
74
+ "name": "balance",
75
+ "outputs": [
273
76
  {
274
77
  "internalType": "uint256",
275
- "name": "value",
78
+ "name": "",
276
79
  "type": "uint256"
277
80
  }
278
81
  ],
279
- "name": "SafeCastOverflowedUintDowncast",
280
- "type": "error"
82
+ "stateMutability": "view",
83
+ "type": "function"
281
84
  },
282
85
  {
283
- "inputs": [
86
+ "inputs": [],
87
+ "name": "found",
88
+ "outputs": [
284
89
  {
285
- "internalType": "address",
286
- "name": "token",
287
- "type": "address"
90
+ "internalType": "bool",
91
+ "name": "",
92
+ "type": "bool"
288
93
  }
289
94
  ],
290
- "name": "SafeERC20FailedOperation",
291
- "type": "error"
292
- },
293
- {
294
- "inputs": [],
295
- "name": "SlasherAlreadyInitialized",
296
- "type": "error"
297
- },
298
- {
299
- "inputs": [],
300
- "name": "TooMuchRedeem",
301
- "type": "error"
95
+ "stateMutability": "view",
96
+ "type": "function"
302
97
  },
303
98
  {
304
99
  "inputs": [],
305
- "name": "TooMuchWithdraw",
306
- "type": "error"
307
- },
308
- {
309
- "anonymous": false,
310
- "inputs": [
311
- {
312
- "indexed": true,
313
- "internalType": "address",
314
- "name": "claimer",
315
- "type": "address"
316
- },
317
- {
318
- "indexed": true,
319
- "internalType": "address",
320
- "name": "recipient",
321
- "type": "address"
322
- },
323
- {
324
- "indexed": false,
325
- "internalType": "uint256",
326
- "name": "epoch",
327
- "type": "uint256"
328
- },
100
+ "name": "rules",
101
+ "outputs": [
329
102
  {
330
- "indexed": false,
331
- "internalType": "uint256",
332
- "name": "amount",
333
- "type": "uint256"
103
+ "internalType": "string",
104
+ "name": "",
105
+ "type": "string"
334
106
  }
335
107
  ],
336
- "name": "Claim",
337
- "type": "event"
108
+ "stateMutability": "pure",
109
+ "type": "function"
338
110
  },
339
111
  {
340
- "anonymous": false,
341
- "inputs": [
342
- {
343
- "indexed": true,
344
- "internalType": "address",
345
- "name": "claimer",
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
- },
112
+ "inputs": [],
113
+ "name": "state",
114
+ "outputs": [
360
115
  {
361
- "indexed": false,
362
- "internalType": "uint256",
363
- "name": "amount",
364
- "type": "uint256"
116
+ "internalType": "string",
117
+ "name": "",
118
+ "type": "string"
365
119
  }
366
120
  ],
367
- "name": "ClaimBatch",
368
- "type": "event"
121
+ "stateMutability": "view",
122
+ "type": "function"
369
123
  },
370
124
  {
371
- "anonymous": false,
372
125
  "inputs": [
373
126
  {
374
- "indexed": true,
375
- "internalType": "address",
376
- "name": "depositor",
377
- "type": "address"
127
+ "internalType": "bytes",
128
+ "name": "secret",
129
+ "type": "bytes"
378
130
  },
379
131
  {
380
- "indexed": true,
381
- "internalType": "address",
382
- "name": "onBehalfOf",
132
+ "internalType": "address payable",
133
+ "name": "to",
383
134
  "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
135
  }
397
136
  ],
398
- "name": "Deposit",
399
- "type": "event"
137
+ "name": "unlock",
138
+ "outputs": [],
139
+ "stateMutability": "nonpayable",
140
+ "type": "function"
400
141
  },
401
142
  {
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"
434
- }
435
- ],
436
- "name": "OnSlash",
437
- "type": "event"
438
- },
439
- {
440
- "anonymous": false,
441
- "inputs": [
442
- {
443
- "indexed": true,
444
- "internalType": "address",
445
- "name": "previousOwner",
446
- "type": "address"
447
- },
448
- {
449
- "indexed": true,
450
- "internalType": "address",
451
- "name": "newOwner",
452
- "type": "address"
453
- }
454
- ],
455
- "name": "OwnershipTransferred",
456
- "type": "event"
457
- },
458
- {
459
- "anonymous": false,
460
- "inputs": [
461
- {
462
- "indexed": true,
463
- "internalType": "bytes32",
464
- "name": "role",
465
- "type": "bytes32"
466
- },
467
- {
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"
478
- }
479
- ],
480
- "name": "RoleAdminChanged",
481
- "type": "event"
482
- },
483
- {
484
- "anonymous": false,
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
- },
498
- {
499
- "indexed": true,
500
- "internalType": "address",
501
- "name": "sender",
502
- "type": "address"
503
- }
504
- ],
505
- "name": "RoleGranted",
506
- "type": "event"
507
- },
508
- {
509
- "anonymous": false,
510
- "inputs": [
511
- {
512
- "indexed": true,
513
- "internalType": "bytes32",
514
- "name": "role",
515
- "type": "bytes32"
516
- },
517
- {
518
- "indexed": true,
519
- "internalType": "address",
520
- "name": "account",
521
- "type": "address"
522
- },
523
- {
524
- "indexed": true,
525
- "internalType": "address",
526
- "name": "sender",
527
- "type": "address"
528
- }
529
- ],
530
- "name": "RoleRevoked",
531
- "type": "event"
532
- },
533
- {
534
- "anonymous": false,
535
- "inputs": [
536
- {
537
- "indexed": true,
538
- "internalType": "address",
539
- "name": "delegator",
540
- "type": "address"
541
- }
542
- ],
543
- "name": "SetDelegator",
544
- "type": "event"
545
- },
546
- {
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"
603
- },
604
- {
605
- "anonymous": false,
606
- "inputs": [
607
- {
608
- "indexed": true,
609
- "internalType": "address",
610
- "name": "slasher",
611
- "type": "address"
612
- }
613
- ],
614
- "name": "SetSlasher",
615
- "type": "event"
616
- },
617
- {
618
- "anonymous": false,
619
- "inputs": [
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,
634
- "internalType": "uint256",
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",
648
- "type": "uint256"
649
- }
650
- ],
651
- "name": "Withdraw",
652
- "type": "event"
653
- },
654
- {
655
- "inputs": [],
656
- "name": "DEFAULT_ADMIN_ROLE",
657
- "outputs": [
658
- {
659
- "internalType": "bytes32",
660
- "name": "",
661
- "type": "bytes32"
662
- }
663
- ],
664
- "stateMutability": "view",
665
- "type": "function"
666
- },
667
- {
668
- "inputs": [],
669
- "name": "DELEGATOR_FACTORY",
670
- "outputs": [
671
- {
672
- "internalType": "address",
673
- "name": "",
674
- "type": "address"
675
- }
676
- ],
677
- "stateMutability": "view",
678
- "type": "function"
679
- },
680
- {
681
- "inputs": [],
682
- "name": "DEPOSITOR_WHITELIST_ROLE",
683
- "outputs": [
684
- {
685
- "internalType": "bytes32",
686
- "name": "",
687
- "type": "bytes32"
688
- }
689
- ],
690
- "stateMutability": "view",
691
- "type": "function"
692
- },
693
- {
694
- "inputs": [],
695
- "name": "DEPOSIT_LIMIT_SET_ROLE",
696
- "outputs": [
697
- {
698
- "internalType": "bytes32",
699
- "name": "",
700
- "type": "bytes32"
701
- }
702
- ],
703
- "stateMutability": "view",
704
- "type": "function"
705
- },
706
- {
707
- "inputs": [],
708
- "name": "DEPOSIT_WHITELIST_SET_ROLE",
709
- "outputs": [
710
- {
711
- "internalType": "bytes32",
712
- "name": "",
713
- "type": "bytes32"
714
- }
715
- ],
716
- "stateMutability": "view",
717
- "type": "function"
718
- },
719
- {
720
- "inputs": [],
721
- "name": "FACTORY",
722
- "outputs": [
723
- {
724
- "internalType": "address",
725
- "name": "",
726
- "type": "address"
727
- }
728
- ],
729
- "stateMutability": "view",
730
- "type": "function"
731
- },
732
- {
733
- "inputs": [],
734
- "name": "IS_DEPOSIT_LIMIT_SET_ROLE",
735
- "outputs": [
736
- {
737
- "internalType": "bytes32",
738
- "name": "",
739
- "type": "bytes32"
740
- }
741
- ],
742
- "stateMutability": "view",
743
- "type": "function"
744
- },
745
- {
746
- "inputs": [],
747
- "name": "SLASHER_FACTORY",
748
- "outputs": [
749
- {
750
- "internalType": "address",
751
- "name": "",
752
- "type": "address"
753
- }
754
- ],
755
- "stateMutability": "view",
756
- "type": "function"
757
- },
758
- {
759
- "inputs": [
760
- {
761
- "internalType": "address",
762
- "name": "account",
763
- "type": "address"
764
- }
765
- ],
766
- "name": "activeBalanceOf",
767
- "outputs": [
768
- {
769
- "internalType": "uint256",
770
- "name": "",
771
- "type": "uint256"
772
- }
773
- ],
774
- "stateMutability": "view",
775
- "type": "function"
776
- },
777
- {
778
- "inputs": [
779
- {
780
- "internalType": "address",
781
- "name": "account",
782
- "type": "address"
783
- },
784
- {
785
- "internalType": "uint48",
786
- "name": "timestamp",
787
- "type": "uint48"
788
- },
789
- {
790
- "internalType": "bytes",
791
- "name": "hints",
792
- "type": "bytes"
793
- }
794
- ],
795
- "name": "activeBalanceOfAt",
796
- "outputs": [
797
- {
798
- "internalType": "uint256",
799
- "name": "",
800
- "type": "uint256"
801
- }
802
- ],
803
- "stateMutability": "view",
804
- "type": "function"
805
- },
806
- {
807
- "inputs": [],
808
- "name": "activeShares",
809
- "outputs": [
810
- {
811
- "internalType": "uint256",
812
- "name": "",
813
- "type": "uint256"
814
- }
815
- ],
816
- "stateMutability": "view",
817
- "type": "function"
818
- },
819
- {
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",
833
- "outputs": [
834
- {
835
- "internalType": "uint256",
836
- "name": "",
837
- "type": "uint256"
838
- }
839
- ],
840
- "stateMutability": "view",
841
- "type": "function"
842
- },
843
- {
844
- "inputs": [
845
- {
846
- "internalType": "address",
847
- "name": "account",
848
- "type": "address"
849
- }
850
- ],
851
- "name": "activeSharesOf",
852
- "outputs": [
853
- {
854
- "internalType": "uint256",
855
- "name": "",
856
- "type": "uint256"
857
- }
858
- ],
859
- "stateMutability": "view",
860
- "type": "function"
861
- },
862
- {
863
- "inputs": [
864
- {
865
- "internalType": "address",
866
- "name": "account",
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"
878
- }
879
- ],
880
- "name": "activeSharesOfAt",
881
- "outputs": [
882
- {
883
- "internalType": "uint256",
884
- "name": "",
885
- "type": "uint256"
886
- }
887
- ],
888
- "stateMutability": "view",
889
- "type": "function"
890
- },
891
- {
892
- "inputs": [],
893
- "name": "activeStake",
894
- "outputs": [
895
- {
896
- "internalType": "uint256",
897
- "name": "",
898
- "type": "uint256"
899
- }
900
- ],
901
- "stateMutability": "view",
902
- "type": "function"
903
- },
904
- {
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": [
932
- {
933
- "internalType": "address",
934
- "name": "",
935
- "type": "address"
936
- }
937
- ],
938
- "stateMutability": "view",
939
- "type": "function"
940
- },
941
- {
942
- "inputs": [
943
- {
944
- "internalType": "address",
945
- "name": "recipient",
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"
960
- }
961
- ],
962
- "stateMutability": "nonpayable",
963
- "type": "function"
964
- },
965
- {
966
- "inputs": [
967
- {
968
- "internalType": "address",
969
- "name": "recipient",
970
- "type": "address"
971
- },
972
- {
973
- "internalType": "uint256[]",
974
- "name": "epochs",
975
- "type": "uint256[]"
976
- }
977
- ],
978
- "name": "claimBatch",
979
- "outputs": [
980
- {
981
- "internalType": "uint256",
982
- "name": "amount",
983
- "type": "uint256"
984
- }
985
- ],
986
- "stateMutability": "nonpayable",
987
- "type": "function"
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
1800
- * import { createPublicClient, createWalletClient, http } from 'viem';
1801
- * import { mainnet } from 'viem/chains';
1802
- * import { Vault_json } from 'Vault_json';
1803
- *
1804
- * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1805
- * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1806
- *
1807
- * const contract = new Vault_json('0x...', { publicClient, walletClient });
1808
- *
1809
- * // Read functions
1810
- * const result = await contract.balanceOf('0x...');
1811
- *
1812
- * // Write functions
1813
- * const hash = await contract.transfer('0x...', 1000n);
1814
- *
1815
- * // Simulate transactions (dry-run)
1816
- * const simulation = await contract.simulate.transfer('0x...', 1000n);
1817
- * console.log('Gas estimate:', simulation.request.gas);
1818
- *
1819
- * // Watch events
1820
- * const unwatch = contract.watch.Transfer((event) => {
1821
- * console.log('Transfer event:', event);
1822
- * });
1823
- * ```
1824
- */
1825
- export class Vault_json {
1826
- private contract: Vault_jsonContract;
1827
- private contractAddress: Address;
1828
- private publicClient: PublicClient;
1829
-
1830
- constructor(
1831
- address: Address,
1832
- clients: {
1833
- publicClient: PublicClient;
1834
- walletClient?: WalletClient;
1835
- }
1836
- ) {
1837
- this.contractAddress = address;
1838
- this.publicClient = clients.publicClient;
1839
- this.contract = getContract({
1840
- address,
1841
- abi: Vault_jsonAbi,
1842
- client: {
1843
- public: clients.publicClient,
1844
- wallet: clients.walletClient,
1845
- },
1846
- });
1847
- }
1848
-
1849
- /**
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
2106
- */
2107
- async isDepositorWhitelisted(account: `0x${string}`): Promise<boolean> {
2108
- return this.contract.read.isDepositorWhitelisted([account] as const) as Promise<boolean>;
2109
- }
2110
-
2111
- /**
2112
- * isInitialized
2113
- * view
2114
- */
2115
- async isInitialized(): Promise<boolean> {
2116
- return this.contract.read.isInitialized() as Promise<boolean>;
2117
- }
2118
-
2119
- /**
2120
- * isSlasherInitialized
2121
- * view
2122
- */
2123
- async isSlasherInitialized(): Promise<boolean> {
2124
- return this.contract.read.isSlasherInitialized() as Promise<boolean>;
2125
- }
2126
-
2127
- /**
2128
- * isWithdrawalsClaimed
2129
- * view
2130
- */
2131
- async isWithdrawalsClaimed(epoch: bigint, account: `0x${string}`): Promise<boolean> {
2132
- return this.contract.read.isWithdrawalsClaimed([epoch, account] as const) as Promise<boolean>;
2133
- }
2134
-
2135
- /**
2136
- * nextEpochStart
2137
- * view
2138
- */
2139
- async nextEpochStart(): Promise<bigint> {
2140
- return this.contract.read.nextEpochStart() as Promise<bigint>;
2141
- }
2142
-
2143
- /**
2144
- * owner
2145
- * view
2146
- */
2147
- async owner(): Promise<`0x${string}`> {
2148
- return this.contract.read.owner() as Promise<`0x${string}`>;
2149
- }
2150
-
2151
- /**
2152
- * previousEpochStart
2153
- * view
2154
- */
2155
- async previousEpochStart(): Promise<bigint> {
2156
- return this.contract.read.previousEpochStart() as Promise<bigint>;
2157
- }
2158
-
2159
- /**
2160
- * slashableBalanceOf
2161
- * view
2162
- */
2163
- async slashableBalanceOf(account: `0x${string}`): Promise<bigint> {
2164
- return this.contract.read.slashableBalanceOf([account] as const) as Promise<bigint>;
2165
- }
2166
-
2167
- /**
2168
- * slasher
2169
- * view
2170
- */
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>;
2197
- }
2198
-
2199
- /**
2200
- * withdrawalShares
2201
- * view
2202
- */
2203
- async withdrawalShares(epoch: bigint): Promise<bigint> {
2204
- return this.contract.read.withdrawalShares([epoch] as const) as Promise<bigint>;
2205
- }
2206
-
2207
- /**
2208
- * withdrawalSharesOf
2209
- * view
2210
- */
2211
- async withdrawalSharesOf(epoch: bigint, account: `0x${string}`): Promise<bigint> {
2212
- return this.contract.read.withdrawalSharesOf([epoch, account] as const) as Promise<bigint>;
2213
- }
2214
-
2215
- /**
2216
- * withdrawals
2217
- * view
2218
- */
2219
- async withdrawals(epoch: bigint): Promise<bigint> {
2220
- return this.contract.read.withdrawals([epoch] as const) as Promise<bigint>;
2221
- }
2222
-
2223
- /**
2224
- * withdrawalsOf
2225
- * view
2226
- */
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}`>;
2344
- }
2345
-
2346
- /**
2347
- * migrate
2348
- * nonpayable
2349
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2350
- */
2351
- async migrate(newVersion: bigint, data: `0x${string}`, options?: {
2352
- accessList?: import('viem').AccessList;
2353
- authorizationList?: import('viem').AuthorizationList;
2354
- chain?: import('viem').Chain | null;
2355
- dataSuffix?: `0x${string}`;
2356
- gas?: bigint;
2357
- gasPrice?: bigint;
2358
- maxFeePerGas?: bigint;
2359
- maxPriorityFeePerGas?: bigint;
2360
- nonce?: number;
2361
- value?: bigint;
2362
- }): Promise<`0x${string}`> {
2363
- if (!this.contract.write) {
2364
- throw new Error('Wallet client is required for write operations');
2365
- }
2366
- return this.contract.write.migrate([newVersion, data] as const, options) as Promise<`0x${string}`>;
2367
- }
2368
-
2369
- /**
2370
- * onSlash
2371
- * nonpayable
2372
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2373
- */
2374
- async onSlash(amount: bigint, captureTimestamp: bigint, options?: {
2375
- accessList?: import('viem').AccessList;
2376
- authorizationList?: import('viem').AuthorizationList;
2377
- chain?: import('viem').Chain | null;
2378
- dataSuffix?: `0x${string}`;
2379
- gas?: bigint;
2380
- gasPrice?: bigint;
2381
- maxFeePerGas?: bigint;
2382
- maxPriorityFeePerGas?: bigint;
2383
- nonce?: number;
2384
- value?: bigint;
2385
- }): Promise<`0x${string}`> {
2386
- if (!this.contract.write) {
2387
- throw new Error('Wallet client is required for write operations');
2388
- }
2389
- return this.contract.write.onSlash([amount, captureTimestamp] as const, options) as Promise<`0x${string}`>;
2390
- }
2391
-
2392
- /**
2393
- * redeem
2394
- * nonpayable
2395
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2396
- */
2397
- async redeem(claimer: `0x${string}`, shares: bigint, options?: {
2398
- accessList?: import('viem').AccessList;
2399
- authorizationList?: import('viem').AuthorizationList;
2400
- chain?: import('viem').Chain | null;
2401
- dataSuffix?: `0x${string}`;
2402
- gas?: bigint;
2403
- gasPrice?: bigint;
2404
- maxFeePerGas?: bigint;
2405
- maxPriorityFeePerGas?: bigint;
2406
- nonce?: number;
2407
- value?: bigint;
2408
- }): Promise<`0x${string}`> {
2409
- if (!this.contract.write) {
2410
- throw new Error('Wallet client is required for write operations');
2411
- }
2412
- return this.contract.write.redeem([claimer, shares] as const, options) as Promise<`0x${string}`>;
2413
- }
2414
-
2415
- /**
2416
- * renounceOwnership
2417
- * nonpayable
2418
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2419
- */
2420
- async renounceOwnership(options?: {
2421
- accessList?: import('viem').AccessList;
2422
- authorizationList?: import('viem').AuthorizationList;
2423
- chain?: import('viem').Chain | null;
2424
- dataSuffix?: `0x${string}`;
2425
- gas?: bigint;
2426
- gasPrice?: bigint;
2427
- maxFeePerGas?: bigint;
2428
- maxPriorityFeePerGas?: bigint;
2429
- nonce?: number;
2430
- value?: bigint;
2431
- }): Promise<`0x${string}`> {
2432
- if (!this.contract.write) {
2433
- throw new Error('Wallet client is required for write operations');
2434
- }
2435
- return this.contract.write.renounceOwnership(options) as Promise<`0x${string}`>;
2436
- }
2437
-
2438
- /**
2439
- * renounceRole
2440
- * nonpayable
2441
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2442
- */
2443
- async renounceRole(role: `0x${string}`, callerConfirmation: `0x${string}`, options?: {
2444
- accessList?: import('viem').AccessList;
2445
- authorizationList?: import('viem').AuthorizationList;
2446
- chain?: import('viem').Chain | null;
2447
- dataSuffix?: `0x${string}`;
2448
- gas?: bigint;
2449
- gasPrice?: bigint;
2450
- maxFeePerGas?: bigint;
2451
- maxPriorityFeePerGas?: bigint;
2452
- nonce?: number;
2453
- value?: bigint;
2454
- }): Promise<`0x${string}`> {
2455
- if (!this.contract.write) {
2456
- throw new Error('Wallet client is required for write operations');
2457
- }
2458
- return this.contract.write.renounceRole([role, callerConfirmation] as const, options) as Promise<`0x${string}`>;
2459
- }
2460
-
2461
- /**
2462
- * revokeRole
2463
- * nonpayable
2464
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2465
- */
2466
- async revokeRole(role: `0x${string}`, account: `0x${string}`, options?: {
2467
- accessList?: import('viem').AccessList;
2468
- authorizationList?: import('viem').AuthorizationList;
2469
- chain?: import('viem').Chain | null;
2470
- dataSuffix?: `0x${string}`;
2471
- gas?: bigint;
2472
- gasPrice?: bigint;
2473
- maxFeePerGas?: bigint;
2474
- maxPriorityFeePerGas?: bigint;
2475
- nonce?: number;
2476
- value?: bigint;
2477
- }): Promise<`0x${string}`> {
2478
- if (!this.contract.write) {
2479
- throw new Error('Wallet client is required for write operations');
2480
- }
2481
- return this.contract.write.revokeRole([role, account] as const, options) as Promise<`0x${string}`>;
2482
- }
2483
-
2484
- /**
2485
- * setDelegator
2486
- * nonpayable
2487
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2488
- */
2489
- async setDelegator(delegator_: `0x${string}`, options?: {
2490
- accessList?: import('viem').AccessList;
2491
- authorizationList?: import('viem').AuthorizationList;
2492
- chain?: import('viem').Chain | null;
2493
- dataSuffix?: `0x${string}`;
2494
- gas?: bigint;
2495
- gasPrice?: bigint;
2496
- maxFeePerGas?: bigint;
2497
- maxPriorityFeePerGas?: bigint;
2498
- nonce?: number;
2499
- value?: bigint;
2500
- }): Promise<`0x${string}`> {
2501
- if (!this.contract.write) {
2502
- throw new Error('Wallet client is required for write operations');
2503
- }
2504
- return this.contract.write.setDelegator([delegator_] as const, options) as Promise<`0x${string}`>;
2505
- }
2506
-
2507
- /**
2508
- * setDepositLimit
2509
- * nonpayable
2510
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2511
- */
2512
- async setDepositLimit(limit: bigint, options?: {
2513
- accessList?: import('viem').AccessList;
2514
- authorizationList?: import('viem').AuthorizationList;
2515
- chain?: import('viem').Chain | null;
2516
- dataSuffix?: `0x${string}`;
2517
- gas?: bigint;
2518
- gasPrice?: bigint;
2519
- maxFeePerGas?: bigint;
2520
- maxPriorityFeePerGas?: bigint;
2521
- nonce?: number;
2522
- value?: bigint;
2523
- }): Promise<`0x${string}`> {
2524
- if (!this.contract.write) {
2525
- throw new Error('Wallet client is required for write operations');
2526
- }
2527
- return this.contract.write.setDepositLimit([limit] as const, options) as Promise<`0x${string}`>;
2528
- }
2529
-
2530
- /**
2531
- * setDepositWhitelist
2532
- * nonpayable
2533
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2534
- */
2535
- async setDepositWhitelist(status: boolean, options?: {
2536
- accessList?: import('viem').AccessList;
2537
- authorizationList?: import('viem').AuthorizationList;
2538
- chain?: import('viem').Chain | null;
2539
- dataSuffix?: `0x${string}`;
2540
- gas?: bigint;
2541
- gasPrice?: bigint;
2542
- maxFeePerGas?: bigint;
2543
- maxPriorityFeePerGas?: bigint;
2544
- nonce?: number;
2545
- value?: bigint;
2546
- }): Promise<`0x${string}`> {
2547
- if (!this.contract.write) {
2548
- throw new Error('Wallet client is required for write operations');
2549
- }
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}`>;
2643
- }
2644
-
2645
- /**
2646
- * transferOwnership
2647
- * nonpayable
2648
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2649
- */
2650
- async transferOwnership(newOwner: `0x${string}`, options?: {
2651
- accessList?: import('viem').AccessList;
2652
- authorizationList?: import('viem').AuthorizationList;
2653
- chain?: import('viem').Chain | null;
2654
- dataSuffix?: `0x${string}`;
2655
- gas?: bigint;
2656
- gasPrice?: bigint;
2657
- maxFeePerGas?: bigint;
2658
- maxPriorityFeePerGas?: bigint;
2659
- nonce?: number;
2660
- value?: bigint;
2661
- }): Promise<`0x${string}`> {
2662
- if (!this.contract.write) {
2663
- throw new Error('Wallet client is required for write operations');
2664
- }
2665
- return this.contract.write.transferOwnership([newOwner] as const, options) as Promise<`0x${string}`>;
2666
- }
2667
-
2668
- /**
2669
- * withdraw
2670
- * nonpayable
2671
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2672
- */
2673
- async withdraw(claimer: `0x${string}`, amount: bigint, options?: {
2674
- accessList?: import('viem').AccessList;
2675
- authorizationList?: import('viem').AuthorizationList;
2676
- chain?: import('viem').Chain | null;
2677
- dataSuffix?: `0x${string}`;
2678
- gas?: bigint;
2679
- gasPrice?: bigint;
2680
- maxFeePerGas?: bigint;
2681
- maxPriorityFeePerGas?: bigint;
2682
- nonce?: number;
2683
- value?: bigint;
2684
- }): Promise<`0x${string}`> {
2685
- if (!this.contract.write) {
2686
- throw new Error('Wallet client is required for write operations');
2687
- }
2688
- return this.contract.write.withdraw([claimer, amount] as const, options) as Promise<`0x${string}`>;
2689
- }
2690
-
2691
-
2692
-
2693
- /**
2694
- * Simulate contract write operations (dry-run without sending transaction)
2695
- *
2696
- * @example
2697
- * const result = await contract.simulate.transfer('0x...', 1000n);
2698
- * console.log('Gas estimate:', result.request.gas);
2699
- * console.log('Would succeed:', result.result);
2700
- */
2701
- get simulate() {
2702
- const contract = this.contract;
2703
- if (!contract.simulate) {
2704
- throw new Error('Public client is required for simulation');
2705
- }
2706
- return {
2707
- /**
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
2766
- * Returns gas estimate and result without sending transaction
2767
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2768
- */
2769
- async grantRole(role: `0x${string}`, account: `0x${string}`, options?: {
2770
- accessList?: import('viem').AccessList;
2771
- authorizationList?: import('viem').AuthorizationList;
2772
- chain?: import('viem').Chain | null;
2773
- dataSuffix?: `0x${string}`;
2774
- gas?: bigint;
2775
- gasPrice?: bigint;
2776
- maxFeePerGas?: bigint;
2777
- maxPriorityFeePerGas?: bigint;
2778
- nonce?: number;
2779
- value?: bigint;
2780
- }): Promise<void> {
2781
- return contract.simulate.grantRole([role, account] as const, options) as Promise<void>;
2782
- },
2783
- /**
2784
- * Simulate initialize
2785
- * Returns gas estimate and result without sending transaction
2786
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2787
- */
2788
- async initialize(initialVersion: bigint, owner_: `0x${string}`, data: `0x${string}`, options?: {
2789
- accessList?: import('viem').AccessList;
2790
- authorizationList?: import('viem').AuthorizationList;
2791
- chain?: import('viem').Chain | null;
2792
- dataSuffix?: `0x${string}`;
2793
- gas?: bigint;
2794
- gasPrice?: bigint;
2795
- maxFeePerGas?: bigint;
2796
- maxPriorityFeePerGas?: bigint;
2797
- nonce?: number;
2798
- value?: bigint;
2799
- }): Promise<void> {
2800
- return contract.simulate.initialize([initialVersion, owner_, data] as const, options) as Promise<void>;
2801
- },
2802
- /**
2803
- * Simulate migrate
2804
- * Returns gas estimate and result without sending transaction
2805
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2806
- */
2807
- async migrate(newVersion: bigint, data: `0x${string}`, options?: {
2808
- accessList?: import('viem').AccessList;
2809
- authorizationList?: import('viem').AuthorizationList;
2810
- chain?: import('viem').Chain | null;
2811
- dataSuffix?: `0x${string}`;
2812
- gas?: bigint;
2813
- gasPrice?: bigint;
2814
- maxFeePerGas?: bigint;
2815
- maxPriorityFeePerGas?: bigint;
2816
- nonce?: number;
2817
- value?: bigint;
2818
- }): 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]>;
2858
- },
2859
- /**
2860
- * Simulate renounceOwnership
2861
- * Returns gas estimate and result without sending transaction
2862
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2863
- */
2864
- async renounceOwnership(options?: {
2865
- accessList?: import('viem').AccessList;
2866
- authorizationList?: import('viem').AuthorizationList;
2867
- chain?: import('viem').Chain | null;
2868
- dataSuffix?: `0x${string}`;
2869
- gas?: bigint;
2870
- gasPrice?: bigint;
2871
- maxFeePerGas?: bigint;
2872
- maxPriorityFeePerGas?: bigint;
2873
- nonce?: number;
2874
- value?: bigint;
2875
- }): Promise<void> {
2876
- return contract.simulate.renounceOwnership(options) as Promise<void>;
2877
- },
2878
- /**
2879
- * Simulate renounceRole
2880
- * Returns gas estimate and result without sending transaction
2881
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2882
- */
2883
- async renounceRole(role: `0x${string}`, callerConfirmation: `0x${string}`, options?: {
2884
- accessList?: import('viem').AccessList;
2885
- authorizationList?: import('viem').AuthorizationList;
2886
- chain?: import('viem').Chain | null;
2887
- dataSuffix?: `0x${string}`;
2888
- gas?: bigint;
2889
- gasPrice?: bigint;
2890
- maxFeePerGas?: bigint;
2891
- maxPriorityFeePerGas?: bigint;
2892
- nonce?: number;
2893
- value?: bigint;
2894
- }): Promise<void> {
2895
- return contract.simulate.renounceRole([role, callerConfirmation] as const, options) as Promise<void>;
2896
- },
2897
- /**
2898
- * Simulate revokeRole
2899
- * Returns gas estimate and result without sending transaction
2900
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2901
- */
2902
- async revokeRole(role: `0x${string}`, account: `0x${string}`, options?: {
2903
- accessList?: import('viem').AccessList;
2904
- authorizationList?: import('viem').AuthorizationList;
2905
- chain?: import('viem').Chain | null;
2906
- dataSuffix?: `0x${string}`;
2907
- gas?: bigint;
2908
- gasPrice?: bigint;
2909
- maxFeePerGas?: bigint;
2910
- maxPriorityFeePerGas?: bigint;
2911
- nonce?: number;
2912
- value?: bigint;
2913
- }): Promise<void> {
2914
- return contract.simulate.revokeRole([role, account] as const, options) as Promise<void>;
2915
- },
2916
- /**
2917
- * Simulate setDelegator
2918
- * Returns gas estimate and result without sending transaction
2919
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2920
- */
2921
- async setDelegator(delegator_: `0x${string}`, options?: {
2922
- accessList?: import('viem').AccessList;
2923
- authorizationList?: import('viem').AuthorizationList;
2924
- chain?: import('viem').Chain | null;
2925
- dataSuffix?: `0x${string}`;
2926
- gas?: bigint;
2927
- gasPrice?: bigint;
2928
- maxFeePerGas?: bigint;
2929
- maxPriorityFeePerGas?: bigint;
2930
- nonce?: number;
2931
- value?: bigint;
2932
- }): Promise<void> {
2933
- return contract.simulate.setDelegator([delegator_] as const, options) as Promise<void>;
2934
- },
2935
- /**
2936
- * Simulate setDepositLimit
2937
- * Returns gas estimate and result without sending transaction
2938
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2939
- */
2940
- async setDepositLimit(limit: bigint, options?: {
2941
- accessList?: import('viem').AccessList;
2942
- authorizationList?: import('viem').AuthorizationList;
2943
- chain?: import('viem').Chain | null;
2944
- dataSuffix?: `0x${string}`;
2945
- gas?: bigint;
2946
- gasPrice?: bigint;
2947
- maxFeePerGas?: bigint;
2948
- maxPriorityFeePerGas?: bigint;
2949
- nonce?: number;
2950
- value?: bigint;
2951
- }): Promise<void> {
2952
- return contract.simulate.setDepositLimit([limit] as const, options) as Promise<void>;
2953
- },
2954
- /**
2955
- * Simulate setDepositWhitelist
2956
- * Returns gas estimate and result without sending transaction
2957
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2958
- */
2959
- async setDepositWhitelist(status: boolean, options?: {
2960
- accessList?: import('viem').AccessList;
2961
- authorizationList?: import('viem').AuthorizationList;
2962
- chain?: import('viem').Chain | null;
2963
- dataSuffix?: `0x${string}`;
2964
- gas?: bigint;
2965
- gasPrice?: bigint;
2966
- maxFeePerGas?: bigint;
2967
- maxPriorityFeePerGas?: bigint;
2968
- nonce?: number;
2969
- value?: bigint;
2970
- }): Promise<void> {
2971
- return contract.simulate.setDepositWhitelist([status] as const, options) as Promise<void>;
2972
- },
2973
- /**
2974
- * Simulate setDepositorWhitelistStatus
2975
- * Returns gas estimate and result without sending transaction
2976
- * @param options Optional transaction parameters (value, gas, nonce, etc.)
2977
- */
2978
- async setDepositorWhitelistStatus(account: `0x${string}`, status: boolean, options?: {
2979
- accessList?: import('viem').AccessList;
2980
- authorizationList?: import('viem').AuthorizationList;
2981
- chain?: import('viem').Chain | null;
2982
- dataSuffix?: `0x${string}`;
2983
- gas?: bigint;
2984
- gasPrice?: bigint;
2985
- maxFeePerGas?: bigint;
2986
- maxPriorityFeePerGas?: bigint;
2987
- nonce?: number;
2988
- value?: bigint;
2989
- }): Promise<void> {
2990
- return contract.simulate.setDepositorWhitelistStatus([account, status] as const, options) as Promise<void>;
2991
- },
2992
- /**
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>;
143
+ "stateMutability": "payable",
144
+ "type": "receive"
145
+ }
146
+ ] as const satisfies Abi;
147
+
148
+ /**
149
+ * Type-safe ABI for Vault_json
150
+ */
151
+ export type Vault_jsonAbi = typeof Vault_jsonAbi;
152
+
153
+ /**
154
+ * Contract instance type for Vault_json
155
+ */
156
+ // Use any for contract type to avoid complex viem type issues
157
+ // The runtime behavior is type-safe through viem's ABI typing
158
+ export type Vault_jsonContract = any;
159
+
160
+ /**
161
+ * Vault_json Contract Class
162
+ *
163
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * import { createPublicClient, createWalletClient, http } from 'viem';
168
+ * import { mainnet } from 'viem/chains';
169
+ * import { Vault_json } from 'Vault_json';
170
+ *
171
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
172
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
173
+ *
174
+ * const contract = new Vault_json('0x...', { publicClient, walletClient });
175
+ *
176
+ * // Read functions
177
+ * const result = await contract.balanceOf('0x...');
178
+ *
179
+ * // Write functions
180
+ * const hash = await contract.transfer('0x...', 1000n);
181
+ *
182
+ * // Simulate transactions (dry-run)
183
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
184
+ * console.log('Gas estimate:', simulation.request.gas);
185
+ *
186
+ * // Watch events
187
+ * const unwatch = contract.watch.Transfer((event) => {
188
+ * console.log('Transfer event:', event);
189
+ * });
190
+ * ```
191
+ */
192
+ export class Vault_json {
193
+ private contract: Vault_jsonContract;
194
+ private contractAddress: Address;
195
+ private publicClient: PublicClient;
196
+
197
+ constructor(
198
+ address: Address,
199
+ clients: {
200
+ publicClient: PublicClient;
201
+ walletClient?: WalletClient;
202
+ }
203
+ ) {
204
+ this.contractAddress = address;
205
+ this.publicClient = clients.publicClient;
206
+ this.contract = getContract({
207
+ address,
208
+ abi: Vault_jsonAbi,
209
+ client: {
210
+ public: clients.publicClient,
211
+ wallet: clients.walletClient,
3048
212
  },
213
+ });
214
+ }
215
+
216
+ /**
217
+ * Get the contract address
218
+ */
219
+ get address(): Address {
220
+ return this.contractAddress;
221
+ }
222
+
223
+ /**
224
+ * Get the underlying viem contract instance
225
+ */
226
+ getContract(): Vault_jsonContract {
227
+ return this.contract;
228
+ }
229
+
230
+ /**
231
+ * SEAL
232
+ * view
233
+ */
234
+ async SEAL(): Promise<`0x${string}`> {
235
+ return this.contract.read.SEAL() as Promise<`0x${string}`>;
236
+ }
237
+
238
+ /**
239
+ * balance
240
+ * view
241
+ */
242
+ async balance(): Promise<bigint> {
243
+ return this.contract.read.balance() as Promise<bigint>;
244
+ }
245
+
246
+ /**
247
+ * found
248
+ * view
249
+ */
250
+ async found(): Promise<boolean> {
251
+ return this.contract.read.found() as Promise<boolean>;
252
+ }
253
+
254
+ /**
255
+ * rules
256
+ * pure
257
+ */
258
+ async rules(): Promise<string> {
259
+ return this.contract.read.rules() as Promise<string>;
260
+ }
261
+
262
+ /**
263
+ * state
264
+ * view
265
+ */
266
+ async state(): Promise<string> {
267
+ return this.contract.read.state() as Promise<string>;
268
+ }
269
+
270
+ /**
271
+ * unlock
272
+ * nonpayable
273
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
274
+ */
275
+ async unlock(secret: `0x${string}`, to: `0x${string}`, options?: {
276
+ accessList?: import('viem').AccessList;
277
+ authorizationList?: import('viem').AuthorizationList;
278
+ chain?: import('viem').Chain | null;
279
+ dataSuffix?: `0x${string}`;
280
+ gas?: bigint;
281
+ gasPrice?: bigint;
282
+ maxFeePerGas?: bigint;
283
+ maxPriorityFeePerGas?: bigint;
284
+ nonce?: number;
285
+ value?: bigint;
286
+ }): Promise<`0x${string}`> {
287
+ if (!this.contract.write) {
288
+ throw new Error('Wallet client is required for write operations');
289
+ }
290
+ return this.contract.write.unlock([secret, to] as const, options) as Promise<`0x${string}`>;
291
+ }
292
+
293
+
294
+
295
+ /**
296
+ * Simulate contract write operations (dry-run without sending transaction)
297
+ *
298
+ * @example
299
+ * const result = await contract.simulate.transfer('0x...', 1000n);
300
+ * console.log('Gas estimate:', result.request.gas);
301
+ * console.log('Would succeed:', result.result);
302
+ */
303
+ get simulate() {
304
+ const contract = this.contract;
305
+ if (!contract.simulate) {
306
+ throw new Error('Public client is required for simulation');
307
+ }
308
+ return {
3049
309
  /**
3050
- * Simulate transferOwnership
310
+ * Simulate unlock
3051
311
  * Returns gas estimate and result without sending transaction
3052
312
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
3053
313
  */
3054
- async transferOwnership(newOwner: `0x${string}`, options?: {
314
+ async unlock(secret: `0x${string}`, to: `0x${string}`, options?: {
3055
315
  accessList?: import('viem').AccessList;
3056
316
  authorizationList?: import('viem').AuthorizationList;
3057
317
  chain?: import('viem').Chain | null;
@@ -3063,26 +323,7 @@ export class Vault_json {
3063
323
  nonce?: number;
3064
324
  value?: bigint;
3065
325
  }): 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]>;
326
+ return contract.simulate.unlock([secret, to] as const, options) as Promise<void>;
3086
327
  }
3087
328
  };
3088
329
  }
@@ -3102,282 +343,16 @@ export class Vault_json {
3102
343
  get watch() {
3103
344
  return {
3104
345
  /**
3105
- * Watch Claim events
3106
- * @param callback Function to call when event is emitted
3107
- * @param filter Optional filter for indexed parameters
3108
- * @returns Unwatch function to stop listening
3109
- */
3110
- Claim: (callback: (event: { claimer: `0x${string}`; recipient: `0x${string}`; epoch: bigint; amount: bigint }) => void, filter?: { claimer: `0x${string}`; recipient: `0x${string}` }) => {
3111
- return this.publicClient.watchContractEvent({
3112
- address: this.contractAddress,
3113
- abi: Vault_jsonAbi,
3114
- eventName: 'Claim',
3115
- args: filter,
3116
- onLogs: (logs: any[]) => {
3117
- logs.forEach((log: any) => {
3118
- callback(log.args as any);
3119
- });
3120
- },
3121
- }) as () => void;
3122
- },
3123
- /**
3124
- * Watch ClaimBatch events
3125
- * @param callback Function to call when event is emitted
3126
- * @param filter Optional filter for indexed parameters
3127
- * @returns Unwatch function to stop listening
3128
- */
3129
- ClaimBatch: (callback: (event: { claimer: `0x${string}`; recipient: `0x${string}`; epochs: bigint[]; amount: bigint }) => void, filter?: { claimer: `0x${string}`; recipient: `0x${string}` }) => {
3130
- return this.publicClient.watchContractEvent({
3131
- address: this.contractAddress,
3132
- abi: Vault_jsonAbi,
3133
- eventName: 'ClaimBatch',
3134
- args: filter,
3135
- onLogs: (logs: any[]) => {
3136
- logs.forEach((log: any) => {
3137
- callback(log.args as any);
3138
- });
3139
- },
3140
- }) as () => void;
3141
- },
3142
- /**
3143
- * Watch Deposit events
3144
- * @param callback Function to call when event is emitted
3145
- * @param filter Optional filter for indexed parameters
3146
- * @returns Unwatch function to stop listening
3147
- */
3148
- Deposit: (callback: (event: { depositor: `0x${string}`; onBehalfOf: `0x${string}`; amount: bigint; shares: bigint }) => void, filter?: { depositor: `0x${string}`; onBehalfOf: `0x${string}` }) => {
3149
- return this.publicClient.watchContractEvent({
3150
- address: this.contractAddress,
3151
- abi: Vault_jsonAbi,
3152
- eventName: 'Deposit',
3153
- args: filter,
3154
- onLogs: (logs: any[]) => {
3155
- logs.forEach((log: any) => {
3156
- callback(log.args as any);
3157
- });
3158
- },
3159
- }) as () => void;
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
- },
3199
- /**
3200
- * Watch OwnershipTransferred events
3201
- * @param callback Function to call when event is emitted
3202
- * @param filter Optional filter for indexed parameters
3203
- * @returns Unwatch function to stop listening
3204
- */
3205
- OwnershipTransferred: (callback: (event: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => void, filter?: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => {
3206
- return this.publicClient.watchContractEvent({
3207
- address: this.contractAddress,
3208
- abi: Vault_jsonAbi,
3209
- eventName: 'OwnershipTransferred',
3210
- args: filter,
3211
- onLogs: (logs: any[]) => {
3212
- logs.forEach((log: any) => {
3213
- callback(log.args as any);
3214
- });
3215
- },
3216
- }) as () => void;
3217
- },
3218
- /**
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
3277
- * @param callback Function to call when event is emitted
3278
- * @param filter Optional filter for indexed parameters
3279
- * @returns Unwatch function to stop listening
3280
- */
3281
- SetDelegator: (callback: (event: { delegator: `0x${string}` }) => void, filter?: { delegator: `0x${string}` }) => {
3282
- return this.publicClient.watchContractEvent({
3283
- address: this.contractAddress,
3284
- abi: Vault_jsonAbi,
3285
- eventName: 'SetDelegator',
3286
- args: filter,
3287
- onLogs: (logs: any[]) => {
3288
- logs.forEach((log: any) => {
3289
- callback(log.args as any);
3290
- });
3291
- },
3292
- }) as () => void;
3293
- },
3294
- /**
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
346
+ * Watch Found events
3372
347
  * @param callback Function to call when event is emitted
3373
348
  * @param filter Optional filter for indexed parameters
3374
349
  * @returns Unwatch function to stop listening
3375
350
  */
3376
- SetSlasher: (callback: (event: { slasher: `0x${string}` }) => void, filter?: { slasher: `0x${string}` }) => {
351
+ Found: (callback: (event: { to: `0x${string}`; amount: bigint }) => void, filter?: { to: `0x${string}` }) => {
3377
352
  return this.publicClient.watchContractEvent({
3378
353
  address: this.contractAddress,
3379
354
  abi: Vault_jsonAbi,
3380
- eventName: 'SetSlasher',
355
+ eventName: 'Found',
3381
356
  args: filter,
3382
357
  onLogs: (logs: any[]) => {
3383
358
  logs.forEach((log: any) => {
@@ -3387,16 +362,16 @@ export class Vault_json {
3387
362
  }) as () => void;
3388
363
  },
3389
364
  /**
3390
- * Watch Withdraw events
365
+ * Watch Funded events
3391
366
  * @param callback Function to call when event is emitted
3392
367
  * @param filter Optional filter for indexed parameters
3393
368
  * @returns Unwatch function to stop listening
3394
369
  */
3395
- Withdraw: (callback: (event: { withdrawer: `0x${string}`; claimer: `0x${string}`; amount: bigint; burnedShares: bigint; mintedShares: bigint }) => void, filter?: { withdrawer: `0x${string}`; claimer: `0x${string}` }) => {
370
+ Funded: (callback: (event: { from: `0x${string}`; amount: bigint }) => void, filter?: { from: `0x${string}` }) => {
3396
371
  return this.publicClient.watchContractEvent({
3397
372
  address: this.contractAddress,
3398
373
  abi: Vault_jsonAbi,
3399
- eventName: 'Withdraw',
374
+ eventName: 'Funded',
3400
375
  args: filter,
3401
376
  onLogs: (logs: any[]) => {
3402
377
  logs.forEach((log: any) => {