{"push_id":1258142914,"size":1,"distinct_size":1,"ref":"refs/heads/tracing","head":"ee1fab80178a061e78bb7f682c7049d3bcd5f09b","before":"1851f454c04c8f4195ac32ccb848a5ac3b12bfba","commits":[{"sha":"ee1fab80178a061e78bb7f682c7049d3bcd5f09b","author":{"name":"Nick Johnson","email":"ff56e4015aa67ef7485e2ef5570198b396b252dd@notdot.net"},"message":"core/vm: Refactor tracing to make Tracer the main interface\n\nThis CL makes several refactors:\n - Define a Tracer interface, implementing the `CaptureState` method\n - Add the VM environment as the first argument of\n   `Tracer.CaptureState`\n - Rename existing functionality `StructLogger` an make it an\n   implementation of `Tracer`\n - Delete `StructLogCollector` and make `StructLogger` collect the logs\n   directly\n - Change all callers to use the new `StructLogger` where necessary and\n   extract logs from that.\n - Deletes the apparently obsolete and likely nonfunctional 'TraceCall'\n   from the eth API.\n\nCallers that only wish accumulated logs can use the `StructLogger`\nimplementation straightforwardly. Callers that wish to efficiently\ncapture VM traces and operate on them without excessive copying can now\nimplement the `Tracer` interface to receive VM state at each step and\ndo with it as they wish.\n\nThis CL also removes the accumulation of logs from the vm.Environment;\nthis was necessary as part of the refactor, but also simplifies it by\nremoving a responsibility that doesn't directly belong to the\nEnvironment.","distinct":true,"url":"https://api.github.com/repos/Arachnid/go-ethereum/commits/ee1fab80178a061e78bb7f682c7049d3bcd5f09b"}]}
{"actor":{"display_login":"Arachnid"}}