-
Notifications
You must be signed in to change notification settings - Fork 837
evm: fix 3860 implementation + tests #2397
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
Conversation
Codecov Report
Additional details and impacted files
Flags with carried forward coverage won't be shown. Click here to find out more. |
acolytec3
left a comment
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.
LGTM
|
Congrats, your important contribution to this open-source project has earned you a GitPOAP! GitPOAP: 2022 EthereumJS Contributor: Head to gitpoap.io & connect your GitHub account to mint! Learn more about GitPOAPs here. |
| ) | ||
| st.end() | ||
| }) | ||
| }) |
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.
Really nice test setup! 👍
* evm: fix 3860 implementation + tests * Adapt original EIP-3860 tests from vm * add test for Create2 * Add test for CREATE Co-authored-by: acolytec3 <[email protected]>

In our EIP 3860 implementation, we have not added this rule:
"Furthermore, we introduce a charge of
2gas for every 32-byte chunk ofinitcodeto represent the cost of jumpdest-analysis."This /does/ happen at
CREATEs at the tx-level, but it does not happen if we have aCREATEor aCREATE2This also passes the current ethereum/tests tests for EIP 3860.
To check:
All pass.
Note: problem found by @pk910 in block 6601 on the Shandong testnet.