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

all: implement EIP-7002 and EIP-7251, execution layer triggered withdrawal and consolidation requests #29052

Closed
wants to merge 2 commits into from

Conversation

lightclient
Copy link
Member

@lightclient lightclient commented Feb 21, 2024

This PR builds upon the 6110 impl #29431 merged!

This PR implements EIP-7002: Execution layer triggerable exits and EIP-7251: Increase the MAX_EFFECTIVE_BALANCE

@MariusVanDerWijden
Copy link
Member

Is there an upper limit on exits?

@lightclient
Copy link
Member Author

lightclient commented Feb 21, 2024

The max number of deposits is in the system contract and is 16 currently.

@lightclient lightclient changed the title all: implement execution layer triggerable exits all: implement EIP-7002, execution layer triggered withdrawal requests Apr 23, 2024
@lightclient lightclient force-pushed the eip-7002 branch 6 times, most recently from 7808812 to 653d0bc Compare April 29, 2024 21:31
@lightclient lightclient force-pushed the eip-7002 branch 10 times, most recently from 4fa354b to 30e7f7b Compare May 14, 2024 16:16
@lightclient lightclient marked this pull request as ready for review June 20, 2024 14:47
Co-authored-by: Mario Vega <marioevz@gmail.com>
Co-authored-by: lightclient <lightclient@protonmail.com>
Copy link
Contributor

@holiman holiman left a comment

Choose a reason for hiding this comment

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

Look about right to me.


// Parse out the exits.
var reqs types.Requests
for i := 0; i < len(ret)/76; i++ {
Copy link
Member

Choose a reason for hiding this comment

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

Should we check that ret is % 76 == 0 here or just accept anything thats returned from the contract?

Copy link
Member

@MariusVanDerWijden MariusVanDerWijden left a comment

Choose a reason for hiding this comment

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

LGTM

@fjl
Copy link
Contributor

fjl commented Sep 30, 2024

Note that work on the spec is still ongoing, and we will have some simplifications in soon that will invalidate most of this PR.

@lightclient lightclient changed the title all: implement EIP-7002, execution layer triggered withdrawal requests all: implement EIP-7002 and EIP-7251, execution layer triggered withdrawal and consolidation requests Oct 7, 2024
@fjl
Copy link
Contributor

fjl commented Oct 10, 2024

I have created a new implementation in #30571 since it is so much simpler now. There was just no point trying to rebase this one.

@fjl fjl closed this Oct 10, 2024
fjl added a commit that referenced this pull request Oct 11, 2024
This is a redo of #29052 based on newer specs. Here we implement EIPs
scheduled for the Prague fork:

- EIP-7002: Execution layer triggerable withdrawals
- EIP-7251: Increase the MAX_EFFECTIVE_BALANCE

Co-authored-by: lightclient <lightclient@protonmail.com>
holiman pushed a commit that referenced this pull request Oct 13, 2024
This fixes a few issues missed in #29052:

* `requests` must be hex encoded, so added a helper to marshal.
* The statedb was committed too early and so the result of the system
calls was lost.
* For devnet-4 we need to pull off the type byte prefix from the request
data.
holiman pushed a commit that referenced this pull request Nov 19, 2024
This is a redo of #29052 based on newer specs. Here we implement EIPs
scheduled for the Prague fork:

- EIP-7002: Execution layer triggerable withdrawals
- EIP-7251: Increase the MAX_EFFECTIVE_BALANCE

Co-authored-by: lightclient <lightclient@protonmail.com>
holiman pushed a commit that referenced this pull request Nov 19, 2024
This fixes a few issues missed in #29052:

* `requests` must be hex encoded, so added a helper to marshal.
* The statedb was committed too early and so the result of the system
calls was lost.
* For devnet-4 we need to pull off the type byte prefix from the request
data.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants