e3d61e6db0
This pull request refactors the EVM constructor by removing the TxContext parameter. The EVM object is frequently overused. Ideally, only a single EVM instance should be created and reused throughout the entire state transition of a block, with the transaction context switched as needed by calling evm.SetTxContext. Unfortunately, in some parts of the code, the EVM object is repeatedly created, resulting in unnecessary complexity. This pull request is the first step towards gradually improving and simplifying this setup. --------- Co-authored-by: Martin Holst Swende <martin@swende.se> |
||
---|---|---|
.. | ||
testdata | ||
README.md | ||
calltrace_test.go | ||
flat_calltrace_test.go | ||
makeTest.js | ||
prestate_test.go | ||
supply_test.go | ||
util.go |
README.md
Filling test cases
To fill test cases for the built-in tracers, the makeTest.js
script can be used. Given a transaction on a dev/test network, makeTest.js
will fetch its prestate and then traces with the given configuration.
In the Geth console do:
let tx = '0x...'
loadScript('makeTest.js')
makeTest(tx, { tracer: 'callTracer' })