@gitmyabi/eigenpod 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1774 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EigenPod_json = exports.EigenPod_jsonAbi = void 0;
4
+ const viem_1 = require("viem");
5
+ /**
6
+ * EigenPod_json ABI
7
+ *
8
+ * This ABI is typed using viem's type system for full type safety.
9
+ */
10
+ exports.EigenPod_jsonAbi = [
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "contract IETHPOSDeposit",
15
+ "name": "_ethPOS",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "contract IEigenPodManager",
20
+ "name": "_eigenPodManager",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "BeaconTimestampBeforeLatestCheckpoint",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "BeaconTimestampTooFarInPast",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "CannotCheckpointTwiceInSingleBlock",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "CheckpointAlreadyActive",
45
+ "type": "error"
46
+ },
47
+ {
48
+ "inputs": [],
49
+ "name": "CredentialsAlreadyVerified",
50
+ "type": "error"
51
+ },
52
+ {
53
+ "inputs": [],
54
+ "name": "CurrentlyPaused",
55
+ "type": "error"
56
+ },
57
+ {
58
+ "inputs": [],
59
+ "name": "EmptyRoot",
60
+ "type": "error"
61
+ },
62
+ {
63
+ "inputs": [],
64
+ "name": "FeeQueryFailed",
65
+ "type": "error"
66
+ },
67
+ {
68
+ "inputs": [],
69
+ "name": "ForkTimestampZero",
70
+ "type": "error"
71
+ },
72
+ {
73
+ "inputs": [],
74
+ "name": "InputAddressZero",
75
+ "type": "error"
76
+ },
77
+ {
78
+ "inputs": [],
79
+ "name": "InputArrayLengthMismatch",
80
+ "type": "error"
81
+ },
82
+ {
83
+ "inputs": [],
84
+ "name": "InsufficientFunds",
85
+ "type": "error"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "InsufficientWithdrawableBalance",
90
+ "type": "error"
91
+ },
92
+ {
93
+ "inputs": [],
94
+ "name": "InvalidEIP4788Response",
95
+ "type": "error"
96
+ },
97
+ {
98
+ "inputs": [],
99
+ "name": "InvalidIndex",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "inputs": [],
104
+ "name": "InvalidProof",
105
+ "type": "error"
106
+ },
107
+ {
108
+ "inputs": [],
109
+ "name": "InvalidProofLength",
110
+ "type": "error"
111
+ },
112
+ {
113
+ "inputs": [],
114
+ "name": "InvalidProofLength",
115
+ "type": "error"
116
+ },
117
+ {
118
+ "inputs": [],
119
+ "name": "InvalidPubKeyLength",
120
+ "type": "error"
121
+ },
122
+ {
123
+ "inputs": [],
124
+ "name": "InvalidValidatorFieldsLength",
125
+ "type": "error"
126
+ },
127
+ {
128
+ "inputs": [],
129
+ "name": "LeavesNotPowerOfTwo",
130
+ "type": "error"
131
+ },
132
+ {
133
+ "inputs": [],
134
+ "name": "MsgValueNot32ETH",
135
+ "type": "error"
136
+ },
137
+ {
138
+ "inputs": [],
139
+ "name": "NoActiveCheckpoint",
140
+ "type": "error"
141
+ },
142
+ {
143
+ "inputs": [],
144
+ "name": "NoBalanceToCheckpoint",
145
+ "type": "error"
146
+ },
147
+ {
148
+ "inputs": [],
149
+ "name": "NotEnoughLeaves",
150
+ "type": "error"
151
+ },
152
+ {
153
+ "inputs": [],
154
+ "name": "OnlyEigenPodManager",
155
+ "type": "error"
156
+ },
157
+ {
158
+ "inputs": [],
159
+ "name": "OnlyEigenPodOwner",
160
+ "type": "error"
161
+ },
162
+ {
163
+ "inputs": [],
164
+ "name": "OnlyEigenPodOwnerOrProofSubmitter",
165
+ "type": "error"
166
+ },
167
+ {
168
+ "inputs": [],
169
+ "name": "PredeployFailed",
170
+ "type": "error"
171
+ },
172
+ {
173
+ "inputs": [],
174
+ "name": "TimestampOutOfRange",
175
+ "type": "error"
176
+ },
177
+ {
178
+ "inputs": [],
179
+ "name": "ValidatorInactiveOnBeaconChain",
180
+ "type": "error"
181
+ },
182
+ {
183
+ "inputs": [],
184
+ "name": "ValidatorIsExitingBeaconChain",
185
+ "type": "error"
186
+ },
187
+ {
188
+ "inputs": [],
189
+ "name": "ValidatorNotActiveInPod",
190
+ "type": "error"
191
+ },
192
+ {
193
+ "inputs": [],
194
+ "name": "ValidatorNotSlashedOnBeaconChain",
195
+ "type": "error"
196
+ },
197
+ {
198
+ "inputs": [],
199
+ "name": "WithdrawalCredentialsNotForEigenPod",
200
+ "type": "error"
201
+ },
202
+ {
203
+ "anonymous": false,
204
+ "inputs": [
205
+ {
206
+ "indexed": true,
207
+ "internalType": "uint64",
208
+ "name": "checkpointTimestamp",
209
+ "type": "uint64"
210
+ },
211
+ {
212
+ "indexed": true,
213
+ "internalType": "bytes32",
214
+ "name": "beaconBlockRoot",
215
+ "type": "bytes32"
216
+ },
217
+ {
218
+ "indexed": false,
219
+ "internalType": "uint256",
220
+ "name": "validatorCount",
221
+ "type": "uint256"
222
+ }
223
+ ],
224
+ "name": "CheckpointCreated",
225
+ "type": "event"
226
+ },
227
+ {
228
+ "anonymous": false,
229
+ "inputs": [
230
+ {
231
+ "indexed": true,
232
+ "internalType": "uint64",
233
+ "name": "checkpointTimestamp",
234
+ "type": "uint64"
235
+ },
236
+ {
237
+ "indexed": false,
238
+ "internalType": "int256",
239
+ "name": "totalShareDeltaWei",
240
+ "type": "int256"
241
+ }
242
+ ],
243
+ "name": "CheckpointFinalized",
244
+ "type": "event"
245
+ },
246
+ {
247
+ "anonymous": false,
248
+ "inputs": [
249
+ {
250
+ "indexed": true,
251
+ "internalType": "bytes32",
252
+ "name": "sourcePubkeyHash",
253
+ "type": "bytes32"
254
+ },
255
+ {
256
+ "indexed": true,
257
+ "internalType": "bytes32",
258
+ "name": "targetPubkeyHash",
259
+ "type": "bytes32"
260
+ }
261
+ ],
262
+ "name": "ConsolidationRequested",
263
+ "type": "event"
264
+ },
265
+ {
266
+ "anonymous": false,
267
+ "inputs": [
268
+ {
269
+ "indexed": false,
270
+ "internalType": "bytes32",
271
+ "name": "pubkeyHash",
272
+ "type": "bytes32"
273
+ }
274
+ ],
275
+ "name": "EigenPodStaked",
276
+ "type": "event"
277
+ },
278
+ {
279
+ "anonymous": false,
280
+ "inputs": [
281
+ {
282
+ "indexed": true,
283
+ "internalType": "bytes32",
284
+ "name": "validatorPubkeyHash",
285
+ "type": "bytes32"
286
+ }
287
+ ],
288
+ "name": "ExitRequested",
289
+ "type": "event"
290
+ },
291
+ {
292
+ "anonymous": false,
293
+ "inputs": [
294
+ {
295
+ "indexed": false,
296
+ "internalType": "uint8",
297
+ "name": "version",
298
+ "type": "uint8"
299
+ }
300
+ ],
301
+ "name": "Initialized",
302
+ "type": "event"
303
+ },
304
+ {
305
+ "anonymous": false,
306
+ "inputs": [
307
+ {
308
+ "indexed": false,
309
+ "internalType": "uint256",
310
+ "name": "amountReceived",
311
+ "type": "uint256"
312
+ }
313
+ ],
314
+ "name": "NonBeaconChainETHReceived",
315
+ "type": "event"
316
+ },
317
+ {
318
+ "anonymous": false,
319
+ "inputs": [
320
+ {
321
+ "indexed": false,
322
+ "internalType": "address",
323
+ "name": "prevProofSubmitter",
324
+ "type": "address"
325
+ },
326
+ {
327
+ "indexed": false,
328
+ "internalType": "address",
329
+ "name": "newProofSubmitter",
330
+ "type": "address"
331
+ }
332
+ ],
333
+ "name": "ProofSubmitterUpdated",
334
+ "type": "event"
335
+ },
336
+ {
337
+ "anonymous": false,
338
+ "inputs": [
339
+ {
340
+ "indexed": true,
341
+ "internalType": "address",
342
+ "name": "recipient",
343
+ "type": "address"
344
+ },
345
+ {
346
+ "indexed": false,
347
+ "internalType": "uint256",
348
+ "name": "amount",
349
+ "type": "uint256"
350
+ }
351
+ ],
352
+ "name": "RestakedBeaconChainETHWithdrawn",
353
+ "type": "event"
354
+ },
355
+ {
356
+ "anonymous": false,
357
+ "inputs": [
358
+ {
359
+ "indexed": true,
360
+ "internalType": "bytes32",
361
+ "name": "validatorPubkeyHash",
362
+ "type": "bytes32"
363
+ }
364
+ ],
365
+ "name": "SwitchToCompoundingRequested",
366
+ "type": "event"
367
+ },
368
+ {
369
+ "anonymous": false,
370
+ "inputs": [
371
+ {
372
+ "indexed": false,
373
+ "internalType": "bytes32",
374
+ "name": "pubkeyHash",
375
+ "type": "bytes32"
376
+ },
377
+ {
378
+ "indexed": false,
379
+ "internalType": "uint64",
380
+ "name": "balanceTimestamp",
381
+ "type": "uint64"
382
+ },
383
+ {
384
+ "indexed": false,
385
+ "internalType": "uint64",
386
+ "name": "newValidatorBalanceGwei",
387
+ "type": "uint64"
388
+ }
389
+ ],
390
+ "name": "ValidatorBalanceUpdated",
391
+ "type": "event"
392
+ },
393
+ {
394
+ "anonymous": false,
395
+ "inputs": [
396
+ {
397
+ "indexed": true,
398
+ "internalType": "uint64",
399
+ "name": "checkpointTimestamp",
400
+ "type": "uint64"
401
+ },
402
+ {
403
+ "indexed": true,
404
+ "internalType": "bytes32",
405
+ "name": "pubkeyHash",
406
+ "type": "bytes32"
407
+ }
408
+ ],
409
+ "name": "ValidatorCheckpointed",
410
+ "type": "event"
411
+ },
412
+ {
413
+ "anonymous": false,
414
+ "inputs": [
415
+ {
416
+ "indexed": false,
417
+ "internalType": "bytes32",
418
+ "name": "pubkeyHash",
419
+ "type": "bytes32"
420
+ }
421
+ ],
422
+ "name": "ValidatorRestaked",
423
+ "type": "event"
424
+ },
425
+ {
426
+ "anonymous": false,
427
+ "inputs": [
428
+ {
429
+ "indexed": true,
430
+ "internalType": "uint64",
431
+ "name": "checkpointTimestamp",
432
+ "type": "uint64"
433
+ },
434
+ {
435
+ "indexed": true,
436
+ "internalType": "bytes32",
437
+ "name": "pubkeyHash",
438
+ "type": "bytes32"
439
+ }
440
+ ],
441
+ "name": "ValidatorWithdrawn",
442
+ "type": "event"
443
+ },
444
+ {
445
+ "anonymous": false,
446
+ "inputs": [
447
+ {
448
+ "indexed": true,
449
+ "internalType": "bytes32",
450
+ "name": "validatorPubkeyHash",
451
+ "type": "bytes32"
452
+ },
453
+ {
454
+ "indexed": false,
455
+ "internalType": "uint64",
456
+ "name": "withdrawalAmountGwei",
457
+ "type": "uint64"
458
+ }
459
+ ],
460
+ "name": "WithdrawalRequested",
461
+ "type": "event"
462
+ },
463
+ {
464
+ "inputs": [],
465
+ "name": "activeValidatorCount",
466
+ "outputs": [
467
+ {
468
+ "internalType": "uint256",
469
+ "name": "",
470
+ "type": "uint256"
471
+ }
472
+ ],
473
+ "stateMutability": "view",
474
+ "type": "function"
475
+ },
476
+ {
477
+ "inputs": [
478
+ {
479
+ "internalType": "uint64",
480
+ "name": "",
481
+ "type": "uint64"
482
+ }
483
+ ],
484
+ "name": "checkpointBalanceExitedGwei",
485
+ "outputs": [
486
+ {
487
+ "internalType": "uint64",
488
+ "name": "",
489
+ "type": "uint64"
490
+ }
491
+ ],
492
+ "stateMutability": "view",
493
+ "type": "function"
494
+ },
495
+ {
496
+ "inputs": [],
497
+ "name": "currentCheckpoint",
498
+ "outputs": [
499
+ {
500
+ "components": [
501
+ {
502
+ "internalType": "bytes32",
503
+ "name": "beaconBlockRoot",
504
+ "type": "bytes32"
505
+ },
506
+ {
507
+ "internalType": "uint24",
508
+ "name": "proofsRemaining",
509
+ "type": "uint24"
510
+ },
511
+ {
512
+ "internalType": "uint64",
513
+ "name": "podBalanceGwei",
514
+ "type": "uint64"
515
+ },
516
+ {
517
+ "internalType": "int64",
518
+ "name": "balanceDeltasGwei",
519
+ "type": "int64"
520
+ },
521
+ {
522
+ "internalType": "uint64",
523
+ "name": "prevBeaconBalanceGwei",
524
+ "type": "uint64"
525
+ }
526
+ ],
527
+ "internalType": "struct IEigenPodTypes.Checkpoint",
528
+ "name": "",
529
+ "type": "tuple"
530
+ }
531
+ ],
532
+ "stateMutability": "view",
533
+ "type": "function"
534
+ },
535
+ {
536
+ "inputs": [],
537
+ "name": "currentCheckpointTimestamp",
538
+ "outputs": [
539
+ {
540
+ "internalType": "uint64",
541
+ "name": "",
542
+ "type": "uint64"
543
+ }
544
+ ],
545
+ "stateMutability": "view",
546
+ "type": "function"
547
+ },
548
+ {
549
+ "inputs": [],
550
+ "name": "eigenPodManager",
551
+ "outputs": [
552
+ {
553
+ "internalType": "contract IEigenPodManager",
554
+ "name": "",
555
+ "type": "address"
556
+ }
557
+ ],
558
+ "stateMutability": "view",
559
+ "type": "function"
560
+ },
561
+ {
562
+ "inputs": [],
563
+ "name": "ethPOS",
564
+ "outputs": [
565
+ {
566
+ "internalType": "contract IETHPOSDeposit",
567
+ "name": "",
568
+ "type": "address"
569
+ }
570
+ ],
571
+ "stateMutability": "view",
572
+ "type": "function"
573
+ },
574
+ {
575
+ "inputs": [],
576
+ "name": "getConsolidationRequestFee",
577
+ "outputs": [
578
+ {
579
+ "internalType": "uint256",
580
+ "name": "",
581
+ "type": "uint256"
582
+ }
583
+ ],
584
+ "stateMutability": "view",
585
+ "type": "function"
586
+ },
587
+ {
588
+ "inputs": [
589
+ {
590
+ "internalType": "uint64",
591
+ "name": "timestamp",
592
+ "type": "uint64"
593
+ }
594
+ ],
595
+ "name": "getParentBlockRoot",
596
+ "outputs": [
597
+ {
598
+ "internalType": "bytes32",
599
+ "name": "",
600
+ "type": "bytes32"
601
+ }
602
+ ],
603
+ "stateMutability": "view",
604
+ "type": "function"
605
+ },
606
+ {
607
+ "inputs": [],
608
+ "name": "getWithdrawalRequestFee",
609
+ "outputs": [
610
+ {
611
+ "internalType": "uint256",
612
+ "name": "",
613
+ "type": "uint256"
614
+ }
615
+ ],
616
+ "stateMutability": "view",
617
+ "type": "function"
618
+ },
619
+ {
620
+ "inputs": [
621
+ {
622
+ "internalType": "address",
623
+ "name": "_podOwner",
624
+ "type": "address"
625
+ }
626
+ ],
627
+ "name": "initialize",
628
+ "outputs": [],
629
+ "stateMutability": "nonpayable",
630
+ "type": "function"
631
+ },
632
+ {
633
+ "inputs": [],
634
+ "name": "lastCheckpointTimestamp",
635
+ "outputs": [
636
+ {
637
+ "internalType": "uint64",
638
+ "name": "",
639
+ "type": "uint64"
640
+ }
641
+ ],
642
+ "stateMutability": "view",
643
+ "type": "function"
644
+ },
645
+ {
646
+ "inputs": [],
647
+ "name": "podOwner",
648
+ "outputs": [
649
+ {
650
+ "internalType": "address",
651
+ "name": "",
652
+ "type": "address"
653
+ }
654
+ ],
655
+ "stateMutability": "view",
656
+ "type": "function"
657
+ },
658
+ {
659
+ "inputs": [],
660
+ "name": "proofSubmitter",
661
+ "outputs": [
662
+ {
663
+ "internalType": "address",
664
+ "name": "",
665
+ "type": "address"
666
+ }
667
+ ],
668
+ "stateMutability": "view",
669
+ "type": "function"
670
+ },
671
+ {
672
+ "inputs": [
673
+ {
674
+ "internalType": "contract IERC20[]",
675
+ "name": "tokenList",
676
+ "type": "address[]"
677
+ },
678
+ {
679
+ "internalType": "uint256[]",
680
+ "name": "amountsToWithdraw",
681
+ "type": "uint256[]"
682
+ },
683
+ {
684
+ "internalType": "address",
685
+ "name": "recipient",
686
+ "type": "address"
687
+ }
688
+ ],
689
+ "name": "recoverTokens",
690
+ "outputs": [],
691
+ "stateMutability": "nonpayable",
692
+ "type": "function"
693
+ },
694
+ {
695
+ "inputs": [
696
+ {
697
+ "components": [
698
+ {
699
+ "internalType": "bytes",
700
+ "name": "srcPubkey",
701
+ "type": "bytes"
702
+ },
703
+ {
704
+ "internalType": "bytes",
705
+ "name": "targetPubkey",
706
+ "type": "bytes"
707
+ }
708
+ ],
709
+ "internalType": "struct IEigenPodTypes.ConsolidationRequest[]",
710
+ "name": "requests",
711
+ "type": "tuple[]"
712
+ }
713
+ ],
714
+ "name": "requestConsolidation",
715
+ "outputs": [],
716
+ "stateMutability": "payable",
717
+ "type": "function"
718
+ },
719
+ {
720
+ "inputs": [
721
+ {
722
+ "components": [
723
+ {
724
+ "internalType": "bytes",
725
+ "name": "pubkey",
726
+ "type": "bytes"
727
+ },
728
+ {
729
+ "internalType": "uint64",
730
+ "name": "amountGwei",
731
+ "type": "uint64"
732
+ }
733
+ ],
734
+ "internalType": "struct IEigenPodTypes.WithdrawalRequest[]",
735
+ "name": "requests",
736
+ "type": "tuple[]"
737
+ }
738
+ ],
739
+ "name": "requestWithdrawal",
740
+ "outputs": [],
741
+ "stateMutability": "payable",
742
+ "type": "function"
743
+ },
744
+ {
745
+ "inputs": [
746
+ {
747
+ "internalType": "address",
748
+ "name": "newProofSubmitter",
749
+ "type": "address"
750
+ }
751
+ ],
752
+ "name": "setProofSubmitter",
753
+ "outputs": [],
754
+ "stateMutability": "nonpayable",
755
+ "type": "function"
756
+ },
757
+ {
758
+ "inputs": [
759
+ {
760
+ "internalType": "bytes",
761
+ "name": "pubkey",
762
+ "type": "bytes"
763
+ },
764
+ {
765
+ "internalType": "bytes",
766
+ "name": "signature",
767
+ "type": "bytes"
768
+ },
769
+ {
770
+ "internalType": "bytes32",
771
+ "name": "depositDataRoot",
772
+ "type": "bytes32"
773
+ }
774
+ ],
775
+ "name": "stake",
776
+ "outputs": [],
777
+ "stateMutability": "payable",
778
+ "type": "function"
779
+ },
780
+ {
781
+ "inputs": [
782
+ {
783
+ "internalType": "bool",
784
+ "name": "revertIfNoBalance",
785
+ "type": "bool"
786
+ }
787
+ ],
788
+ "name": "startCheckpoint",
789
+ "outputs": [],
790
+ "stateMutability": "nonpayable",
791
+ "type": "function"
792
+ },
793
+ {
794
+ "inputs": [
795
+ {
796
+ "internalType": "bytes32",
797
+ "name": "validatorPubkeyHash",
798
+ "type": "bytes32"
799
+ }
800
+ ],
801
+ "name": "validatorPubkeyHashToInfo",
802
+ "outputs": [
803
+ {
804
+ "components": [
805
+ {
806
+ "internalType": "uint64",
807
+ "name": "validatorIndex",
808
+ "type": "uint64"
809
+ },
810
+ {
811
+ "internalType": "uint64",
812
+ "name": "restakedBalanceGwei",
813
+ "type": "uint64"
814
+ },
815
+ {
816
+ "internalType": "uint64",
817
+ "name": "lastCheckpointedAt",
818
+ "type": "uint64"
819
+ },
820
+ {
821
+ "internalType": "enum IEigenPodTypes.VALIDATOR_STATUS",
822
+ "name": "status",
823
+ "type": "uint8"
824
+ }
825
+ ],
826
+ "internalType": "struct IEigenPodTypes.ValidatorInfo",
827
+ "name": "",
828
+ "type": "tuple"
829
+ }
830
+ ],
831
+ "stateMutability": "view",
832
+ "type": "function"
833
+ },
834
+ {
835
+ "inputs": [
836
+ {
837
+ "internalType": "bytes",
838
+ "name": "validatorPubkey",
839
+ "type": "bytes"
840
+ }
841
+ ],
842
+ "name": "validatorPubkeyToInfo",
843
+ "outputs": [
844
+ {
845
+ "components": [
846
+ {
847
+ "internalType": "uint64",
848
+ "name": "validatorIndex",
849
+ "type": "uint64"
850
+ },
851
+ {
852
+ "internalType": "uint64",
853
+ "name": "restakedBalanceGwei",
854
+ "type": "uint64"
855
+ },
856
+ {
857
+ "internalType": "uint64",
858
+ "name": "lastCheckpointedAt",
859
+ "type": "uint64"
860
+ },
861
+ {
862
+ "internalType": "enum IEigenPodTypes.VALIDATOR_STATUS",
863
+ "name": "status",
864
+ "type": "uint8"
865
+ }
866
+ ],
867
+ "internalType": "struct IEigenPodTypes.ValidatorInfo",
868
+ "name": "",
869
+ "type": "tuple"
870
+ }
871
+ ],
872
+ "stateMutability": "view",
873
+ "type": "function"
874
+ },
875
+ {
876
+ "inputs": [
877
+ {
878
+ "internalType": "bytes",
879
+ "name": "validatorPubkey",
880
+ "type": "bytes"
881
+ }
882
+ ],
883
+ "name": "validatorStatus",
884
+ "outputs": [
885
+ {
886
+ "internalType": "enum IEigenPodTypes.VALIDATOR_STATUS",
887
+ "name": "",
888
+ "type": "uint8"
889
+ }
890
+ ],
891
+ "stateMutability": "view",
892
+ "type": "function"
893
+ },
894
+ {
895
+ "inputs": [
896
+ {
897
+ "internalType": "bytes32",
898
+ "name": "pubkeyHash",
899
+ "type": "bytes32"
900
+ }
901
+ ],
902
+ "name": "validatorStatus",
903
+ "outputs": [
904
+ {
905
+ "internalType": "enum IEigenPodTypes.VALIDATOR_STATUS",
906
+ "name": "",
907
+ "type": "uint8"
908
+ }
909
+ ],
910
+ "stateMutability": "view",
911
+ "type": "function"
912
+ },
913
+ {
914
+ "inputs": [
915
+ {
916
+ "components": [
917
+ {
918
+ "internalType": "bytes32",
919
+ "name": "balanceContainerRoot",
920
+ "type": "bytes32"
921
+ },
922
+ {
923
+ "internalType": "bytes",
924
+ "name": "proof",
925
+ "type": "bytes"
926
+ }
927
+ ],
928
+ "internalType": "struct BeaconChainProofs.BalanceContainerProof",
929
+ "name": "balanceContainerProof",
930
+ "type": "tuple"
931
+ },
932
+ {
933
+ "components": [
934
+ {
935
+ "internalType": "bytes32",
936
+ "name": "pubkeyHash",
937
+ "type": "bytes32"
938
+ },
939
+ {
940
+ "internalType": "bytes32",
941
+ "name": "balanceRoot",
942
+ "type": "bytes32"
943
+ },
944
+ {
945
+ "internalType": "bytes",
946
+ "name": "proof",
947
+ "type": "bytes"
948
+ }
949
+ ],
950
+ "internalType": "struct BeaconChainProofs.BalanceProof[]",
951
+ "name": "proofs",
952
+ "type": "tuple[]"
953
+ }
954
+ ],
955
+ "name": "verifyCheckpointProofs",
956
+ "outputs": [],
957
+ "stateMutability": "nonpayable",
958
+ "type": "function"
959
+ },
960
+ {
961
+ "inputs": [
962
+ {
963
+ "internalType": "uint64",
964
+ "name": "beaconTimestamp",
965
+ "type": "uint64"
966
+ },
967
+ {
968
+ "components": [
969
+ {
970
+ "internalType": "bytes32",
971
+ "name": "beaconStateRoot",
972
+ "type": "bytes32"
973
+ },
974
+ {
975
+ "internalType": "bytes",
976
+ "name": "proof",
977
+ "type": "bytes"
978
+ }
979
+ ],
980
+ "internalType": "struct BeaconChainProofs.StateRootProof",
981
+ "name": "stateRootProof",
982
+ "type": "tuple"
983
+ },
984
+ {
985
+ "components": [
986
+ {
987
+ "internalType": "bytes32[]",
988
+ "name": "validatorFields",
989
+ "type": "bytes32[]"
990
+ },
991
+ {
992
+ "internalType": "bytes",
993
+ "name": "proof",
994
+ "type": "bytes"
995
+ }
996
+ ],
997
+ "internalType": "struct BeaconChainProofs.ValidatorProof",
998
+ "name": "proof",
999
+ "type": "tuple"
1000
+ }
1001
+ ],
1002
+ "name": "verifyStaleBalance",
1003
+ "outputs": [],
1004
+ "stateMutability": "nonpayable",
1005
+ "type": "function"
1006
+ },
1007
+ {
1008
+ "inputs": [
1009
+ {
1010
+ "internalType": "uint64",
1011
+ "name": "beaconTimestamp",
1012
+ "type": "uint64"
1013
+ },
1014
+ {
1015
+ "components": [
1016
+ {
1017
+ "internalType": "bytes32",
1018
+ "name": "beaconStateRoot",
1019
+ "type": "bytes32"
1020
+ },
1021
+ {
1022
+ "internalType": "bytes",
1023
+ "name": "proof",
1024
+ "type": "bytes"
1025
+ }
1026
+ ],
1027
+ "internalType": "struct BeaconChainProofs.StateRootProof",
1028
+ "name": "stateRootProof",
1029
+ "type": "tuple"
1030
+ },
1031
+ {
1032
+ "internalType": "uint40[]",
1033
+ "name": "validatorIndices",
1034
+ "type": "uint40[]"
1035
+ },
1036
+ {
1037
+ "internalType": "bytes[]",
1038
+ "name": "validatorFieldsProofs",
1039
+ "type": "bytes[]"
1040
+ },
1041
+ {
1042
+ "internalType": "bytes32[][]",
1043
+ "name": "validatorFields",
1044
+ "type": "bytes32[][]"
1045
+ }
1046
+ ],
1047
+ "name": "verifyWithdrawalCredentials",
1048
+ "outputs": [],
1049
+ "stateMutability": "nonpayable",
1050
+ "type": "function"
1051
+ },
1052
+ {
1053
+ "inputs": [
1054
+ {
1055
+ "internalType": "address",
1056
+ "name": "recipient",
1057
+ "type": "address"
1058
+ },
1059
+ {
1060
+ "internalType": "uint256",
1061
+ "name": "amountWei",
1062
+ "type": "uint256"
1063
+ }
1064
+ ],
1065
+ "name": "withdrawRestakedBeaconChainETH",
1066
+ "outputs": [],
1067
+ "stateMutability": "nonpayable",
1068
+ "type": "function"
1069
+ },
1070
+ {
1071
+ "inputs": [],
1072
+ "name": "withdrawableRestakedExecutionLayerGwei",
1073
+ "outputs": [
1074
+ {
1075
+ "internalType": "uint64",
1076
+ "name": "",
1077
+ "type": "uint64"
1078
+ }
1079
+ ],
1080
+ "stateMutability": "view",
1081
+ "type": "function"
1082
+ },
1083
+ {
1084
+ "stateMutability": "payable",
1085
+ "type": "receive"
1086
+ }
1087
+ ];
1088
+ /**
1089
+ * EigenPod_json Contract Class
1090
+ *
1091
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1092
+ *
1093
+ * @example
1094
+ * ```typescript
1095
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1096
+ * import { mainnet } from 'viem/chains';
1097
+ * import { EigenPod_json } from 'EigenPod_json';
1098
+ *
1099
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1100
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1101
+ *
1102
+ * const contract = new EigenPod_json('0x...', { publicClient, walletClient });
1103
+ *
1104
+ * // Read functions
1105
+ * const result = await contract.balanceOf('0x...');
1106
+ *
1107
+ * // Write functions
1108
+ * const hash = await contract.transfer('0x...', 1000n);
1109
+ *
1110
+ * // Simulate transactions (dry-run)
1111
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
1112
+ * console.log('Gas estimate:', simulation.request.gas);
1113
+ *
1114
+ * // Watch events
1115
+ * const unwatch = contract.watch.Transfer((event) => {
1116
+ * console.log('Transfer event:', event);
1117
+ * });
1118
+ * ```
1119
+ */
1120
+ class EigenPod_json {
1121
+ constructor(address, clients) {
1122
+ this.contractAddress = address;
1123
+ this.publicClient = clients.publicClient;
1124
+ this.contract = (0, viem_1.getContract)({
1125
+ address,
1126
+ abi: exports.EigenPod_jsonAbi,
1127
+ client: {
1128
+ public: clients.publicClient,
1129
+ wallet: clients.walletClient,
1130
+ },
1131
+ });
1132
+ }
1133
+ /**
1134
+ * Get the contract address
1135
+ */
1136
+ get address() {
1137
+ return this.contractAddress;
1138
+ }
1139
+ /**
1140
+ * Get the underlying viem contract instance
1141
+ */
1142
+ getContract() {
1143
+ return this.contract;
1144
+ }
1145
+ /**
1146
+ * activeValidatorCount
1147
+ * view
1148
+ */
1149
+ async activeValidatorCount() {
1150
+ return this.contract.read.activeValidatorCount();
1151
+ }
1152
+ /**
1153
+ * checkpointBalanceExitedGwei
1154
+ * view
1155
+ */
1156
+ async checkpointBalanceExitedGwei(arg0) {
1157
+ return this.contract.read.checkpointBalanceExitedGwei([arg0]);
1158
+ }
1159
+ /**
1160
+ * currentCheckpoint
1161
+ * view
1162
+ */
1163
+ async currentCheckpoint() {
1164
+ return this.contract.read.currentCheckpoint();
1165
+ }
1166
+ /**
1167
+ * currentCheckpointTimestamp
1168
+ * view
1169
+ */
1170
+ async currentCheckpointTimestamp() {
1171
+ return this.contract.read.currentCheckpointTimestamp();
1172
+ }
1173
+ /**
1174
+ * eigenPodManager
1175
+ * view
1176
+ */
1177
+ async eigenPodManager() {
1178
+ return this.contract.read.eigenPodManager();
1179
+ }
1180
+ /**
1181
+ * ethPOS
1182
+ * view
1183
+ */
1184
+ async ethPOS() {
1185
+ return this.contract.read.ethPOS();
1186
+ }
1187
+ /**
1188
+ * getConsolidationRequestFee
1189
+ * view
1190
+ */
1191
+ async getConsolidationRequestFee() {
1192
+ return this.contract.read.getConsolidationRequestFee();
1193
+ }
1194
+ /**
1195
+ * getParentBlockRoot
1196
+ * view
1197
+ */
1198
+ async getParentBlockRoot(timestamp) {
1199
+ return this.contract.read.getParentBlockRoot([timestamp]);
1200
+ }
1201
+ /**
1202
+ * getWithdrawalRequestFee
1203
+ * view
1204
+ */
1205
+ async getWithdrawalRequestFee() {
1206
+ return this.contract.read.getWithdrawalRequestFee();
1207
+ }
1208
+ /**
1209
+ * lastCheckpointTimestamp
1210
+ * view
1211
+ */
1212
+ async lastCheckpointTimestamp() {
1213
+ return this.contract.read.lastCheckpointTimestamp();
1214
+ }
1215
+ /**
1216
+ * podOwner
1217
+ * view
1218
+ */
1219
+ async podOwner() {
1220
+ return this.contract.read.podOwner();
1221
+ }
1222
+ /**
1223
+ * proofSubmitter
1224
+ * view
1225
+ */
1226
+ async proofSubmitter() {
1227
+ return this.contract.read.proofSubmitter();
1228
+ }
1229
+ /**
1230
+ * validatorPubkeyHashToInfo
1231
+ * view
1232
+ */
1233
+ async validatorPubkeyHashToInfo(validatorPubkeyHash) {
1234
+ return this.contract.read.validatorPubkeyHashToInfo([validatorPubkeyHash]);
1235
+ }
1236
+ /**
1237
+ * validatorPubkeyToInfo
1238
+ * view
1239
+ */
1240
+ async validatorPubkeyToInfo(validatorPubkey) {
1241
+ return this.contract.read.validatorPubkeyToInfo([validatorPubkey]);
1242
+ }
1243
+ async validatorStatus(...args) {
1244
+ return this.contract.read.validatorStatus(args);
1245
+ }
1246
+ /**
1247
+ * withdrawableRestakedExecutionLayerGwei
1248
+ * view
1249
+ */
1250
+ async withdrawableRestakedExecutionLayerGwei() {
1251
+ return this.contract.read.withdrawableRestakedExecutionLayerGwei();
1252
+ }
1253
+ /**
1254
+ * initialize
1255
+ * nonpayable
1256
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1257
+ */
1258
+ async initialize(_podOwner, options) {
1259
+ if (!this.contract.write) {
1260
+ throw new Error('Wallet client is required for write operations');
1261
+ }
1262
+ return this.contract.write.initialize([_podOwner], options);
1263
+ }
1264
+ /**
1265
+ * recoverTokens
1266
+ * nonpayable
1267
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1268
+ */
1269
+ async recoverTokens(tokenList, amountsToWithdraw, recipient, options) {
1270
+ if (!this.contract.write) {
1271
+ throw new Error('Wallet client is required for write operations');
1272
+ }
1273
+ return this.contract.write.recoverTokens([tokenList, amountsToWithdraw, recipient], options);
1274
+ }
1275
+ /**
1276
+ * requestConsolidation
1277
+ * payable
1278
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1279
+ */
1280
+ async requestConsolidation(requests, options) {
1281
+ if (!this.contract.write) {
1282
+ throw new Error('Wallet client is required for write operations');
1283
+ }
1284
+ return this.contract.write.requestConsolidation([requests], options);
1285
+ }
1286
+ /**
1287
+ * requestWithdrawal
1288
+ * payable
1289
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1290
+ */
1291
+ async requestWithdrawal(requests, options) {
1292
+ if (!this.contract.write) {
1293
+ throw new Error('Wallet client is required for write operations');
1294
+ }
1295
+ return this.contract.write.requestWithdrawal([requests], options);
1296
+ }
1297
+ /**
1298
+ * setProofSubmitter
1299
+ * nonpayable
1300
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1301
+ */
1302
+ async setProofSubmitter(newProofSubmitter, options) {
1303
+ if (!this.contract.write) {
1304
+ throw new Error('Wallet client is required for write operations');
1305
+ }
1306
+ return this.contract.write.setProofSubmitter([newProofSubmitter], options);
1307
+ }
1308
+ /**
1309
+ * stake
1310
+ * payable
1311
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1312
+ */
1313
+ async stake(pubkey, signature, depositDataRoot, options) {
1314
+ if (!this.contract.write) {
1315
+ throw new Error('Wallet client is required for write operations');
1316
+ }
1317
+ return this.contract.write.stake([pubkey, signature, depositDataRoot], options);
1318
+ }
1319
+ /**
1320
+ * startCheckpoint
1321
+ * nonpayable
1322
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1323
+ */
1324
+ async startCheckpoint(revertIfNoBalance, options) {
1325
+ if (!this.contract.write) {
1326
+ throw new Error('Wallet client is required for write operations');
1327
+ }
1328
+ return this.contract.write.startCheckpoint([revertIfNoBalance], options);
1329
+ }
1330
+ /**
1331
+ * verifyCheckpointProofs
1332
+ * nonpayable
1333
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1334
+ */
1335
+ async verifyCheckpointProofs(balanceContainerProof, proofs, options) {
1336
+ if (!this.contract.write) {
1337
+ throw new Error('Wallet client is required for write operations');
1338
+ }
1339
+ return this.contract.write.verifyCheckpointProofs([balanceContainerProof, proofs], options);
1340
+ }
1341
+ /**
1342
+ * verifyStaleBalance
1343
+ * nonpayable
1344
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1345
+ */
1346
+ async verifyStaleBalance(beaconTimestamp, stateRootProof, proof, options) {
1347
+ if (!this.contract.write) {
1348
+ throw new Error('Wallet client is required for write operations');
1349
+ }
1350
+ return this.contract.write.verifyStaleBalance([beaconTimestamp, stateRootProof, proof], options);
1351
+ }
1352
+ /**
1353
+ * verifyWithdrawalCredentials
1354
+ * nonpayable
1355
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1356
+ */
1357
+ async verifyWithdrawalCredentials(beaconTimestamp, stateRootProof, validatorIndices, validatorFieldsProofs, validatorFields, options) {
1358
+ if (!this.contract.write) {
1359
+ throw new Error('Wallet client is required for write operations');
1360
+ }
1361
+ return this.contract.write.verifyWithdrawalCredentials([beaconTimestamp, stateRootProof, validatorIndices, validatorFieldsProofs, validatorFields], options);
1362
+ }
1363
+ /**
1364
+ * withdrawRestakedBeaconChainETH
1365
+ * nonpayable
1366
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1367
+ */
1368
+ async withdrawRestakedBeaconChainETH(recipient, amountWei, options) {
1369
+ if (!this.contract.write) {
1370
+ throw new Error('Wallet client is required for write operations');
1371
+ }
1372
+ return this.contract.write.withdrawRestakedBeaconChainETH([recipient, amountWei], options);
1373
+ }
1374
+ /**
1375
+ * Simulate contract write operations (dry-run without sending transaction)
1376
+ *
1377
+ * @example
1378
+ * const result = await contract.simulate.transfer('0x...', 1000n);
1379
+ * console.log('Gas estimate:', result.request.gas);
1380
+ * console.log('Would succeed:', result.result);
1381
+ */
1382
+ get simulate() {
1383
+ const contract = this.contract;
1384
+ if (!contract.simulate) {
1385
+ throw new Error('Public client is required for simulation');
1386
+ }
1387
+ return {
1388
+ /**
1389
+ * Simulate initialize
1390
+ * Returns gas estimate and result without sending transaction
1391
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1392
+ */
1393
+ async initialize(_podOwner, options) {
1394
+ return contract.simulate.initialize([_podOwner], options);
1395
+ },
1396
+ /**
1397
+ * Simulate recoverTokens
1398
+ * Returns gas estimate and result without sending transaction
1399
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1400
+ */
1401
+ async recoverTokens(tokenList, amountsToWithdraw, recipient, options) {
1402
+ return contract.simulate.recoverTokens([tokenList, amountsToWithdraw, recipient], options);
1403
+ },
1404
+ /**
1405
+ * Simulate requestConsolidation
1406
+ * Returns gas estimate and result without sending transaction
1407
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1408
+ */
1409
+ async requestConsolidation(requests, options) {
1410
+ return contract.simulate.requestConsolidation([requests], options);
1411
+ },
1412
+ /**
1413
+ * Simulate requestWithdrawal
1414
+ * Returns gas estimate and result without sending transaction
1415
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1416
+ */
1417
+ async requestWithdrawal(requests, options) {
1418
+ return contract.simulate.requestWithdrawal([requests], options);
1419
+ },
1420
+ /**
1421
+ * Simulate setProofSubmitter
1422
+ * Returns gas estimate and result without sending transaction
1423
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1424
+ */
1425
+ async setProofSubmitter(newProofSubmitter, options) {
1426
+ return contract.simulate.setProofSubmitter([newProofSubmitter], options);
1427
+ },
1428
+ /**
1429
+ * Simulate stake
1430
+ * Returns gas estimate and result without sending transaction
1431
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1432
+ */
1433
+ async stake(pubkey, signature, depositDataRoot, options) {
1434
+ return contract.simulate.stake([pubkey, signature, depositDataRoot], options);
1435
+ },
1436
+ /**
1437
+ * Simulate startCheckpoint
1438
+ * Returns gas estimate and result without sending transaction
1439
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1440
+ */
1441
+ async startCheckpoint(revertIfNoBalance, options) {
1442
+ return contract.simulate.startCheckpoint([revertIfNoBalance], options);
1443
+ },
1444
+ /**
1445
+ * Simulate verifyCheckpointProofs
1446
+ * Returns gas estimate and result without sending transaction
1447
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1448
+ */
1449
+ async verifyCheckpointProofs(balanceContainerProof, proofs, options) {
1450
+ return contract.simulate.verifyCheckpointProofs([balanceContainerProof, proofs], options);
1451
+ },
1452
+ /**
1453
+ * Simulate verifyStaleBalance
1454
+ * Returns gas estimate and result without sending transaction
1455
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1456
+ */
1457
+ async verifyStaleBalance(beaconTimestamp, stateRootProof, proof, options) {
1458
+ return contract.simulate.verifyStaleBalance([beaconTimestamp, stateRootProof, proof], options);
1459
+ },
1460
+ /**
1461
+ * Simulate verifyWithdrawalCredentials
1462
+ * Returns gas estimate and result without sending transaction
1463
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1464
+ */
1465
+ async verifyWithdrawalCredentials(beaconTimestamp, stateRootProof, validatorIndices, validatorFieldsProofs, validatorFields, options) {
1466
+ return contract.simulate.verifyWithdrawalCredentials([beaconTimestamp, stateRootProof, validatorIndices, validatorFieldsProofs, validatorFields], options);
1467
+ },
1468
+ /**
1469
+ * Simulate withdrawRestakedBeaconChainETH
1470
+ * Returns gas estimate and result without sending transaction
1471
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1472
+ */
1473
+ async withdrawRestakedBeaconChainETH(recipient, amountWei, options) {
1474
+ return contract.simulate.withdrawRestakedBeaconChainETH([recipient, amountWei], options);
1475
+ }
1476
+ };
1477
+ }
1478
+ /**
1479
+ * Watch contract events
1480
+ *
1481
+ * @example
1482
+ * // Watch all Transfer events
1483
+ * const unwatch = contract.watch.Transfer((event) => {
1484
+ * console.log('Transfer:', event);
1485
+ * });
1486
+ *
1487
+ * // Stop watching
1488
+ * unwatch();
1489
+ */
1490
+ get watch() {
1491
+ return {
1492
+ /**
1493
+ * Watch CheckpointCreated events
1494
+ * @param callback Function to call when event is emitted
1495
+ * @param filter Optional filter for indexed parameters
1496
+ * @returns Unwatch function to stop listening
1497
+ */
1498
+ CheckpointCreated: (callback, filter) => {
1499
+ return this.publicClient.watchContractEvent({
1500
+ address: this.contractAddress,
1501
+ abi: exports.EigenPod_jsonAbi,
1502
+ eventName: 'CheckpointCreated',
1503
+ args: filter,
1504
+ onLogs: (logs) => {
1505
+ logs.forEach((log) => {
1506
+ callback(log.args);
1507
+ });
1508
+ },
1509
+ });
1510
+ },
1511
+ /**
1512
+ * Watch CheckpointFinalized events
1513
+ * @param callback Function to call when event is emitted
1514
+ * @param filter Optional filter for indexed parameters
1515
+ * @returns Unwatch function to stop listening
1516
+ */
1517
+ CheckpointFinalized: (callback, filter) => {
1518
+ return this.publicClient.watchContractEvent({
1519
+ address: this.contractAddress,
1520
+ abi: exports.EigenPod_jsonAbi,
1521
+ eventName: 'CheckpointFinalized',
1522
+ args: filter,
1523
+ onLogs: (logs) => {
1524
+ logs.forEach((log) => {
1525
+ callback(log.args);
1526
+ });
1527
+ },
1528
+ });
1529
+ },
1530
+ /**
1531
+ * Watch ConsolidationRequested events
1532
+ * @param callback Function to call when event is emitted
1533
+ * @param filter Optional filter for indexed parameters
1534
+ * @returns Unwatch function to stop listening
1535
+ */
1536
+ ConsolidationRequested: (callback, filter) => {
1537
+ return this.publicClient.watchContractEvent({
1538
+ address: this.contractAddress,
1539
+ abi: exports.EigenPod_jsonAbi,
1540
+ eventName: 'ConsolidationRequested',
1541
+ args: filter,
1542
+ onLogs: (logs) => {
1543
+ logs.forEach((log) => {
1544
+ callback(log.args);
1545
+ });
1546
+ },
1547
+ });
1548
+ },
1549
+ /**
1550
+ * Watch EigenPodStaked events
1551
+ * @param callback Function to call when event is emitted
1552
+ * @param filter Optional filter for indexed parameters
1553
+ * @returns Unwatch function to stop listening
1554
+ */
1555
+ EigenPodStaked: (callback) => {
1556
+ return this.publicClient.watchContractEvent({
1557
+ address: this.contractAddress,
1558
+ abi: exports.EigenPod_jsonAbi,
1559
+ eventName: 'EigenPodStaked',
1560
+ onLogs: (logs) => {
1561
+ logs.forEach((log) => {
1562
+ callback(log.args);
1563
+ });
1564
+ },
1565
+ });
1566
+ },
1567
+ /**
1568
+ * Watch ExitRequested events
1569
+ * @param callback Function to call when event is emitted
1570
+ * @param filter Optional filter for indexed parameters
1571
+ * @returns Unwatch function to stop listening
1572
+ */
1573
+ ExitRequested: (callback, filter) => {
1574
+ return this.publicClient.watchContractEvent({
1575
+ address: this.contractAddress,
1576
+ abi: exports.EigenPod_jsonAbi,
1577
+ eventName: 'ExitRequested',
1578
+ args: filter,
1579
+ onLogs: (logs) => {
1580
+ logs.forEach((log) => {
1581
+ callback(log.args);
1582
+ });
1583
+ },
1584
+ });
1585
+ },
1586
+ /**
1587
+ * Watch Initialized events
1588
+ * @param callback Function to call when event is emitted
1589
+ * @param filter Optional filter for indexed parameters
1590
+ * @returns Unwatch function to stop listening
1591
+ */
1592
+ Initialized: (callback) => {
1593
+ return this.publicClient.watchContractEvent({
1594
+ address: this.contractAddress,
1595
+ abi: exports.EigenPod_jsonAbi,
1596
+ eventName: 'Initialized',
1597
+ onLogs: (logs) => {
1598
+ logs.forEach((log) => {
1599
+ callback(log.args);
1600
+ });
1601
+ },
1602
+ });
1603
+ },
1604
+ /**
1605
+ * Watch NonBeaconChainETHReceived events
1606
+ * @param callback Function to call when event is emitted
1607
+ * @param filter Optional filter for indexed parameters
1608
+ * @returns Unwatch function to stop listening
1609
+ */
1610
+ NonBeaconChainETHReceived: (callback) => {
1611
+ return this.publicClient.watchContractEvent({
1612
+ address: this.contractAddress,
1613
+ abi: exports.EigenPod_jsonAbi,
1614
+ eventName: 'NonBeaconChainETHReceived',
1615
+ onLogs: (logs) => {
1616
+ logs.forEach((log) => {
1617
+ callback(log.args);
1618
+ });
1619
+ },
1620
+ });
1621
+ },
1622
+ /**
1623
+ * Watch ProofSubmitterUpdated events
1624
+ * @param callback Function to call when event is emitted
1625
+ * @param filter Optional filter for indexed parameters
1626
+ * @returns Unwatch function to stop listening
1627
+ */
1628
+ ProofSubmitterUpdated: (callback) => {
1629
+ return this.publicClient.watchContractEvent({
1630
+ address: this.contractAddress,
1631
+ abi: exports.EigenPod_jsonAbi,
1632
+ eventName: 'ProofSubmitterUpdated',
1633
+ onLogs: (logs) => {
1634
+ logs.forEach((log) => {
1635
+ callback(log.args);
1636
+ });
1637
+ },
1638
+ });
1639
+ },
1640
+ /**
1641
+ * Watch RestakedBeaconChainETHWithdrawn events
1642
+ * @param callback Function to call when event is emitted
1643
+ * @param filter Optional filter for indexed parameters
1644
+ * @returns Unwatch function to stop listening
1645
+ */
1646
+ RestakedBeaconChainETHWithdrawn: (callback, filter) => {
1647
+ return this.publicClient.watchContractEvent({
1648
+ address: this.contractAddress,
1649
+ abi: exports.EigenPod_jsonAbi,
1650
+ eventName: 'RestakedBeaconChainETHWithdrawn',
1651
+ args: filter,
1652
+ onLogs: (logs) => {
1653
+ logs.forEach((log) => {
1654
+ callback(log.args);
1655
+ });
1656
+ },
1657
+ });
1658
+ },
1659
+ /**
1660
+ * Watch SwitchToCompoundingRequested events
1661
+ * @param callback Function to call when event is emitted
1662
+ * @param filter Optional filter for indexed parameters
1663
+ * @returns Unwatch function to stop listening
1664
+ */
1665
+ SwitchToCompoundingRequested: (callback, filter) => {
1666
+ return this.publicClient.watchContractEvent({
1667
+ address: this.contractAddress,
1668
+ abi: exports.EigenPod_jsonAbi,
1669
+ eventName: 'SwitchToCompoundingRequested',
1670
+ args: filter,
1671
+ onLogs: (logs) => {
1672
+ logs.forEach((log) => {
1673
+ callback(log.args);
1674
+ });
1675
+ },
1676
+ });
1677
+ },
1678
+ /**
1679
+ * Watch ValidatorBalanceUpdated events
1680
+ * @param callback Function to call when event is emitted
1681
+ * @param filter Optional filter for indexed parameters
1682
+ * @returns Unwatch function to stop listening
1683
+ */
1684
+ ValidatorBalanceUpdated: (callback) => {
1685
+ return this.publicClient.watchContractEvent({
1686
+ address: this.contractAddress,
1687
+ abi: exports.EigenPod_jsonAbi,
1688
+ eventName: 'ValidatorBalanceUpdated',
1689
+ onLogs: (logs) => {
1690
+ logs.forEach((log) => {
1691
+ callback(log.args);
1692
+ });
1693
+ },
1694
+ });
1695
+ },
1696
+ /**
1697
+ * Watch ValidatorCheckpointed events
1698
+ * @param callback Function to call when event is emitted
1699
+ * @param filter Optional filter for indexed parameters
1700
+ * @returns Unwatch function to stop listening
1701
+ */
1702
+ ValidatorCheckpointed: (callback, filter) => {
1703
+ return this.publicClient.watchContractEvent({
1704
+ address: this.contractAddress,
1705
+ abi: exports.EigenPod_jsonAbi,
1706
+ eventName: 'ValidatorCheckpointed',
1707
+ args: filter,
1708
+ onLogs: (logs) => {
1709
+ logs.forEach((log) => {
1710
+ callback(log.args);
1711
+ });
1712
+ },
1713
+ });
1714
+ },
1715
+ /**
1716
+ * Watch ValidatorRestaked events
1717
+ * @param callback Function to call when event is emitted
1718
+ * @param filter Optional filter for indexed parameters
1719
+ * @returns Unwatch function to stop listening
1720
+ */
1721
+ ValidatorRestaked: (callback) => {
1722
+ return this.publicClient.watchContractEvent({
1723
+ address: this.contractAddress,
1724
+ abi: exports.EigenPod_jsonAbi,
1725
+ eventName: 'ValidatorRestaked',
1726
+ onLogs: (logs) => {
1727
+ logs.forEach((log) => {
1728
+ callback(log.args);
1729
+ });
1730
+ },
1731
+ });
1732
+ },
1733
+ /**
1734
+ * Watch ValidatorWithdrawn events
1735
+ * @param callback Function to call when event is emitted
1736
+ * @param filter Optional filter for indexed parameters
1737
+ * @returns Unwatch function to stop listening
1738
+ */
1739
+ ValidatorWithdrawn: (callback, filter) => {
1740
+ return this.publicClient.watchContractEvent({
1741
+ address: this.contractAddress,
1742
+ abi: exports.EigenPod_jsonAbi,
1743
+ eventName: 'ValidatorWithdrawn',
1744
+ args: filter,
1745
+ onLogs: (logs) => {
1746
+ logs.forEach((log) => {
1747
+ callback(log.args);
1748
+ });
1749
+ },
1750
+ });
1751
+ },
1752
+ /**
1753
+ * Watch WithdrawalRequested events
1754
+ * @param callback Function to call when event is emitted
1755
+ * @param filter Optional filter for indexed parameters
1756
+ * @returns Unwatch function to stop listening
1757
+ */
1758
+ WithdrawalRequested: (callback, filter) => {
1759
+ return this.publicClient.watchContractEvent({
1760
+ address: this.contractAddress,
1761
+ abi: exports.EigenPod_jsonAbi,
1762
+ eventName: 'WithdrawalRequested',
1763
+ args: filter,
1764
+ onLogs: (logs) => {
1765
+ logs.forEach((log) => {
1766
+ callback(log.args);
1767
+ });
1768
+ },
1769
+ });
1770
+ }
1771
+ };
1772
+ }
1773
+ }
1774
+ exports.EigenPod_json = EigenPod_json;