You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm getting empty contract results from all EXTCODE* opcodes when called to a EOF container mid-creation, which I guess makes sense because the container is not there yet so technically it should still return empty.
This is how it behaves for legacy. Do we want to change it for EOF? It requires EOF/Legacy calls. And the spec would be a clarification and not a special case - "Like Legacy Initcode, the contract code of an EOF create is empty during an initcall, so EXTCODE* operations from a legacy contract will see zero-length code"
I think we just should clarify that an "EOF container mid-creation" looks like an account without code (i.e. a legacy account).
The alternative to pretend the account has EOF code (i.e. report "EF00" as the code) is no-go because there is no guarantee that the EOF account will be actually created (creation can fail for multiple reasons). So the account may remain empty after creation.
I'm getting empty contract results from all
EXTCODE*
opcodes when called to a EOF container mid-creation, which I guess makes sense because the container is not there yet so technically it should still return empty.Maybe only this should be explicitly specified? @shemnon @chfast @gumb0
Originally posted by @marioevz in ethereum/execution-spec-tests#601 (comment)
The text was updated successfully, but these errors were encountered: