mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-10 14:03:46 +00:00
At some point in the Firehose 2.x release lifecycle, a bug was introduced that caused ordinals within the block to be broken. The problem was that system calls and block level balance changes were done using a block level ordinals and transactions were done using their own level ordinals. Then in the console reader, the ordinals were re-ordered correctly. While block level balance changes were re-ordered correctly, the system calls were not. Here, we re-apply the same bug to the transactions to ensure that the Firehose 3.x release lifecycle. First, we are going to reset the ordinal once we detect this is the first transaction. Then in the end block, we are going to fix balance & code changes ordinals. |
||
|---|---|---|
| .. | ||
| firehose | ||
| testdata | ||
| calltrace_test.go | ||
| flat_calltrace_test.go | ||
| makeTest.js | ||
| prestate_test.go | ||
| README.md | ||
| supply_test.go | ||
| util.go | ||
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' })