Skip to content
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

Merged
merged 42 commits into from
Oct 16, 2024

Conversation

james-prysm
Copy link
Contributor

@james-prysm james-prysm commented Sep 30, 2024

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

Which issues(s) does this PR fix?

Fixes #

Other notes for review

Acknowledgements

  • I have read CONTRIBUTING.md.
  • I have made an appropriate entry to CHANGELOG.md.
  • I have added a description to this PR with sufficient context for reviewers to understand this PR.

@james-prysm james-prysm added API Api related tasks Electra electra hardfork labels Sep 30, 2024
}

// ExecutionEnvelopeElectra is a container that builds on Payload V4 and includes execution requests sidecar needed post Electra
message ExecutionEnvelopeElectra {
Copy link
Contributor Author

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?

Copy link
Contributor Author

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

Copy link
Contributor

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

Copy link
Contributor Author

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

@james-prysm james-prysm changed the title Execution API: requests as a sidecar Execution API Electra: requests as a sidecar Oct 1, 2024
@james-prysm james-prysm requested a review from a team as a code owner October 14, 2024 21:38
@james-prysm james-prysm requested review from potuz and terencechain and removed request for nalepae October 15, 2024 14:12
@james-prysm james-prysm added the Ready For Review A pull request ready for code review label Oct 15, 2024
terencechain
terencechain previously approved these changes Oct 15, 2024
err := s.rpcClient.CallContext(ctx, result, NewPayloadMethodV3, payloadPb, versionedHashes, parentBlockRoot)
if err != nil {
return nil, handleRPCError(err)
if executionRequests == nil {
Copy link
Member

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

Copy link
Contributor Author

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

consensus-types/blocks/execution.go Show resolved Hide resolved
proto/engine/v1/electra.go Outdated Show resolved Hide resolved
TargetPubkey: bytesutil.PadTo([]byte{byte('h')}, fieldparams.BLSPubkeyLength),
},
},
}
Copy link
Contributor

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.

Copy link
Contributor Author

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)

proto/engine/v1/electra.go Outdated Show resolved Hide resolved
@@ -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
Copy link
Contributor

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?

@james-prysm james-prysm added this pull request to the merge queue Oct 16, 2024
Merged via the queue into develop with commit d6c5692 Oct 16, 2024
17 of 18 checks passed
@james-prysm james-prysm deleted the execution-request-sidecar-electra branch October 16, 2024 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API Api related tasks Electra electra hardfork Ready For Review A pull request ready for code review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants