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
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-erroreth_call/call-revert-abi-paniceth_estimateGas/estimate-failed-callFixing these should improve how Nethermind works with tooling that is built for Geth.
Ideally, we should try to align all
EvmExceptionTypevalues. 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.Hive links:
https://hive.ethpandaops.io/
https://hive.ethpandaops.io/#/test/generic/1758336306-af5b1ba61693a3d0ebb56416e3491b5e?testnumber=25