Tracer interface restored to previous implementation to preserve tracer plugins.

This commit is contained in:
philip-morlier 2023-02-20 10:53:26 -08:00
parent be5ed30749
commit 80b7d5ab57

View File

@ -3,6 +3,7 @@ package core
import (
"context"
"math/big"
"time"
"github.com/holiman/uint256"
)
@ -69,11 +70,13 @@ type BlockTracer interface {
PostProcessBlock(block Hash)
}
// The implementation of CaptureEnd below diverges from foundation Geth, we pass dummy variables in PluGeth
// in order to preserve the implementation of the tracing plugins in Plugeth-Plugins.
type TracerResult interface {
CaptureStart(from Address, to Address, create bool, input []byte, gas uint64, value *big.Int)
CaptureState(pc uint64, op OpCode, gas, cost uint64, scope ScopeContext, rData []byte, depth int, err error)
CaptureFault(pc uint64, op OpCode, gas, cost uint64, scope ScopeContext, depth int, err error)
CaptureEnd(output []byte, gasUsed uint64, err error)
CaptureEnd(output []byte, gasUsed uint64, t time.Duration, err error)
CaptureEnter(typ OpCode, from Address, to Address, input []byte, gas uint64, value *big.Int)
CaptureExit(output []byte, gasUsed uint64, err error)
Result() (interface{}, error)