Validate a bid coming from the Builder API (Gloas) - #11260
Validate a bid coming from the Builder API (Gloas)#11260StefanBratanov wants to merge 4 commits into
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.
❌ 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 0f04cb1. Configure here.
|
reviewed this PR myself and it looked alright to me, but ran a sanity check on claude and it came back with a few things: I was keen to collab on this PR or a next one if you don't mind |
|
@gfukushima feel free to push to this PR with the changes suggested, I wouldn't work on it if you want? |

PR Description
Implements the rules as per https://github.com/ethereum/builder-specs/blob/main/specs/gloas/validator.md#validating-a-signedexecutionpayloadbid and filters out any bids which fail validation. (warn message is logged in this case)
Fixed Issue(s)
fixes #11191
Documentation
doc-change-requiredlabel to this PR if updates are required.Changelog
Note
Medium Risk
Changes which builder bids are accepted for block production and tightens BLS verification paths for execution payload bids; incorrect validation could drop valid bids or accept invalid ones, but scope is Gloas builder flow rather than core consensus.
Overview
Adds Gloas Builder API bid validation so
SignedExecutionPayloadBidresponses from staked builders are checked against the builder validator spec before they enter block production. A newBuilderBidValidatorenforces active builder, slot/parent hash and root,prev_randao, optional proposer fee recipient and gas-limit compatibility (reusing publicExecutionPayloadBidGossipValidator.isGasLimitTargetCompatible), collateral coverage, and BLS signature via the spec-configured verifier.BuilderBidFetcherfilters failed bids (warn on validation errors) and skips fetch when no builders are configured.Related fixes: Gloas block processing and
OperationSignatureVerifiernow usegetBLSSignatureVerifier()instead ofBLSSignatureVerifier.SIMPLE; builder API bids also pass the configured min bid filter inExecutionPayloadBidSelector. Wired inBeaconChainControllerwith unit tests for validator rules and fetch filtering.Reviewed by Cursor Bugbot for commit 83d83ac. Bugbot is set up for automated code reviews on this repo. Configure here.