From 65d2fbda7cfe8fd71a4a95a13353121ac7b235b3 Mon Sep 17 00:00:00 2001 From: ledgerwatch <akhounov@gmail.com> Date: Mon, 6 Dec 2021 12:03:57 +0000 Subject: [PATCH] trace_ include subtraces to precompiles with value > 0 (#3096) Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local> --- cmd/rpcdaemon/commands/trace_adhoc.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/rpcdaemon/commands/trace_adhoc.go b/cmd/rpcdaemon/commands/trace_adhoc.go index e3e9f9b25d..c12562c717 100644 --- a/cmd/rpcdaemon/commands/trace_adhoc.go +++ b/cmd/rpcdaemon/commands/trace_adhoc.go @@ -241,6 +241,7 @@ type OeTracer struct { } func (ot *OeTracer) CaptureStart(depth int, from common.Address, to common.Address, precompile bool, create bool, calltype vm.CallType, input []byte, gas uint64, value *big.Int, code []byte) error { + //fmt.Printf("CaptureStart depth %d, from %x, to %x, create %t, input %x, gas %d, value %d, precompile %t\n", depth, from, to, create, input, gas, value, precompile) if ot.r.VmTrace != nil { var vmTrace *VmTrace if depth > 0 { @@ -270,14 +271,13 @@ func (ot *OeTracer) CaptureStart(depth int, from common.Address, to common.Addre vmTrace.Code = code } } - if precompile && depth > 0 { + if precompile && depth > 0 && value.Sign() <= 0 { ot.precompile = true return nil } if gas > 500000000 { gas = 500000001 - (0x8000000000000000 - gas) } - //fmt.Printf("CaptureStart depth %d, from %x, to %x, create %t, input %x, gas %d, value %d\n", depth, from, to, create, input, gas, value) trace := &ParityTrace{} if create { trResult := &CreateTraceResult{} -- GitLab