Skip to content

fixing builder preference push frequency - #17386

Open
james-prysm wants to merge 13 commits into
developfrom
builder-preferences-timing
Open

fixing builder preference push frequency#17386
james-prysm wants to merge 13 commits into
developfrom
builder-preferences-timing

Conversation

@james-prysm

@james-prysm james-prysm commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

What type of PR is this?

Bug fix

What does this PR do? Why is it needed?

due to an old design builder preferences were submitting once per slot, but this changes with ethereum/beacon-APIs#630

  • Validators MAY submit in the epoch prior to proposing (from state.proposer_lookahead), so
    builders hold the preferences before the bid request arrives.

My interpretation of this is that they can be sent alongside proposer preferences and act similarly timing wise as it also is sent in the prior epoch before the epoch where the validator is proposing. In this design because it still follows that I am submitting half way into the epoch just like proposer preferences

I've refactored how the code is written to improve readability for pre and post gloas preferences
Some changes also introduced to make builder preferences match proposer preferences for dedupes and reconnections.

Note: this pr does not solve an existing issue with post gloas preferences around the interactions of dedupes and reconnections, that will be addressed in a future pr

Which issue(s) does this PR fix?

Fixes #

Other notes for review

Acknowledgements

  • I have read CONTRIBUTING.md.
  • I have included a uniquely named changelog fragment file.
  • I have added a description with sufficient context for reviewers to understand this PR.
  • I have tested that my changes work as expected and I added a testing plan to the PR description (if applicable).

@james-prysm
james-prysm marked this pull request as ready for review August 20, 2026 15:28
Comment thread validator/client/validator.go Outdated
v.pushPreferences(ctx, km, slot, connGen, forceFullPush)
return nil
}
return v.pushPreGloasSettings(ctx, km, filteredKeys, slot, connGen, forceFullPush)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Seems like filteredKeys is only needed for pre-Gloas flow. Can we put the fetching logic for filteredKeys inside pushPreGloasSettings?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

it also updates status, it's needed for both

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

it also updates status, it's needed for both

Could you clarify this? If currentEpoch >= params.BeaconConfig().GloasForkEpoch, filteredKeys is not used anymore, as it is only consumed for pre-Gloas path.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

my bad i read through it too quickly i thought it was around the function,

refactored here 445ef83

Comment thread validator/client/slot_reservations.go Outdated
Comment thread validator/client/validator.go
Comment thread validator/client/validator.go
Comment thread validator/client/validator.go
@james-prysm
james-prysm requested a review from syjn99 August 24, 2026 16:28
syjn99
syjn99 previously approved these changes Aug 26, 2026
@james-prysm
james-prysm requested a review from syjn99 August 26, 2026 14:11
@james-prysm
james-prysm enabled auto-merge August 26, 2026 14:58
@james-prysm
james-prysm added this pull request to the merge queue Aug 26, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 26, 2026
@james-prysm
james-prysm enabled auto-merge August 26, 2026 18:39
@james-prysm
james-prysm added this pull request to the merge queue Aug 27, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Aug 27, 2026
@james-prysm
james-prysm enabled auto-merge August 27, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Unassigned

Development

Successfully merging this pull request may close these issues.

2 participants