-
Notifications
You must be signed in to change notification settings - Fork 988
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
base: develop
Are you sure you want to change the base?
Conversation
} | ||
|
||
// 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
bytes value = 2; | ||
BlobsBundle blobs_bundle = 3; | ||
bool should_override_builder = 4; | ||
repeated bytes execution_requests = 5; |
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.
double check if the type and size are correct
@@ -259,6 +259,9 @@ func (s *Service) ForkchoiceUpdated( | |||
|
|||
func getPayloadMethodAndMessage(slot primitives.Slot) (string, proto.Message) { |
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.
A bit of a nit, would this be better/clearer as a switch?
func getPayloadMethodAndMessage(slot primitives.Slot) (string, proto.Message) {
pe := slots.ToEpoch(slot)
switch {
case pe >= params.beaconConfig().ElectraForkEpoch:
return GetPayloadMethodV4, &pb.ExecutionEnvelopeElectra{}
case pe == params.beaconConfig().DenebForkEpoch:
return GetPayloadMethodV3, &pb.ExecutionPayloadDenebWithValueAndBlobsBundle{}
case pe == params.beaconConfig().CapellaForkEpoch:
return GetPayloadMethodV2, &pb.ExecutionPayloadCapellaWithValue{}
default:
return GetPayloadMethod, &pb.ExecutionPayload{}
}
}
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 it's about the same but can update
} | ||
pr := common.Hash(blk.Block().ParentRoot()) | ||
// TODO: get encoded hash for execution requests | ||
executionRequestsHash := &common.Hash{} |
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.
maybe we don't want to do this
What type of PR is this?
Feature
What does this PR do? Why is it needed?
implements ethereum/execution-apis#591
engine_newPayloadV4
andengine_getPayloadV4
Which issues(s) does this PR fix?
Fixes #
Other notes for review
Acknowledgements