Limit should_build_on_full checks to the previous slot - #5309
Merged
Conversation
should_build_on_full data availability check to previous slot
should_build_on_full data availability check to previous slotshould_build_on_full checks to the previous slot
potuz
approved these changes
May 29, 2026
potuz
left a comment
Contributor
There was a problem hiding this comment.
Looks good to me, thanks!
I'll let others weigh in on verbosity of the comments (I tend to like less comments and just let the code speak)
Member
Author
we can remove any comments, no strong opinion from my side |
jtraglia
approved these changes
May 29, 2026
jtraglia
left a comment
Member
There was a problem hiding this comment.
LGTM, and I like the extra comment. I think we should keep it.
Member
|
Let's only merge this after other clients have time to review/approve. |
jihoonsong
approved these changes
May 29, 2026
terencechain
approved these changes
May 30, 2026
This was referenced May 30, 2026
wemeetagain
pushed a commit
to ChainSafe/lodestar
that referenced
this pull request
May 31, 2026
see ethereum/consensus-specs#5309 and related issue #9415
michaelsproul
approved these changes
Jun 1, 2026
michaelsproul
left a comment
Contributor
There was a problem hiding this comment.
Looks good to me, I think this change is also compatible with the changes I had in mind for fixing the get_proposer_head spec, see comment thread starting from:
twoeths
approved these changes
Jun 1, 2026
jtraglia
approved these changes
Jun 1, 2026
nflaig
added a commit
to potuz/consensus-specs
that referenced
this pull request
Jun 1, 2026
15 tasks
2 tasks
4 tasks
mergify Bot
pushed a commit
to sigp/lighthouse
that referenced
this pull request
Jun 15, 2026
Changes implemented Ensure bids are for a higher slot than their parent (ethereum/consensus-specs#5302) Ignore PTC attestations for empty assigned slots (ethereum/consensus-specs#5281) Limit should_build_on_full checks to the previous slot (ethereum/consensus-specs#5309) Apply proposer boost if dependent roots match (ethereum/consensus-specs#5306) Exclude slashed validators from proposing (EIP-8045) (ethereum/consensus-specs#5115) Force the proposer to reorg late payloads (ethereum/consensus-specs#5210) Remove support for old deposit mechanism in Fulu (ethereum/consensus-specs#4704) Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu> Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com> Co-Authored-By: Eitan Seri-Levi <eserilev@gmail.com> Co-Authored-By: Michael Sproul <michael@sigmaprime.io> Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
should_build_on_fullruns the data availability check against the proposer's head regardless of the head's slot, unlikeget_payload_status_tiebreakerwhich only decides between the empty and full variant for a block from the previous slot.For a head from an earlier slot the variant has already been resolved by weight in
get_head, so re-running the (by then stale) data availability vote can force the proposer onto the empty variant, reorging a full head the network has already accepted by weight. In such a case, the proposer won't even accept its own block as head.Closes #5307