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
If the python spec is corrected, there are a few simplifications also possible, e.g. no need to delete the storage when creating an account nor to keep track of created accounts.
The text was updated successfully, but these errors were encountered:
EIP-7610 doesn't seem to be Final yet. Has this been agreed upon by ACD?
It was, I confirmed this multiple times. However, I have issues with implementing this in Erigon, where its difficult to answer the question if an account has any storage.
Metadata
What was wrong?
The Python execution specs consider a create message to fail due to address collision if the account in question has nonce or code:
execution-specs/src/ethereum/cancun/vm/interpreter.py
Line 110 in 98d6dda
But the tests and client implementation seems to consider it a collision also if the account has non-empty storage.
Sources
EIP specifying the geth behaviour: https://eips.ethereum.org/EIPS/eip-7610
Geth check: https://github.com/ethereum/go-ethereum/blob/a1093d98eb3260f2abf340903c2d968b2b891c11/core/vm/evm.go#L460
Test relying on the geth behaviour: https://github.com/ethereum/tests/blob/4c87ebbf024a3e9ec842bcce90564f629a3bcd82/BlockchainTests/GeneralStateTests/stRevertTest/RevertInCreateInInit_Paris.json
Additional Context
If the python spec is corrected, there are a few simplifications also possible, e.g. no need to delete the storage when creating an account nor to keep track of created accounts.
The text was updated successfully, but these errors were encountered: