go-ethereum/cmd
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
..
abigen common/compiler: simplify solc wrapper 2016-08-17 17:39:04 +02:00
bootnode cmd/bootnode: Add support for outputting a node's ID on the command line 2016-07-15 11:09:37 +01:00
disasm all: update license headers to distiguish GPL/LGPL 2015-07-22 18:51:45 +02:00
ethtest core, params, tests: add DAO hard-fork balance moves 2016-07-15 16:52:55 +03:00
evm core/vm: Refactor tracing to make Tracer the main interface 2016-08-22 09:26:15 +01:00
geth cmd/utils, node: create account manager in package node 2016-08-17 17:39:03 +02:00
gethrpctest cmd/utils, node: create account manager in package node 2016-08-17 17:39:03 +02:00
rlpdump all: update license headers to distiguish GPL/LGPL 2015-07-22 18:51:45 +02:00
utils cmd/utils, node: create account manager in package node 2016-08-17 17:39:03 +02:00