-
Notifications
You must be signed in to change notification settings - Fork 20.9k
core/vm: implement eof opcodes #30511
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
core/vm: implement eof opcodes #30511
Conversation
Merged eof-validation, rebase time :) |
f6dd3c8
to
73a3a54
Compare
Rebased, looks like I broke some verkle stuff, will fix later |
Move EOF activation to Osaka
Update the EOF container parsing to allow the PC to use the same semantics as the legacy EVM. Also, a new test container maker is necessary to handle the particulars of the unit tests, mostly unrelated to
Move EOF interpreter to use same PC semantics as legacy EVM
|
||
// Validate initcode per EOF rules. If caller is EOF and initcode is legacy, fail. | ||
isInitcodeEOF := hasEOFMagic(codeAndHash.code) | ||
if isInitcodeEOF { |
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.
We could think about moving this a bit later. Right now we do the heavy things (unmarshalling and validation) before we actually deduct the gas and check for nonce overflow
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.
Hey folks, I’m an R&D engineer at Tenderly, and I’ve been following the work on this PR for some time now. We’ve been working on integrating it locally, so we’d really appreciate your input. |
Hey @veniger, I just came back from holiday. I would like to merge this soon, probably after we updated it to devnet-1 spec and the pectra fork has passed |
🫡 |
based on #30418
rework of #29518
I could not test this properly yet, as the validity of the blockchain tests depend on the prague spec. In order to test this correctly, we need to upstream 6110 and 7002
Unfortunately I couldn't preserve the authorship, I think by using the coauthored tag, people will receive their due credit once this is merged.
Co-authored-by: lightclient [email protected]
Co-authored-by: shemnon [email protected]
Co-authored-by: holiman [email protected]