erigon icon indicating copy to clipboard operation
erigon copied to clipboard

debug_traceBlockByNumber (callTracer) not returning value field deep in nested calls

Open quickchase opened this issue 1 year ago • 0 comments

System information

Erigon version: 2.58.0-9731f716

Chain/Network: Ethereum Mainnet

Expected behaviour

Erigon debug matches Geth and Reth debug

Actual behaviour

Erigon fails to return the value key deep inside nested calls

Steps to reproduce the behaviour

This is the call

{"jsonrpc":"2.0","id":1,"method":"debug_traceBlockByNumber","params":["0x124834b",{"tracer":"callTracer","timeout":"300s"}]}

Here's Geth:

cat geth.json | jq -r '.result[0].result.calls[0].calls[6].calls'
[
  {
    "calls": [
      {
        "from": "0x3328f7f4a1d1c57c35df56bbf0c9dcafca309c49",
        "gas": "0x673",
        "gasUsed": "0x37",
        "input": "0x",
        "to": "0xbcd3a47e4d0000cf170e25d1bd3d53f7c08be0a6",
        "type": "DELEGATECALL",
        "value": "0x7475c8a3f6554f5" <---- THI FIELD IS MISSING IN ERIGON
      }
    ],
    "from": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
    "gas": "0x8fc",
    "gasUsed": "0x2cc",
    "input": "0x",
    "to": "0x3328f7f4a1d1c57c35df56bbf0c9dcafca309c49",
    "type": "CALL",
    "value": "0x7475c8a3f6554f5"
  }
]

Here's Erigon:

cat erigon.json | jq -r '.result[0].result.calls[0].calls[6].calls'
[
  {
    "calls": [
      {
        "from": "0x3328f7f4a1d1c57c35df56bbf0c9dcafca309c49",
        "gas": "0x673",
        "gasUsed": "0x37",
        "input": "0x",
        "to": "0xbcd3a47e4d0000cf170e25d1bd3d53f7c08be0a6",
        "type": "DELEGATECALL"
      }
    ],
    "from": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
    "gas": "0x8fc",
    "gasUsed": "0x2cc",
    "input": "0x",
    "to": "0x3328f7f4a1d1c57c35df56bbf0c9dcafca309c49",
    "type": "CALL",
    "value": "0x7475c8a3f6554f5"
  }
]

Reth produces the same output a Geth

quickchase avatar Feb 29 '24 16:02 quickchase