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 ( import (
"context" "context"
"math/big" "math/big"
"time"
"github.com/holiman/uint256" "github.com/holiman/uint256"
) )
@ -69,11 +70,13 @@ type BlockTracer interface {
PostProcessBlock(block Hash) 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 { type TracerResult interface {
CaptureStart(from Address, to Address, create bool, input []byte, gas uint64, value *big.Int) 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) 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) 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) CaptureEnter(typ OpCode, from Address, to Address, input []byte, gas uint64, value *big.Int)
CaptureExit(output []byte, gasUsed uint64, err error) CaptureExit(output []byte, gasUsed uint64, err error)
Result() (interface{}, error) Result() (interface{}, error)