-
Notifications
You must be signed in to change notification settings - Fork 105
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
new(tests): EIP-1014: Convert CREATE2 test from ethereum/tests
#497
Conversation
@marioevz do you want the test coverage to be mandatory checkpoint as well? or perhaps we can setup a cli job to do it using evmone script that I was developing. hm.. |
I think we could start with a CLI entry point to check coverage, if you have an idea of implementation we could open another PR and follow it up there. After that PR is merged we can do a follow up PR to try to embed it into the CI to automatically check it. |
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.
Looks great overall! Just some suggestions.
569916e
to
d3b25c0
Compare
46c5fba
to
e9c5bcf
Compare
4909a21
to
e1427fc
Compare
f6b8cc4
to
1d68cb8
Compare
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.
Some comments, thanks!
+ Op.SSTORE(slot_return_data_hash_before_create, Op.SHA3(0, call_return_size)) | ||
+ make_create() | ||
+ Op.SSTORE(slot_returndatasize_after_create, Op.RETURNDATASIZE()) | ||
+ Op.SSTORE(slot_return_data_hash_after_create, Op.SHA3(0, Op.RETURNDATASIZE())) |
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.
Missing an Op.RETURNDATACOPY
at some point before this.
Also, we should hard-code the size instead of trusting RETURNDATASIZE
is correct, because there could be an implementation bug where RETURNDATASIZE
works but RETURNDATACOPY
is buggy, so doing Op.RETURNDATACOPY(0, 0, 35)
for example, could uncover such a bug.
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.
if I call returndatacopy with the size that is > returndatasize it makes evm failure
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.
added more parametrization
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, thanks!
ethereum/tests
🗒️ Description
Port
🔗 Related Issues
none
✅ Checklist
NOT READY FOR MERGE (NEED coverage)
mkdocs serve
locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.