Skip to content

Adjusting error codes (start with execution reverted) of eth_calls to geth #9329

@MarekM25

Description

@MarekM25

At least the following three tests are not passing in rpc-combat because our error code differs from Geth.
Geth returns 3, while we return -32000:

  • eth_call/call-revert-abi-error
  • eth_call/call-revert-abi-panic
  • eth_estimateGas/estimate-failed-call

Fixing these should improve how Nethermind works with tooling that is built for Geth.
Ideally, we should try to align all EvmExceptionType values. The current definitions can be found here:
👉 https://github.com/NethermindEth/nethermind/blob/master/src/Nethermind/Nethermind.Evm/EvmExceptionExtensions.cs#L8

As a low-hanging fruit, we could start by aligning execution reverted.
We can also add "message": "execution reverted" to our JSON response.

{
  "error": {
    "code": -- -32000 ++ 3,
    ++ "data": "0x77726f6e672d63616c6c6461746173697a65"
  },
  "id": 1,
  "jsonrpc": "2.0"
}

Hive links:
https://hive.ethpandaops.io/
https://hive.ethpandaops.io/#/test/generic/1758336306-af5b1ba61693a3d0ebb56416e3491b5e?testnumber=25

Metadata

Metadata

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions