In the execution python specs, a contract_address is added to the accessed_addresses before the check validating that the sender nonce is small enough, the sender has enough balance, and the call-stack-depth has not overflowed.
This does not appear to match the behavior of CREATE as specified in Appendix H of the yellow paper. go-ethereum also appears to not include the new contract address if the aforementioned checks fail before loading the account at the address of the to-be-created account.
Metadata
What was wrong?
In the execution python specs, a
contract_address
is added to theaccessed_addresses
before the check validating that the sender nonce is small enough, the sender has enough balance, and the call-stack-depth has not overflowed.This does not appear to match the behavior of CREATE as specified in Appendix H of the yellow paper.
go-ethereum
also appears to not include the new contract address if the aforementioned checks fail before loading the account at the address of the to-be-created account.Sources
Authors
@sleepingshell, @benSepanski