Skip to content

Implement eth/v1/beacon/execution_payload_envelope#10537

Open
akronim26 wants to merge 16 commits intoConsensys:masterfrom
akronim26:api/execution-payload-envelope
Open

Implement eth/v1/beacon/execution_payload_envelope#10537
akronim26 wants to merge 16 commits intoConsensys:masterfrom
akronim26:api/execution-payload-envelope

Conversation

@akronim26
Copy link
Copy Markdown
Contributor

@akronim26 akronim26 commented Mar 26, 2026

PR Description

This PR implements eth/v1/beacon/execution_payload_envelope endpoint. It uses overloading of publishSignedExecutionPayload function to support the query param block_validation.

Fixed Issue(s)

Fixes #10416

Documentation

  • I thought about documentation and added the doc-change-required label to this PR if updates are required.

Changelog

  • I thought about adding a changelog entry, and added one if I deemed necessary.

Note

Medium Risk
Adds a new validator-required REST endpoint and threads broadcast_validation through multiple layers of execution-payload publishing/validation, changing behavior and signatures across validator, statetransition, and remote-client code paths.

Overview
Implements POST /eth/v1/beacon/execution_payload_envelope (Gloas) to broadcast a SignedExecutionPayloadEnvelope, including parsing/validating the broadcast_validation query param and mapping results to 200/202/400.

Threads optional BroadcastValidationLevel through ValidatorApiHandlerExecutionPayloadPublisherExecutionPayloadManager/ExecutionPayloadGossipValidator, including a new short-circuit path (e.g., NOT_REQUIRED) and updated “seen” handling for GOSSIP.

Updates the remote validator client to call the new endpoint (method enum + typedef request), expands PublishSignedExecutionPayloadResult with notImported, and refreshes tests/spec JSON fixtures accordingly.

Reviewed by Cursor Bugbot for commit 78faa33. Bugbot is set up for automated code reviews on this repo. Configure here.

SafeFuture<InternalValidationResult> validateAndImportExecutionPayload(
SignedExecutionPayloadEnvelope signedExecutionPayload, Optional<UInt64> arrivalTimestamp);
SignedExecutionPayloadEnvelope signedExecutionPayload,
Optional<UInt64> arrivalTimestamp,

Check notice

Code scanning / CodeQL

Useless parameter Note

The parameter 'arrivalTimestamp' is never used.
@akronim26 akronim26 marked this pull request as draft March 27, 2026 09:08
@akronim26 akronim26 marked this pull request as ready for review March 27, 2026 10:21
@akronim26
Copy link
Copy Markdown
Contributor Author

@rolfyone, please review whenever you are free

Copy link
Copy Markdown
Contributor

@rolfyone rolfyone left a comment

Choose a reason for hiding this comment

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

looks pretty good! Some mostly minor things. Hopefully soon the other PR is merged (beacon-api) with no other changes required...

@akronim26 akronim26 requested a review from rolfyone April 1, 2026 09:37
@akronim26
Copy link
Copy Markdown
Contributor Author

@rolfyone, please take a look

@rolfyone rolfyone requested a review from a team as a code owner April 19, 2026 22:40
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Reviewed by Cursor Bugbot for commit 78faa33. Configure here.

@rolfyone
Copy link
Copy Markdown
Contributor

i've updated the PR with current master etc, sorry there's been a bunch on.

  • looks like this PR has broadcast_validation which i can't see in the api? is that related to a PR on beacon-apis or something?
  • we should add validator required tag to endpoint
  • spec has no 202, so ideally we shouldn't be using 202, or we should be updating beacon-api if its needed.

There's some cursorbot things I haven't fully digested but potentially it might have some valid feedback here too...

@akronim26
Copy link
Copy Markdown
Contributor Author

Okay @rolfyone, ig there's some confusion: I am following this file as this is related to POST execution_payload_envelope and maybe you are following this. Correct me if I am wrong thou

@rolfyone
Copy link
Copy Markdown
Contributor

rolfyone commented Apr 21, 2026

ah ok - so yeh its in an open PR, and I was looking at the committed version thats published on beacon-apis. super confusing. will try to get the existing PR progressed so its clearer, sorry for the confusion...
may take a few days, travelling sorry :/

for reference, was looking at https://ethereum.github.io/beacon-APIs/?urls.primaryName=dev#/ValidatorRequiredApi/submitPayloadAttestationMessages when i reviewed @akronim26

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[beacon-api] POST /eth/v1/beacon/execution_payload_envelope added

3 participants