key proposer preferences by slot and dependent root - #11242
Open
mehdi-aouadi wants to merge 6 commits into
Open
Conversation
tbenr
previously approved these changes
Sep 4, 2026
tbenr
left a comment
Contributor
There was a problem hiding this comment.
we probably need to reorder the checks so that cheaper checks are done before the shuffling
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 130b2a5. Configure here.
tbenr
approved these changes
Sep 10, 2026
tbenr
left a comment
Contributor
There was a problem hiding this comment.
LGTM. I'm going to open an optional followup issue
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.

PR Description
Order proposer preferences by slot and dependant root
Fixed Issue(s)
fixes #11236
Documentation
doc-change-requiredlabel to this PR if updates are required.Changelog
Note
Medium Risk
Changes Gloas EPBS gossip validation and EL payload attribute gas-limit selection; incorrect dependent-root matching could reject valid bids or apply wrong proposer settings.
Overview
Proposer preferences are now stored and retrieved by (proposal slot, dependent root) instead of slot alone, so multiple preference messages for the same slot on different forks no longer overwrite each other.
ProposerPreferencesManagergainsgetProposerPreferences(slot, dependentRoot)andgetProposerPreferencesForSlot(slot); accepted preferences are nested maps keyed by slot then dependent root.Shuffling dependent root lookup is centralized in
ShufflingDependentRootUtiland wired throughGossipValidationHelper,ForkChoice, andProposersDataManager. Payload building uses the head block’s shuffling dependent root when resolving target gas limit from preferences.Execution payload bid gossip validation defers preference checks until parent beacon state is available, then resolves the dependent root from the bid’s parent and loads the matching preferences. Bid validation can save for future when the shuffling dependent root is missing. Proposer preferences gossip deduplication keys are aligned to
(proposal_slot, dependent_root).Reference tests and unit tests are updated for the new API and behaviors.
Reviewed by Cursor Bugbot for commit d35a4b3. Bugbot is set up for automated code reviews on this repo. Configure here.