for CL
Features
- Delegate Staking
- Implements delegate staking functionality.
- Fixes a stale require(rewardsAmount <= $.rewards) in _processWithdrawal() that unconditionally reverted undelegate() when small rewards lingered below the auto-compound threshold.
- Includes regression tests for restaking & finalize_block vulnerabilities, and contract-level fixes.
🐛 Bug Fixes
- Retry startup ForkchoiceUpdate to survive late-joining EL/CL sync race
- When producing fast blocks (e.g., 0.5s/block), CL blocksync from a peer can finish before the local EL's devp2p sync catches up, causing the first FCU at startup to reference a block reth
hasn't received yet — resulting in a transient -32603 Server error and a CometBFT panic. - Fix: retry the startup FCU up to startupFCUMaxAttempts times with startupFCURetryDelay between attempts (default 60 attempts × 500ms = 30s total). Steady-state FCUs are unaffected.
- When producing fast blocks (e.g., 0.5s/block), CL blocksync from a peer can finish before the local EL's devp2p sync catches up, causing the first FCU at startup to reference a block reth
⚙️ Improvements
-
Configurable rollback command parameters
- Allows configuration of parameters used during execution of the rollback command.
-
Bump CometBFT version
- Upgrades the CometBFT dependency, with related test fixes.
for EL(reth):
Features
Double-Sign Slashing
- Implements double-sign slashing support from upstream PRs.
Bug Fixes
- Set staking activation time — correctly configure the staking activation fork time.
- Validate header extra data without genesis — header extra data validation no longer depends on genesis data.
Chores
- Update mainnet minimum gas limit fork time to the latest schedule.