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

Add withdrawal operations #195

Merged
merged 11 commits into from
Nov 3, 2022

Conversation

ralexstokes
Copy link
Member

Adds support for withdrawals.

Part of the validator withdrawals feature tracking here: https://notes.ethereum.org/@ralexstokes/Skp1mPSb9

Copy link
Contributor

@djrtwo djrtwo left a comment

Choose a reason for hiding this comment

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

looks reasonable. My main comment is to consider where this should live and how it be surfaced in the specs.

We also probably need a "meta" section mapping forks to a set of methods. That is, Bellatrix uses all V1, whereas Capella uses a mix.

I would definitely refrain from merging until the Merge dust is fully settled.

great work!

src/engine/specification.md Outdated Show resolved Hide resolved
Copy link
Member

@lightclient lightclient left a comment

Choose a reason for hiding this comment

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

Looks good in general to me.

src/engine/specification.md Outdated Show resolved Hide resolved
@mkalinin
Copy link
Collaborator

We also probably need a "meta" section mapping forks to a set of methods. That is, Bellatrix uses all V1, whereas Capella uses a mix.

Good point. If kept in the same file it could become a mess after a few forks that are affecting Engine API. Probably it worth having a file per fork as we used to have in consensus specs. In this case we may want to rename specification.md to paris.md, capella.md will then be an extension to Paris. Also, I guess methods from ancient forks that are currently unused may be marked as deprecated, this could be described in a section of related fork_name.md file.

@lightclient lightclient added the A-engine Area: for future consideration label May 19, 2022
src/engine/specification.md Outdated Show resolved Hide resolved
src/engine/specification.md Outdated Show resolved Hide resolved
src/engine/specification.md Outdated Show resolved Hide resolved
src/engine/specification.md Outdated Show resolved Hide resolved
Copy link
Member

@lightclient lightclient left a comment

Choose a reason for hiding this comment

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

Added a note about how to deal with null vs. [] values for withdrawals field.

src/engine/specification.md Outdated Show resolved Hide resolved
Co-authored-by: terencechain <terence@prysmaticlabs.com>
Copy link
Contributor

@g11tech g11tech left a comment

Choose a reason for hiding this comment

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

👍

@ralexstokes ralexstokes merged commit f33432b into ethereum:main Nov 3, 2022
@ralexstokes ralexstokes deleted the add-withdrawal-operations branch November 3, 2022 20:08
yperbasis added a commit to ledgerwatch/erigon-lib that referenced this pull request Dec 1, 2022
yperbasis added a commit to erigontech/erigon that referenced this pull request Dec 1, 2022
This PR partially implements
[EIP-4895](https://eips.ethereum.org/EIPS/eip-4895): Beacon chain push
withdrawals as operations. The new Engine API methods
(ethereum/execution-apis#195) are implemented.

_Body downloader and saving withdrawals into DB are not implemented
yet!_
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-engine Area: for future consideration
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants