nimbus-eth1/nimbus/transaction
Jamie Lokier 072934272b
Transaction: Map `evmc_result` back to `Computation` result
This missing part of EVMC processing allows third-party EVMs to work.

It fixes EVMC result processing (at the top-level of calls, not nested calls)
to use the EVMC result object, instead of reading so much internal state of the
Nimbus `Computation` object.

It has been tested by calling [`evmone`](https://github.com/ethereum/evmone)
and getting useful results with tracing enabled (`showTxCalls = true`).  It's
even able to run parts of the fixtures test suite.

There are other issues with account balances, etc that need to be worked on to
get the correct _final_ results, but the EVM execution is correct with this.

Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-12-10 16:27:53 +00:00
..
call_common.nim Transaction: Map `evmc_result` back to `Computation` result 2021-12-10 16:27:53 +00:00
call_evm.nim unify evm call for both json-rpc and graphql 2021-10-31 12:24:40 +07:00
evmc_host_glue.nim EVMC: Byte-endian conversions for 256-bit numeric values 2021-12-10 16:23:27 +00:00
evmc_vm_glue.nim EVMC: Binary compatibility on the VM side for calling `execute` 2021-06-08 18:29:39 +01:00
host_call_nested.nim EVMC: Byte-endian conversions for 256-bit numeric values 2021-12-10 16:23:27 +00:00
host_services.nim EVMC: Byte-endian conversions for 256-bit numeric values 2021-12-10 16:23:27 +00:00
host_trace.nim EVMC: Improve host call tracing and fix nested call C stack usage 2021-08-12 07:48:56 +07:00
host_types.nim EVMC: Use the same host interface for nested calls as top-level 2021-08-17 17:18:26 +01:00