diff --git a/src/ethereum/forks/amsterdam/state.py b/src/ethereum/forks/amsterdam/state.py index e916dbb4c9..a3bff461b7 100644 --- a/src/ethereum/forks/amsterdam/state.py +++ b/src/ethereum/forks/amsterdam/state.py @@ -604,7 +604,12 @@ def write_code(sender: Account) -> None: modify_state(state, address, write_code) - track_code_change(state.change_tracker, address, code) + # Only track code changes if it's not setting empty code on a + # newly created address. For newly created addresses, setting + # code to b"" is not a meaningful state change since the address + # had no code to begin with. + if not (code == b"" and address in state.created_accounts): + track_code_change(state.change_tracker, address, code) def get_storage_original(state: State, address: Address, key: Bytes32) -> U256: