Skip to content

fix: revert anchor block PTC vote override#9264

Merged
nflaig merged 1 commit intoChainSafe:unstablefrom
lodekeeper:fix/revert-anchor-ptc-votes-master
Apr 23, 2026
Merged

fix: revert anchor block PTC vote override#9264
nflaig merged 1 commit intoChainSafe:unstablefrom
lodekeeper:fix/revert-anchor-ptc-votes-master

Conversation

@lodekeeper
Copy link
Copy Markdown
Contributor

Summary

Revert the anchor-block PTC vote all-true override added in #9188.

Upstream consensus-specs master fixed the underlying spec bug in:

specs/gloas/fork-choice.md#get_forkchoice_store on master now initializes:

payload_timeliness_vote={},
payload_data_availability_vote={},

So Lodestar should stop force-seeding the anchor block's PTC votes to all-true in ProtoArray.initialize() — anchor initialization returns to the default onBlock() behavior.

This PR removes the temporary 8-line override.

Tag vs. master

`v1.7.0-alpha.5` (current spec-test target) still carries the old anchor all-true seed — #5135 landed on spec master after the alpha.5 cut. Aligning Lodestar with master now means:

  • the fix is in place for the next spec tag (alpha.6+) picking up Release v1.4.3 #5135
  • fork-choice spec tests generated from alpha.5 may flag the anchor-seed boundary until spec-tests-version.json bumps to that next tag

Per direction from @nflaig to follow latest master of the spec.

Context

AI assistance

Drafted and validated with AI assistance.

Revert the anchor-block PTC vote all-true override added in ChainSafe#9188.

Upstream `consensus-specs` `master` fixed the underlying spec bug in:
- c7a0a8527 — "Remove incorrect anchor seed for payload votes (ChainSafe#5135)"

`specs/gloas/fork-choice.md#get_forkchoice_store` on `master` now
initializes:

    payload_timeliness_vote={}
    payload_data_availability_vote={}

per https://github.com/ethereum/consensus-specs/blob/master/specs/gloas/fork-choice.md#modified-get_forkchoice_store

So Lodestar should stop force-seeding the anchor block's PTC votes
to all-true in `ProtoArray.initialize()` and return anchor
initialization to the default `onBlock()` behavior.

Note: `v1.7.0-alpha.5` (the current spec-test target) still carries
the old anchor all-true seed, because ChainSafe#5135 landed on spec master
after the alpha.5 cut. Aligning with master now means a future spec
tag (alpha.6+) picking up ChainSafe#5135 will keep working; local spec test
coverage for the anchor boundary may need adjustment until that tag
lands and `spec-tests-version.json` is bumped.

🤖 Generated with AI assistance
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request removes the logic that explicitly sets the payload timeliness committee (PTC) votes to all-true for the anchor block in the ProtoArray class. I have no feedback to provide.

@nflaig nflaig enabled auto-merge (squash) April 23, 2026 17:40
@nflaig nflaig merged commit b741495 into ChainSafe:unstable Apr 23, 2026
19 checks passed
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 52.53%. Comparing base (6b7eebb) to head (bb1be2e).
⚠️ Report is 2 commits behind head on unstable.

Additional details and impacted files
@@            Coverage Diff            @@
##           unstable    #9264   +/-   ##
=========================================
  Coverage     52.53%   52.53%           
=========================================
  Files           848      848           
  Lines         61311    61311           
  Branches       4510     4510           
=========================================
  Hits          32207    32207           
  Misses        29039    29039           
  Partials         65       65           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Revert PR #9188 (anchor block PTC votes to all-true) once consensus-specs gloas get_forkchoice_store bug is fixed

2 participants