Releases: Layr-Labs/eigenpod-proofs-generation
v1.6.0
Overview
Ethereum Testnets and L2s are gearing up for the Fusaka hard fork. This brings some changes to the consensus layer that require your action in order to complete proofs.
To submit Fusaka-compatible checkpoint proofs, your EigenPod will need to use version v1.6.0 of the EigenPod Proof Generation CLI. This version is backwards compatible with previous (Deneb) proofs, so it is okay to upgrade your CLI prior to the Fusaka hard fork.
FAQ
- Is this a breaking change?
- No, all interfaces will remain the same. The latest proof-generation release will support pre- and post-Fusaka proof generation
- What is the release schedule?
- A new version of the proof generation CLI will be cut prior to Fusaka hard fork
- There are no on-chain upgrades required to EigenPods
- Is the proof generation CLI backwards compatible?
- Yes
- Can I upgrade my proof generation library before the hard fork?
- Yes
What's Changed
Full Changelog: v1.5.2...v1.6.0
v1.5.2
v1.5.1
What's Changed
- chore: update version matrix by @ypatil12 in #179
- feat: bump go mod versions and trim leading 0x on private keys by @wadealexc in #181
Full Changelog: v1.5.0...v1.5.1
v1.5.0
What's Changed
- feat: support moocow by @wadealexc in #177
Release Notes
Adds support for upcoming v1.6.0 core contract release, allowing EigenPods to request consolidations and withdrawals.
See EigenPod notes, docs, etc in the relevant PR: Layr-Labs/eigenlayer-contracts#1375
New commands and usage examples follow.
Notes on Safety/Predeploy Fees
Quick note on batching. One of the main things we want to avoid with the CLI is footguns due to the predeploy's exponential fee increase. For example, if someone submits a ton of consolidations at the right time, my predeploy fee might suddenly be much higher than expected. The CLI needs to guarantee the user an upper bound on the predeploy fee. For this reason:
- "Consent requests" before transactions cannot be turned off with the
--no-prompt
flag - Requests can be batched into multiple transactions, just like checkpoint/credential proof submission. However unlike checkpoint/credential proofs, we re-request consent with a freshly-calculated fee for each chunk in the batch. This ensures that if the fee spikes between transactions, the user is aware.
- There is a
--fee-overestimate-factor
flag for each of the new commands. This is "1.5" by default, which will have the user send 1.5X the currently-measured predeploy fee when calling the contract. The user can tweak this if they want more/less wiggle room.
Required Flags
Outside of arguments required for specific commands, all new commands require the following flags:
-p podAddress
-b beaconNodeRPC
-e execNodeRPC
--sender senderPrivateKey (must use to actually call EP methods)
Consolidate - Switch
Pass in a list of validator indices. This will initiate switch requests to change each validator's withdrawal prefix from 0x01 to 0x02. In order to be a consolidation target, a validator must have 0x02 credentials.
./cli consolidate switch --validators 425303,123444,555333
Consolidate - Source to Target
Pass in a target index and a list of source indices. This will initiate consolidations from each source to the specified target.
./cli consolidate source-to-target --target 425303 --sources 123444,555333
Request Withdrawal - Full Exit
Pass in a list of validator indices. This will initiate full exits from the beacon chain.
./cli request-withdrawal full-exit --validators 425303,123444,555333
Request Withdrawal - Partial
Pass in a list of validator indices and an equally-sized list of amounts in gwei. This will initiate partial withdrawals from the beacon chain. Note that this method will NOT allow amountGwei == 0
, as that is a full exit. We want to be extra sure that CLI users are aware if they are initiating a full exit. Also note that in order to successfully process a partial withdrawal via this method, the beacon chain requires the validator to have 0x02 credentials. 0x01 validators can only full-exit.
./cli request-withdrawal partial --validators 425303,123444,555333 --amounts 1000000000,2000000000,3000000000
Full Changelog: 1.4.0...v1.5.0
1.4.0
1.3.0
1.2.0
1.0.1
1.0.0
Slashing Preprod Release
- This is the 1.0.0 release of the EigenPod CLI, which is compatible with the preprod EigenLayer environment only. (as of 12/18 6:25est)
- I'll soon update this to be compatible with testnet when slashing goes live.
- For operators and others: do not upgrade until testnet goes live. Thanks.
Changelog:
- You can now queue withdrawals, view outstanding withdrawals, and complete any ready-to-go withdrawals regarding the Beacon ETH Strategy directly from the CLI. See below.
- Updated find-stale-pods and status commands to be compatible with slashing.
New Commands For Withdrawals
-
./cli queue-withdrawal --sender <pk> [--amountWei <amount to withdraw>] --podAddress <pod> --execNode $NODE_ETH --beaconNode $NODE_BEACON [--gas | -g]
usage: Queues a full withdrawal of any shares you may have in the native ETH strategy. Optionally estimate gas with -g. If amountWei is set, the withdrawal will be at-most amountWei in size. -
./cli complete-all-withdrawals --sender --podAddress --execNode $NODE_ETH --beaconNode $NODE_BEACON
usage: Completes all withdrawals for any shares you may have in the native ETH strategy. Optionally estimate gas with -g. -
./cli show-withdrawals --podAddress --execNode $NODE_ETH --beaconNode $NODE_BEACON
usage: Lists all withdrawals associated with the pod's owner. (regardless of strategy).
Thanks,
Justin