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

Electra engine api #5743

Merged
merged 190 commits into from
Jul 1, 2024
Merged

Electra engine api #5743

merged 190 commits into from
Jul 1, 2024

Conversation

pawanjay176
Copy link
Member

Issue Addressed

N/A

Proposed Changes

Implements electra engine api.

Additional Info

The spec does not handle the engine_getPayloadBodies for the new electra fields. We need to add it to the spec and implement it.
This PR currently implements it in the manner that I think it will be implemented (i.e. by extending ExecutionPayloadBodyV1 to include deposit_receipts and withdrawal_requests.
Working on getting a spec out for this.

eserilev and others added 30 commits April 30, 2024 11:49
* update

* experiment

* superstruct changes

* revert

* superstruct changes

* fix tests

* indexed attestation

* indexed attestation superstruct

* updated TODOs
* `superstruct` Attester Fork Variants

* Push a little further

* Deal with Encode / Decode of AttesterSlashing

* not so sure about this..

* Stop Encode/Decode Bounds from Propagating Out

* Tons of Changes..

* More Conversions to AttestationRef

* Add AsReference trait (#15)

* Add AsReference trait

* Fix some snafus

* Got it Compiling! :D

* Got Tests Building

* Get beacon chain tests compiling

---------

Co-authored-by: Michael Sproul <micsproul@gmail.com>
* Upgrade `superstruct` to `0.8.0`

* superstruct `AggregateAndProof`
Merge unstable into Electra attestation changes
* get attesting indices electra impl

* fmt

* get tests to pass

* fmt

* fix some beacon chain tests

* fmt

* fix slasher test

* fmt got me again

* fix more tests

* fix tests
Base automatically changed from block-processing-electra to unstable June 26, 2024 13:29
@realbigsean realbigsean removed the skip-ci Don't run the `test-suite` label Jun 26, 2024
@realbigsean realbigsean changed the base branch from unstable to electra-epoch-proc June 26, 2024 15:12
@realbigsean
Copy link
Member

Is it intentional to merge epoch processing changes into this branch?

Yes since we were planning to merge it into unstable after epoch processing, re-targeted the branch to fix the diff

@realbigsean
Copy link
Member

Something that's missing is the payload bodies by range changes: ethereum/execution-apis#545

This PR implements an extension of the existing V1 endpoint, what's currently spec'd is to actually add a V2 endpoint: ethereum/execution-apis#545 (comment)

There may be further discussion about whether to just extend v1 but for now we won't be able to serve blocks whose payloads we've pruned until we implement this as a v2

We could use the same ExecutionPayloadBody type for both v1 and v2 because v2 is fully backwards compatible but there will be annoying fork-switching logic we we want to query the v2 endpoint after the electra fork so we're sure the EL supports it

@pawanjay176
Copy link
Member Author

Strong agree on extending V1. We can implement the V2 method but its unnecessarily complex and gains us nothing imo.

Base automatically changed from electra-epoch-proc to unstable June 28, 2024 23:43
Copy link
Member

@realbigsean realbigsean left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

woop!

beacon_node/beacon_chain/src/electra_readiness.rs Outdated Show resolved Hide resolved
consensus/types/src/chain_spec.rs Outdated Show resolved Hide resolved
@realbigsean
Copy link
Member

@mergify queue

Copy link

mergify bot commented Jul 1, 2024

queue

✅ The pull request has been merged automatically

The pull request has been merged automatically at 2a13b4f

mergify bot added a commit that referenced this pull request Jul 1, 2024
@mergify mergify bot merged commit 2a13b4f into unstable Jul 1, 2024
28 checks passed
@mergify mergify bot deleted the electra-engine-api branch July 1, 2024 16:33
@realbigsean realbigsean restored the electra-engine-api branch July 9, 2024 01:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
electra Required for the Electra/Prague fork
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants