nimbus-eth1/nimbus
Jamie Lokier eb52fd3906
Transaction: Make `emitLog` use `Computation` to pass tests
When processing log operations 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 logs in `Computation` as it did before.

This makes test pass when using Nimbus EVM.  (It breaks third-party EVMs when
`LOG*` 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
..
db drop PublicNetwork enum usage and replace it with NetworkId 2021-05-20 14:04:16 +07:00
graphql EVM: Remove most unused imports of `vm_*` files 2021-06-01 16:54:38 +01:00
p2p Transaction: Use same log level for all block rejection causes 2021-06-08 18:07:50 +01:00
rpc Whisper: Remove Whisper-specific hexstring/JSON/key storage support 2021-06-01 18:12:48 +01:00
transaction Transaction: Make `emitLog` use `Computation` to pass tests 2021-06-08 18:29:40 +01:00
utils Deep copy semantics for LRU cache 2021-05-26 11:12:52 +01:00
vm EVMC: Disable byte-endian conversion of 256-bit values on EVM side 2021-06-08 18:29:39 +01:00
vm2 vm2: Remove vm2 `forks_list` everywhere, use common forks list 2021-06-08 15:36:31 +01:00
block_types.nim reduce compiler warnings 2019-11-13 21:49:39 +07:00
chain_config.nim drop PublicNetwork enum usage and replace it with NetworkId 2021-05-20 14:04:16 +07:00
conf_utils.nim add validateKinship in persistBlocks of nimbus/p2p/chain.nim 2021-05-27 16:28:26 +07:00
config.nim EVM: Remove `vm_types2` everywhere, use common forks list instead 2021-06-08 15:36:31 +01:00
constants.nim Clear up meaning of `ZERO_ADDRESS`, delete `CREATE_CONTRACT_ADDRESS` 2021-05-27 12:14:51 +01:00
errors.nim remove unused eraseReturnData 2020-01-20 18:36:58 +02:00
forks.nim Forks: Use capitalized names again for presentation (logging etc.) 2021-06-08 15:36:31 +01:00
genesis.nim drop PublicNetwork enum usage and replace it with NetworkId 2021-05-20 14:04:16 +07:00
genesis_alloc.nim add goerli testnet genesis data[skip ci] 2020-04-09 19:13:17 +03:00
launcher.nim Premix-related changes 2019-01-28 12:38:23 +02:00
lightchain_shell.nim Some renames 2018-05-28 13:22:28 +03:00
makefile removed circular import dependencies 2021-04-28 15:24:14 +03:00
nim.cfg NAT port mapping 2019-04-17 03:56:28 +02:00
nimbus.nim Whisper: Remove all the main Whisper code (config, startup, RPC etc) 2021-06-01 18:12:48 +01:00
random_keys.nim move rng to configuration 2020-07-21 00:16:59 +07:00
tracer.nim EVM: Remove most unused imports of `vm_*` files 2021-06-01 16:54:38 +01:00
transaction.nim EVM: Remove `vm_types2` everywhere, use common forks list instead 2021-06-08 15:36:31 +01:00
utils.nim implement more eth rpc and keystore management 2020-07-23 14:54:32 +07:00
validation.nim reduce compiler warnings 2019-11-13 21:49:39 +07:00
vm_compile_info.nim print compiler warning about the VM used 2021-04-28 15:24:14 +03:00
vm_computation.nim EVM: Apply EIP-6 in the code (affects both vm and vm2) 2021-06-08 15:36:30 +01:00
vm_gas_costs.nim re-named v2gas_costs.nim to its original name v2gas_costs.nim 2021-04-28 15:24:14 +03:00
vm_internals.nim vm2: Remove vm2 `forks_list` everywhere, use common forks list 2021-06-08 15:36:31 +01:00
vm_precompiles.nim re-named some v2*.nim sources to its original name *.nim (without the v2) 2021-04-28 15:24:14 +03:00
vm_state.nim re-named some v2state_transactions.nim to its original name without the v2 2021-04-28 15:24:14 +03:00
vm_state_transactions.nim Transaction: Prepare txRefundGas to support txCallEvm 2021-05-03 19:51:20 +01:00
vm_types.nim re-named some v2*.nim sources to its original name *.nim (without the v2) 2021-04-28 15:24:14 +03:00