-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Execution API Electra: requests as a sidecar #14492
Conversation
proto/engine/v1/electra.proto
Outdated
} | ||
|
||
// ExecutionEnvelopeElectra is a container that builds on Payload V4 and includes execution requests sidecar needed post Electra | ||
message ExecutionEnvelopeElectra { |
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.
should I call it something else?
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.
conflicts with epbs, i should rename
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 naming it mentioning electra is self explanatory to me like we have simple ExecutionPayloadEnvelope so in my views its ok to keep this naming
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 need to change this, talked to potuz
err := s.rpcClient.CallContext(ctx, result, NewPayloadMethodV3, payloadPb, versionedHashes, parentBlockRoot) | ||
if err != nil { | ||
return nil, handleRPCError(err) | ||
if executionRequests == nil { |
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.
This feels prone to bugs and hard to test against . Checking payload's version may be better
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.
yeah , the caller checks the version on the block, but the payload doesn't include the version , I can pass the block version into this function if that makes it safer
TargetPubkey: bytesutil.PadTo([]byte{byte('h')}, fieldparams.BLSPubkeyLength), | ||
}, | ||
}, | ||
} |
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.
Something feels off about having this structure repeated across multiple tests, as well as in the fixture itself.
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.
do i not need to do it this way? ( assumed the payload processing worked in this way)
@@ -14,7 +14,8 @@ type GetPayloadResponse struct { | |||
BlobsBundle *pb.BlobsBundle | |||
OverrideBuilder bool | |||
// todo: should we convert this to Gwei up front? | |||
Bid primitives.Wei | |||
Bid primitives.Wei |
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.
Why are we so stupid of not moving to Gwei here?
What type of PR is this?
Feature
What does this PR do? Why is it needed?
implements ethereum/execution-apis#591, ethereum/execution-apis#597
engine_newPayloadV4
andengine_getPayloadV4
related prs Move
execution_requests
afterparent_beacon_block_root
ethereum/consensus-specs#3967, Pass execution requests to Engine API as a list of bytes ethereum/consensus-specs#3969Which issues(s) does this PR fix?
Fixes #
Other notes for review
Acknowledgements