Implement eth/v1/beacon/execution_payload_envelope#10537
Open
akronim26 wants to merge 15 commits intoConsensys:masterfrom
Open
Implement eth/v1/beacon/execution_payload_envelope#10537akronim26 wants to merge 15 commits intoConsensys:masterfrom
eth/v1/beacon/execution_payload_envelope#10537akronim26 wants to merge 15 commits intoConsensys:masterfrom
Conversation
...ech/pegasys/teku/validator/remote/typedef/handlers/PublishSignedExecutionPayloadRequest.java
Show resolved
Hide resolved
.../main/java/tech/pegasys/teku/statetransition/validation/ExecutionPayloadGossipValidator.java
Outdated
Show resolved
Hide resolved
| SafeFuture<InternalValidationResult> validateAndImportExecutionPayload( | ||
| SignedExecutionPayloadEnvelope signedExecutionPayload, Optional<UInt64> arrivalTimestamp); | ||
| SignedExecutionPayloadEnvelope signedExecutionPayload, | ||
| Optional<UInt64> arrivalTimestamp, |
Check notice
Code scanning / CodeQL
Useless parameter Note
.../main/java/tech/pegasys/teku/statetransition/validation/ExecutionPayloadGossipValidator.java
Outdated
Show resolved
Hide resolved
Contributor
Author
|
@rolfyone, please review whenever you are free |
rolfyone
reviewed
Mar 31, 2026
Contributor
rolfyone
left a comment
There was a problem hiding this comment.
looks pretty good! Some mostly minor things. Hopefully soon the other PR is merged (beacon-api) with no other changes required...
...in/java/tech/pegasys/teku/beaconrestapi/handlers/v1/beacon/PostExecutionPayloadEnvelope.java
Outdated
Show resolved
Hide resolved
...n/java/tech/pegasys/teku/validator/coordinator/publisher/ExecutionPayloadPublisherGloas.java
Outdated
Show resolved
Hide resolved
...in/java/tech/pegasys/teku/beaconrestapi/handlers/v1/beacon/PostExecutionPayloadEnvelope.java
Outdated
Show resolved
Hide resolved
.../main/java/tech/pegasys/teku/statetransition/validation/ExecutionPayloadGossipValidator.java
Show resolved
Hide resolved
...n/java/tech/pegasys/teku/validator/coordinator/publisher/ExecutionPayloadPublisherGloas.java
Show resolved
Hide resolved
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

PR Description
This PR implements
eth/v1/beacon/execution_payload_envelopeendpoint. It uses overloading ofpublishSignedExecutionPayloadfunction to support the query paramblock_validation.Fixed Issue(s)
Fixes #10416
Documentation
doc-change-requiredlabel to this PR if updates are required.Changelog
Note
Medium Risk
Touches the publish/validation pipeline for execution payload envelopes and changes multiple public interfaces, so incorrect propagation of
broadcast_validationcould alter validation/broadcast behavior. Scope is contained to Gloas execution payload envelope publishing and is covered by updated unit/integration tests.Overview
Adds new REST endpoint
POST /eth/v1/beacon/execution_payload_envelope(Gloas-only) to submit aSignedExecutionPayloadEnvelope, including support for thebroadcast_validationquery param and response mapping (200success,202published-but-not-imported,400rejected/invalid param).Plumbs
Optional<BroadcastValidationLevel>throughValidatorApiChannel/ExecutionPayloadPublisher/ExecutionPayloadManagerintoExecutionPayloadGossipValidator, including a fast-path to skip validation whenNOT_REQUIREDis requested and updated “already seen” handling forGOSSIP.Extends remote validator support by adding a new
ValidatorApiMethodroute and OkHttp typedef request to call the new endpoint with the consensus version header, and introducesPublishSignedExecutionPayloadResult.notImportedto represent accepted-but-not-integrated outcomes; updates affected tests and API spec fixtures accordingly.Written by Cursor Bugbot for commit 19f30f6. This will update automatically on new commits. Configure here.