Skip to content

Add inclusion list publishing endpoint to the Beacon API - #10174

Merged
mergify[bot] merged 30 commits into
sigp:unstablefrom
conache:focil-il-publishing-endpoint
Oct 28, 2026
Merged

mergify[bot] merged 30 commits into
sigp:unstablefrom
conache:focil-il-publishing-endpoint

Conversation

@conache

@conache conache commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

Issue Addressed

This PR wires up the inclusion list publishing endpoint on the Beacon API side, which the validator client uses to publish signed inclusion lists (per spec).

Endpoint: POST /eth/v1/validator/inclusion_list per beacon-api spec.

Proposed Changes

  • Add the POST validator/inclusion_list endpoint (JSON and SSZ variants) and the corresponding BeaconNodeHttpClient methods
  • The endpoint rejects while syncing (503), validates the Eth-Consensus-Version header, and rejects inclusion lists for pre-Heze slots (400)
  • On successful verification, the inclusion list is imported into the inclusion list store and only published when the store reports it as the first or second valid list from the validator (New or Equivocating). Therefore, a re-posted or third list isn't published

@eserilev eserilev mentioned this pull request Oct 19, 2026
@conache
conache requested a review from macladson as a code owner October 22, 2026 11:44
.boxed()
}

fn ensure_heze_consensus_version(fork_name: ForkName) -> Result<(), Rejection> {

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.

Nit: can we rename to ensure_post_heze_consensus_version just so its a little clearer

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.

Fixed in ae931c0

@conache
conache requested a review from eserilev October 27, 2026 15:36

@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

@eserilev eserilev added the ready-for-merge This PR is ready to merge. label Oct 28, 2026
@mergify mergify Bot added the queued label Oct 28, 2026
@mergify

mergify Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

✅ Merged into unstable as b687298 at 21:26 UTC

32 min in the queue, 29 min of it CI.

So far

Merge conditions: 3 of 3 met

This pull request

Condition Required by
✅ github-review-approved GitHub branch protection

The batch, tested on draft #10489

Condition
✅ check-success=local-testnet-success
✅ check-success=test-suite-success

Times in UTC · dashboard · how the merge queue works

@mergify
mergify Bot merged commit b687298 into sigp:unstable Oct 28, 2026
41 checks passed
@mergify mergify Bot removed the queued label Oct 28, 2026
Aidas-dev pushed a commit to Aidas-dev/lighthouse that referenced this pull request Oct 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

focil Fork choice enforced inclusion lists heze HTTP-API ready-for-merge This PR is ready to merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants