-
Notifications
You must be signed in to change notification settings - Fork 350
Add ExecutionPayloadManager
and implement ExecutionPayloadPublisher
#10017
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ExecutionPayloadManager
and implement ExecutionPayloadPublisher
#10017
Conversation
...rc/main/java/tech/pegasys/teku/statetransition/execution/DefaultExecutionPayloadManager.java
Dismissed
Show dismissed
Hide dismissed
/** Import an execution payload to the store. */ | ||
public SafeFuture<ExecutionPayloadImportResult> onExecutionPayload( | ||
final SignedExecutionPayloadEnvelope signedEnvelope, | ||
final ExecutionLayerChannel executionLayer) { |
Check notice
Code scanning / CodeQL
Useless parameter Note
|
||
// TODO-GLOAS: https://github.com/Consensys/teku/issues/9960 | ||
public SafeFuture<InternalValidationResult> validate( | ||
final SignedExecutionPayloadEnvelope signedEnvelope) { |
Check notice
Code scanning / CodeQL
Useless parameter Note
87518ee
to
8be297c
Compare
8be297c
to
3916f54
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
...n/java/tech/pegasys/teku/validator/coordinator/publisher/ExecutionPayloadPublisherGloas.java
Outdated
Show resolved
Hide resolved
// https://github.com/Consensys/teku/issues/9878 | ||
case REJECT, SAVE_FOR_FUTURE, IGNORE -> {} | ||
} | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should terminate with a finish
here and remove @SuppressWarnings("FutureReturnValueIgnored")
(applies to BlockManager too)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but yeah, that duplicates the noise in case of failing future...
PR Description
ExecutionPayloadManager
which is responsible as a delegator for validating and importing an execution payloadonExecutionPayload
handler in ForkChoice which is unimplementedExecutionPayloadGossipChannel
ExecutionPayloadPublisher
which is pretty basic. The interfaces and return types can be all changed once we get deeper into the implementation.ExecutionPayloadimportResult
similar toBlockResult
GossipForkManager.publishDataColumnSidecar
Fixed Issue(s)
related to #10008
Documentation
doc-change-required
label to this PR if updates are required.Changelog
Note
Adds ExecutionPayloadManager and end-to-end wiring to gossip, publish, and import Gloas execution payloads with new result types and logging.
ExecutionPayloadManager
(default + NOOP) withvalidateAndImportExecutionPayload
/importExecutionPayload
; introduceExecutionPayloadImportResult
(+ success/failed implementations).ForkChoice.onExecutionPayload(...)
(stub success) used by the manager.SignedExecutionPayloadEnvelope.toLogString()
andLogFormatter.formatExecutionPayload(...)
.ExecutionPayloadGossipChannel
and integrate withActiveEth2P2PNetwork
startup subscription.ExecutionPayloadGossipManager
(publish returnsSafeFuture
),GossipForkManager
andGossipForkSubscriptions*
to publish execution payloads with feedback.ExecutionPayloadPublisherGloas
to gossip payloads and data column sidecars then import via manager.ExecutionPayloadManager
(incl.ExecutionPayloadGossipValidator
placeholder); wire gossip processor tovalidateAndImportExecutionPayload
; pass gossip channel and manager toExecutionPayloadPublisherGloas
.DefaultExecutionPayloadManager
andExecutionPayloadPublisherGloas
.publishDataColumnSidecar
inGossipForkManager
.Written by Cursor Bugbot for commit 07817bf. This will update automatically on new commits. Configure here.