go-ethereum/eth
Chris Ziogas 2ad150d986
eth/tracers: add native flatCallTracer (aka parity style tracer) (#26377)
Adds support for a native call tracer with the Parity format, which outputs call frames
in a flat array. This tracer accepts the following options:

- `convertParityErrors: true` will convert error messages to match those of Parity
- `includePrecompiles: true` will report all calls to precompiles. The default
  matches Parity's behavior where CALL and STATICCALLs to precompiles are excluded

Incompatibilities with Parity include:

- Parity removes the result object in case of failure. This behavior is maintained
  with the exception of reverts. Revert output usually contains useful information,
  i.e. Solidity revert reason.
- The `gasUsed` field accounts for intrinsic gas (e.g. 21000 for simple transfers)
  and refunds unlike Parity
- Block rewards are not reported

Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
2023-02-28 13:54:37 +03:30
..
catalyst eth: use the last announced finalized block as the sync ancient limit (#26685) 2023-02-23 13:22:41 +02:00
downloader eth: use the last announced finalized block as the sync ancient limit (#26685) 2023-02-23 13:22:41 +02:00
ethconfig all: make timestamp-based fork checks based on uint64 (#26474) 2023-01-25 12:12:28 +01:00
fetcher all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
filters eth/filters: fix a breaking change and return rpctransaction (#26757) 2023-02-22 13:06:43 +02:00
gasprice common/lru: add generic LRU implementation (#26162) 2022-11-14 15:41:56 +01:00
protocols all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
tracers eth/tracers: add native flatCallTracer (aka parity style tracer) (#26377) 2023-02-28 13:54:37 +03:30
api_backend.go eth/filters: avoid block body retrieval when no matching logs (#25199) 2023-02-13 10:59:27 +01:00
api_test.go core/state: return error when storage trie can't be opened (#26350) 2022-12-21 10:21:21 +01:00
api.go core/state: return error when storage trie can't be opened (#26350) 2022-12-21 10:21:21 +01:00
backend.go miner, cmd, eth: require explicit etherbase address (#26413) 2023-01-20 11:26:01 -05:00
bloombits.go eth: move eth.Config to a common package (#22205) 2021-02-05 13:51:15 +01:00
handler_eth_test.go eth, catalyst: fix flaky tests (#26153) 2022-11-11 13:22:54 +01:00
handler_eth.go eth: implement eth/68 (#25980) 2022-10-31 16:23:26 +02:00
handler_snap.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
handler_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
handler.go eth, les: polish forkid a bit, fix races and transition validation 2023-01-06 15:29:57 +02:00
peer.go all: more linters (#24783) 2022-06-13 16:24:45 +02:00
peerset.go all: fix some typos (#25551) 2022-08-19 09:00:21 +03:00
state_accessor.go eth/filters, eth/tracers: add request cancellation checks (#26320) 2022-12-15 07:52:07 -05:00
sync_test.go eth: introduce eth67 protocol (#24093) 2022-06-15 12:56:47 +02:00
sync.go cmd, core, eth, les, params: add merge-passed chain config (#24538) 2022-08-01 15:13:25 +03:00