erigon-pulse/eth
Nick Johnson 781915f183 core/vm: Refactor tracing to make Tracer the main interface
This CL makes several refactors:
 - Define a Tracer interface, implementing the `CaptureState` method
 - Add the VM environment as the first argument of
   `Tracer.CaptureState`
 - Rename existing functionality `StructLogger` an make it an
   implementation of `Tracer`
 - Delete `StructLogCollector` and make `StructLogger` collect the logs
   directly
 - Change all callers to use the new `StructLogger` where necessary and
   extract logs from that.
 - Deletes the apparently obsolete and likely nonfunctional 'TraceCall'
   from the eth API.

Callers that only wish accumulated logs can use the `StructLogger`
implementation straightforwardly. Callers that wish to efficiently
capture VM traces and operate on them without excessive copying can now
implement the `Tracer` interface to receive VM state at each step and
do with it as they wish.

This CL also removes the accumulation of logs from the vm.Environment;
this was necessary as part of the refactor, but also simplifies it by
removing a responsibility that doesn't directly belong to the
Environment.
2016-08-22 09:26:15 +01:00
..
downloader rpc: refactor subscriptions and filters 2016-08-17 12:59:58 +02:00
fetcher eth, eth/downloader, eth/fetcher: delete eth/61 code 2016-07-22 13:17:19 +02:00
filters rpc: refactor subscriptions and filters 2016-08-17 12:59:58 +02:00
gasprice eth: separate common and full node-specific API and backend service 2016-06-16 17:36:38 +02:00
api_backend.go cmd, common, console, eth, release: drop redundant "full"s 2016-06-30 13:03:26 +03:00
api.go core/vm: Refactor tracing to make Tracer the main interface 2016-08-22 09:26:15 +01:00
backend_test.go accounts, core, eth: pass chain config for chain maker to test DAO 2016-07-15 16:52:55 +03:00
backend.go common/compiler: simplify solc wrapper 2016-08-17 17:39:04 +02:00
bad_block.go eth: enable bad block reports 2016-05-25 02:02:51 +02:00
bind.go common/compiler: simplify solc wrapper 2016-08-17 17:39:04 +02:00
cpu_mining.go cmd, common, console, eth, release: drop redundant "full"s 2016-06-30 13:03:26 +03:00
db_upgrade.go eth: fixed chaindb upgrade 2016-07-19 14:32:38 +02:00
gpu_mining.go cmd, common, console, eth, release: drop redundant "full"s 2016-06-30 13:03:26 +03:00
handler_test.go eth, eth/downloader, eth/fetcher: delete eth/61 code 2016-07-22 13:17:19 +02:00
handler.go Merge pull request #2867 from karalabe/dao-challenge-finish 2016-08-09 11:39:13 +03:00
helper_test.go accounts, core, eth: pass chain config for chain maker to test DAO 2016-07-15 16:52:55 +03:00
metrics.go eth, eth/downloader, eth/fetcher: delete eth/61 code 2016-07-22 13:17:19 +02:00
peer.go eth, eth/downloader: better remote head tracking 2016-07-25 15:14:14 +03:00
protocol_test.go eth, eth/downloader, eth/fetcher: delete eth/61 code 2016-07-22 13:17:19 +02:00
protocol.go eth, eth/downloader, eth/fetcher: delete eth/61 code 2016-07-22 13:17:19 +02:00
sync_test.go eth: skip transaction handling during fast sync 2016-05-17 14:17:20 +03:00
sync.go eth, eth/downloader: better remote head tracking 2016-07-25 15:14:14 +03:00