plugeth/plugins/test-plugin/tracer.go
philip-morlier e9630a85f4 This is a functional build a dev tagged release of foundation plugeth
This brings the project up to geth v1.12.0

The plugeth test plugin has been added but is failing on the live tracer hooks as of this commit
2023-07-13 13:10:19 -07:00

59 lines
1.6 KiB
Go

package main
import (
"math/big"
"time"
"github.com/openrelayxyz/plugeth-utils/core"
)
type TracerService struct {}
var Tracers = map[string]func(core.StateDB) core.TracerResult{
"testTracer": func(core.StateDB) core.TracerResult {
return &TracerService{}
},
}
func (b *TracerService) CaptureStart(from core.Address, to core.Address, create bool, input []byte, gas uint64, value *big.Int) {
m := map[string]struct{}{
"StandardCaptureStart": struct{}{},
}
hookChan <- m
}
func (b *TracerService) CaptureState(pc uint64, op core.OpCode, gas, cost uint64, scope core.ScopeContext, rData []byte, depth int, err error) {
m := map[string]struct{}{
"StandardCaptureState": struct{}{},
}
hookChan <- m
}
func (b *TracerService) CaptureFault(pc uint64, op core.OpCode, gas, cost uint64, scope core.ScopeContext, depth int, err error) {
m := map[string]struct{}{
"StandardCaptureFault": struct{}{},
}
hookChan <- m
}
func (b *TracerService) CaptureEnd(output []byte, gasUsed uint64, t time.Duration, err error) {
m := map[string]struct{}{
"StandardCaptureEnd": struct{}{},
}
hookChan <- m
}
func (b *TracerService) CaptureEnter(typ core.OpCode, from core.Address, to core.Address, input []byte, gas uint64, value *big.Int) {
m := map[string]struct{}{
"StandardCaptureEnter": struct{}{},
}
hookChan <- m
}
func (b *TracerService) CaptureExit(output []byte, gasUsed uint64, err error) {
m := map[string]struct{}{
"StandardCaptureExit": struct{}{},
}
hookChan <- m
}
func (b *TracerService) Result() (interface{}, error) {
m := map[string]struct{}{
"StandardTracerResult": struct{}{},
}
hookChan <- m
return "", nil }