nimbus-eth1/nimbus/transaction
Jamie Lokier ce0c13c4ca
Transaction: Make `selfDestruct` use `Computation` to pass tests
When processing self destructs on the EVMC host side, it causes incorrect
`rootHash` results in some tests.  This patch fixes the results.

The cause of these results is known: `Computation` is still doing parts of
contract scope entry/exit which need to be moved to the host.  For now, as a
temporary workaround, update self destructs in `Computation` as it did before.

This makes test pass when using Nimbus EVM.  (It breaks third-party EVMs when
`SELFDESTRUCT` ops are used, although most other tests pass.)

We can't keep this as it prevents complete host/EVM separation, but it's useful
in the current code, and it's fine to develop other functionality on top.

Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-06-08 18:29:40 +01:00
..
call_common.nim Transaction: Run all computations via EVMC `execute` 2021-06-08 18:29:39 +01:00
call_evm.nim EVM: Remove `vm_types2` everywhere, use common forks list instead 2021-06-08 15:36:31 +01:00
evmc_host_glue.nim EVMC: Using `{.show.}` trace all calls from the host into the EVM 2021-06-08 18:29:40 +01:00
evmc_vm_glue.nim EVMC: Binary compatibility on the VM side for calling `execute` 2021-06-08 18:29:39 +01:00
host_services.nim Transaction: Make `selfDestruct` use `Computation` to pass tests 2021-06-08 18:29:40 +01:00
host_trace.nim EVMC: Using `{.show.}` trace all calls from the host into the EVM 2021-06-08 18:29:40 +01:00
host_types.nim Transaction: Run all computations via EVMC `execute` 2021-06-08 18:29:39 +01:00