feat: implement non-eip-7688 changes in alpha.12#9606
Conversation
…CR rework Two new alpha.12 electra cases fail: getConfirmedRoot diverges for a slashed large validator, and the recently-activated-validator empty-slot case hits INVALID_STATE_ROOT. Lodestar's fast-confirmation rule needs a broader rework; skip these two until then. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request updates the fast confirmation test suite to temporarily skip two failing Electra 'is_one_confirmed' test cases ('is_one_confirmed_fails_large_validator_slashed' and 'is_one_confirmed_fails_recently_activated_validator_voting_in_empty_slot') due to known issues that require a broader overhaul of the fast-confirmation rule (FCR). There are no review comments, so I have no feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
- PAYLOAD_DUE_BPS 7500 -> 5000 (consensus-specs #5414) - MIN_BUILDER_WITHDRAWABILITY_DELAY mainnet 8192 -> 64 (consensus-specs #5426) - MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD 256 -> 64 (consensus-specs #5420) - EnvelopesByRange cap uses MAX_REQUEST_PAYLOADS (consensus-specs #5383) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Aligns the builder withdrawal prefix with consensus-specs #5416 (was 0x03) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ethereum/consensus-specs#5429 --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Performance Report🚀🚀 Significant benchmark improvement detected
Full benchmark results
|
see ethereum/consensus-specs#5439 Builder deposit requests are ignored unless the withdrawal credentials start with `BUILDER_WITHDRAWAL_PREFIX`. Accepted new builders are registered with `PAYLOAD_BUILDER_VERSION`. Checks: - `pnpm exec biome check packages/state-transition/src/block/processBuilderDepositRequest.ts packages/state-transition/test/unit/block/processBuilderDepositRequest.test.ts packages/state-transition/test/unit/block/processBuilderExitRequest.test.ts` - `pnpm --filter @lodestar/state-transition check-types` > This PR was written primarily by Codex.
Enable the v1.7.0-alpha.12 consensus-spec-tests on the EIP-7688 branch. With progressive containers in place the gloas ssz_static / state-transition / fork-choice suites pass; the remaining failures are all NOT EIP-7688 related and handled elsewhere: - ALPHA12-MISC (unskip in #9606): builder-deposit / builder-exit processing and the alpha.12 constant bumps (PAYLOAD_DUE_BPS, MIN_BUILDER_WITHDRAWABILITY_DELAY, MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD) land on the follow-up alpha.12-misc branch. - FCR rework: gloas fast_confirmation suite + two is_one_confirmed cases. - cell-level DAS: fulu PartialDataColumnGroupID ssz_static. - ssz 1.6.2: consolidations-at-limit hits an @chainsafe/ssz@1.6.1 stack overflow at mainnet scale (issue #9656); clears when ssz 1.6.2 is synced via unstable. Also: - Bump spec-tests-version.json to v1.7.0-alpha.12. - Re-sync ethspecify specrefs to v1.7.0-alpha.12: drop entries for spec objects removed/renamed at alpha.12 (get_dependent_root, get_proposer_dependent_root, get_proposer_preferences_signature, is_epoch_boundary, BUILDER_REGISTRY_LIMIT, BUILDER_PENDING_WITHDRAWALS_LIMIT), source the new gloas/electra SSZ types, gloas p2p size-bound presets, and get_shuffling_dependent_root / get_signed_proposer_preferences / is_valid_indexed_attestation / is_not_epoch_boundary, and except the unimplemented heze + attestation-upgrade + slot-based gindex helpers. `ethspecify check` reports 1144 valid references. - Fix the ProgressiveTestStruct ssz_generic type: field A is ProgressiveList[byte] (a byte list, hex JSON) so it must be ProgressiveByteListType, not ProgressiveListBasicType. Fixes all phase0/ssz_generic/containers/ProgressiveTestStruct cases. Verified green: minimal 55235, mainnet 7185, general 5367, bls 90, config-sync, params-preset; ethspecify check 1144 valid. lint + check-types clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Depends on #9390