go-ethereum/internal
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
..
build build: add ci.go, use it everywhere 2016-06-22 13:42:39 +02:00
debug cmd/geth: codegansta/cli package renamed to urfave/cli 2016-06-09 15:37:13 +02:00
ethapi core/vm: Refactor tracing to make Tracer the main interface 2016-08-22 09:26:15 +01:00
jsre rpc: add new client, use it everywhere 2016-07-22 23:21:27 +02:00
web3ext Merge pull request #2740 from Firescar96/removepeer 2016-07-29 12:34:28 +02:00