-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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
Update EIP-4762: unconditionnal account write during contract init #8867
Conversation
🛑 Auto merge failed. Please see logs for more details, and report this issue at the |
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.
All Reviewers Have Approved; Performing Automatic Merge...
Pull request was converted to draft
@@ -132,11 +132,6 @@ When a contract creation is initialized, process these write events: | |||
|
|||
``` | |||
(contract_address, 0, BASIC_DATA_LEAF_KEY) | |||
``` |
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.
I wonder if "creation is initialized" is well defined. As in: after collision check.
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.
thinking the same thing, also we should clarify the TouchAndChargeContractCreateCheck
change that was done in geth. It is not obvious and may result in a few errors in implementation?
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
lgtm |
lgtm too - we were already doing this in a way |
Implementation of [this EIP-4762 update](ethereum/EIPs#8867). --------- Signed-off-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Co-authored-by: Tanishq Jasoria <jasoriatanishq@gmail.com>
In the current state of the spec, there are a few instances where the basic leaf can be created but not the code hash leaf.
This unconditionally write-touch all leaves upon contract initialization, as this will result in an account no matter what happens. The only difference is that the value of the code hash will either be the hash of the contract code, or the empty hash, but that does not impact the gas costs.