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