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