nimbus-eth1/nimbus/transaction
Jamie Lokier c6d50a0ef7
Transaction: Unified runner `runComputation` for all EVM call types
New entry point `runComputation`, for all EVM calls.
(Later the intent is `runComputationAsync`.)

As noted in commit 297d789, there are six entry points calling EVM computation,
with different parameters and expecting different behaviours.  Parameters were
dealt with in `setupComputation`.  Behaviours are unified in `runComputation`,
with options passed via `CallParams`.

This code performs the steps used when validating a transaction.  Options for
non-standard behaviour for RPC, GraphQL and tests to be added as required.

This replaces `setupComputation`, `execComputation` and `executeOpcodes`
(other than its own calls).  As a result `Computation` and other EVM types are
no longer referenced in the main program, and many imports can be dropped.

Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-05-29 06:53:11 +01:00
..
call_common.nim Transaction: Unified runner `runComputation` for all EVM call types 2021-05-29 06:53:11 +01:00
call_evm.nim Transaction: Move `setupComputation` to its own file 2021-05-29 06:53:11 +01:00
host_types.nim Transaction: New object `TransactionHost` for "EVMC host services" 2021-05-28 12:12:02 +01:00