Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

debug_traceCall does not return output when the transaction is reverting #13802

Open
1 task done
arcticfloyd1984 opened this issue Jan 15, 2025 · 1 comment
Open
1 task done
Labels
C-bug An unexpected or incorrect behavior S-needs-triage This issue needs to be labelled

Comments

@arcticfloyd1984
Copy link

Describe the bug

I am trying to make a handleOps call on the ERC-4337 Entry Point contract by sending a single-user operation using an EIP-7702 transaction on the Odyssey network. The debug_traceCall returns an execution reverted but no output field which I need to decode the error response.

I asked this on Odyssey's Issues but was asked to report the issue here :)

Steps to reproduce

Entry Point Contract: https://odyssey-explorer.ithaca.xyz/address/0x0000000071727De22E5E9d8BAf0edAc6f37da032

Odyssey RPC URL: https://odyssey.ithaca.xyz

debug_traceCall curl request:

curl --location 'https://odyssey.ithaca.xyz' \
--header 'Content-Type: application/json' \
--data '{
    "method": "debug_traceCall",
    "params": [
        {
            "from": "0x8a95a0e55d591b00cf18253148647daad25fa6a8",
            "to": "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
            "data": "0x765e827f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000008a95a0e55d591b00cf18253148647daad25fa6a800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f054febb594d4296c61ea45db81494543caea958000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000249f0000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4b61d27f60000000000000000000000008a95a0e55d591b00cf18253148647daad25fa6a8000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000203681d10785d31c48f67e39c92b607ca458d403937a3c615e8f45bf6ea4399aa400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004178266933c261aaa2bc7501bdd1282f86533494de495517a89cb557000b12f1c8610cdc4b859981505469ce4d9c8aa78d779322684bc25e46382270d5831f81871b00000000000000000000000000000000000000000000000000000000000000",
            "value": "0x0",
            "gas": "0x1C9C380",
            "maxFeePerGas": "0x0",
            "maxPriorityFeePerGas": "0x0",
            "authorizationList": [
                {
                    "contractAddress": "0x000100abaad02f1cfC8Bbe32bD5a564817339E72",
                    "chainId": "0xde9fb",
                    "nonce": "0x9",
                    "r": "0xffc98911bf8f2ad1fa660a3e2072662df92c4055685f16ca09bd818f00a6f853",
                    "s": "0x14d49c5adce1fdd5d406a977a73add1645a6af48f57053400d0698d6a7c16d26",
                    "yParity": "0x0",
                    "address": "0x000100abaad02f1cfC8Bbe32bD5a564817339E72"
                }
            ]
        },
        "latest",
        {
            "tracer": "callTracer"
        }
    ],
    "id": 1,
    "jsonrpc": "2.0"
}'

debug_traceCall response:


{
    "jsonrpc": "2.0",
    "result": {
        "calls": [
            {
                "from": "0x0000000071727de22e5e9d8baf0edac6f37da032",
                "gas": "0x249f0",
                "gasUsed": "0x0",
                "input": "0x19822f7c0000000000000000000000000000000000000000000000000000000000000060cac0d288cec2e27aaaa4b23b87860247d9d5355a4ac9464d0c1f50022bf085860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f054febb594d4296c61ea45db81494543caea958000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000249f0000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4b61d27f60000000000000000000000008a95a0e55d591b00cf18253148647daad25fa6a8000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000203681d10785d31c48f67e39c92b607ca458d403937a3c615e8f45bf6ea4399aa400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004178266933c261aaa2bc7501bdd1282f86533494de495517a89cb557000b12f1c8610cdc4b859981505469ce4d9c8aa78d779322684bc25e46382270d5831f81871b00000000000000000000000000000000000000000000000000000000000000",
                "to": "0xf054febb594d4296c61ea45db81494543caea958",
                "type": "CALL",
                "value": "0x0"
            }
        ],
        "error": "execution reverted",
        "from": "0x8a95a0e55d591b00cf18253148647daad25fa6a8",
        "gas": "0x1c9c380",
        "gasUsed": "0x108be",
        "input": "0x765e827f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000008a95a0e55d591b00cf18253148647daad25fa6a800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f054febb594d4296c61ea45db81494543caea958000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000249f0000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a4b61d27f60000000000000000000000008a95a0e55d591b00cf18253148647daad25fa6a8000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000203681d10785d31c48f67e39c92b607ca458d403937a3c615e8f45bf6ea4399aa400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004178266933c261aaa2bc7501bdd1282f86533494de495517a89cb557000b12f1c8610cdc4b859981505469ce4d9c8aa78d779322684bc25e46382270d5831f81871b00000000000000000000000000000000000000000000000000000000000000",
        "to": "0x0000000071727de22e5e9d8baf0edac6f37da032",
        "type": "CALL",
        "value": "0x0"
    },
    "id": 1
}

From what I understand if a frame reverts, an output is available in the response

Node logs


Platform(s)

No response

Container Type

Not running in a container

What version/commit are you on?

NA

What database version are you on?

NA

Which chain / network are you on?

Odyssey

https://hub.conduit.xyz/odyssey

What type of node are you running?

Archive (default)

What prune config do you use, if any?

No response

If you've built Reth from source, provide the full command you used

No response

Code of Conduct

  • I agree to follow the Code of Conduct
@arcticfloyd1984 arcticfloyd1984 added C-bug An unexpected or incorrect behavior S-needs-triage This issue needs to be labelled labels Jan 15, 2025
@klkvr
Copy link
Collaborator

klkvr commented Jan 15, 2025

I think it might be because the revert reason is empty https://github.com/paradigmxyz/revm-inspectors/blob/07724e60e507acd3ad87d162f2208f44868e5b0c/src/tracing/types.rs#L416

I've just tested and for reverting calls with non-empty data the output is present


~ cast rpc 'debug_traceCall' '{ "to": "0x238c8CD93ee9F8c7Edf395548eF60c0d2e46665E", "data": "0xa9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" }' 'latest' '{"tracer": "callTracer"}' --rpc-url https://odyssey.ithaca.xyz       
{"error":"execution reverted","from":"0x0000000000000000000000000000000000000000","gas":"0x2faf080","gasUsed":"0x5dd0","input":"0xa9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","output":"0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013756e617574686f72697a6564206f726967696e00000000000000000000000000","revertReason":"unauthorized origin","to":"0x238c8cd93ee9f8c7edf395548ef60c0d2e46665e","type":"CALL","value":"0x0"}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug An unexpected or incorrect behavior S-needs-triage This issue needs to be labelled
Projects
Status: Todo
Development

No branches or pull requests

2 participants