Skip to content

Implement Gloas builder state endpoint - #9682

Open
jimmygchen wants to merge 4 commits into
sigp:unstablefrom
jimmygchen:feat-gloas-builder-state-endpoint
Open

Implement Gloas builder state endpoint#9682
jimmygchen wants to merge 4 commits into
sigp:unstablefrom
jimmygchen:feat-gloas-builder-state-endpoint

Conversation

@jimmygchen

Copy link
Copy Markdown
Member

Description

Implements the standard Gloas POST /eth/v1/beacon/states/{state_id}/builders endpoint from ethereum/beacon-APIs#614.

The endpoint follows the existing validator-state API patterns for state loading, ID and status filtering, response metadata, and error handling. Requests without a body or with empty filters return all builders, while pre-Gloas states return 400.

Additional Info

Builder-state requests use the P1 API queue, including requests for head, because listing the builder registry is not required for validator duties.

@jimmygchen
jimmygchen marked this pull request as ready for review July 23, 2026 14:06
@jimmygchen jimmygchen added the ready-for-review The code is ready for review label Jul 24, 2026

@chong-he chong-he left a comment

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.

Looks pretty good, just a comment below not sure if it is intentional or not

Comment thread common/eth2/src/types.rs
Comment thread beacon_node/http_api/src/builders.rs Outdated
@chong-he chong-he added waiting-on-author The reviewer has suggested changes and awaits thier implementation. and removed ready-for-review The code is ready for review labels Jul 29, 2026
Co-authored-by: chonghe <44791194+chong-he@users.noreply.github.com>
@jimmygchen jimmygchen added ready-for-review The code is ready for review and removed waiting-on-author The reviewer has suggested changes and awaits thier implementation. labels Jul 29, 2026
@mergify

mergify Bot commented Jul 29, 2026

Copy link
Copy Markdown

Some required checks have failed. Could you please take a look @jimmygchen? 🙏

@mergify mergify Bot added waiting-on-author The reviewer has suggested changes and awaits thier implementation. and removed ready-for-review The code is ready for review labels Jul 29, 2026

@chong-he chong-he left a comment

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.

Looks good to me

@mergify

mergify Bot commented Jul 29, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@mergify mergify Bot added ready-for-review The code is ready for review and removed waiting-on-author The reviewer has suggested changes and awaits thier implementation. labels Jul 29, 2026

@eserilev eserilev left a comment

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.

LGTM

claude says theres maybe a chance to extend test coverage a bit:

  1. The truly body-less request path is never exercised — the Rust client always serializes at least {}, so json_no_body's empty-bytes branch (the spec's required: false body) has no coverage here. A raw reqwest POST without a body would cover it.
  2. No status-only filter test (ids: None, statuses: Some([...])) — the code path is symmetric so risk is low, but it's one line to add.
  3. No malformed-id test (e.g. "0xzz" → 400), which would pin down the deserialize-rejection behavior of deny_unknown_fields + BuilderId parsing.

dont think its super important though

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

Labels

gloas HTTP-API ready-for-review The code is ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants