-
Notifications
You must be signed in to change notification settings - Fork 1k
eth_simulateV1 discrepancy #9960
Copy link
Copy link
Closed
Labels
P3Medium (ex: JSON-RPC request not working with a specific client library due to loose spec assumtion)Medium (ex: JSON-RPC request not working with a specific client library due to loose spec assumtion)RPCbugSomething isn't workingSomething isn't working
Description
Description
Hello developers,
I am currently running differential testing (Geth, Besu, Nethermind, Reth, Erigon) using a separate testnet chain. During my testing of the eth_simulateV1 method, I observed a discrepancy in how Besu handles the input/data compared to other EL clients.
Specifically, when the input and data are provided in the same time but different values are provided, besu return
error while other EL clients could execute the request. BTW, I also test cases where input and data are provided with same values or only one of the them in the tests, these scenarios are good.
Steps to Reproduce
Test case:
{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_simulateV1",
"params": [
{
"blockStateCalls": [
{
"calls": [
{
"from": "0xc000000000000000000000000000000000000000",
"to": "0xd000000000000000000000000000000000000000",
"input": "0xDEADBEEF",
"data": "0xCAFEBABE"
}
]
}
],
"validation": false
},
"latest"
]
}Expected behavior: Using input value.
Actual behavior: Return error.
Frequency: 100%
Logs
# geth
{"id": 1, "jsonrpc": "2.0", "result": [{"baseFeePerGas": "0x0", "blobGasUsed": "0x0", "calls": [{"gasUsed": "0x52a8", "logs": [], "returnData": "0x", "status": "0x1"}], "difficulty": "0x0", "excessBlobGas": "0x0", "extraData": "0x", "gasLimit": "0x392a13c", "gasUsed": "0x52a8", "hash": "0xd7542931a40cf042965f59458114ccb4ff350d5d52010bb91016adef5080ab4e", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "miner": "0x8943545177806ed17b9f23f0a21ee5948ecaa776", "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x0000000000000000", "number": "0x295", "parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash": "0x846d666feb22d163597d8d132ca1df39ecc8a5ea2abb985fb9dbfc7b713c3e7c", "receiptsRoot": "0xb77f680a9de2f33cc2c460cc18ca6e5b282cfa603b6155c65db4b0019b005b94", "requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", "size": "0x296", "stateRoot": "0xefaddfd587534c0b13b6c5a3db5c939166053c0d893395288af34dc17e674ee5", "timestamp": "0x69a80240", "transactions": ["0xb7ead76612289fb7002977ef4ca37790524af6d51f46027c522ee2fae2f590fa"], "transactionsRoot": "0xe6b8a1dcb3fde4fbb8ef04ea469a2ea3414bc5b5292b548f46aa5653911606d2", "uncles": [], "withdrawals": [], "withdrawalsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}], "server": "http://127.0.0.1:45466"}
# besu
{"error": {"code": -32602, "message": "Invalid params"}, "id": 1, "jsonrpc": "2.0", "server": "http://127.0.0.1:44946"}
# neth
{"id": 1, "jsonrpc": "2.0", "result": [{"baseFeePerGas": "0x0", "blobGasUsed": "0x0", "calls": [{"gasUsed": "0x52a8", "logs": [], "returnData": "0x", "status": "0x1"}], "difficulty": "0x0", "excessBlobGas": "0x0", "extraData": "0x", "gasLimit": "0x392a13c", "gasUsed": "0x52a8", "hash": "0xdf44a812a34691a01f6acb9a410bf17e8b1a2038708f2c5a9fdbd71c9a9191d3", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "miner": "0x8943545177806ed17b9f23f0a21ee5948ecaa776", "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x0000000000000000", "number": "0x295", "parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash": "0x846d666feb22d163597d8d132ca1df39ecc8a5ea2abb985fb9dbfc7b713c3e7c", "receiptsRoot": "0xb77f680a9de2f33cc2c460cc18ca6e5b282cfa603b6155c65db4b0019b005b94", "requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", "size": "0x296", "stateRoot": "0xefaddfd587534c0b13b6c5a3db5c939166053c0d893395288af34dc17e674ee5", "timestamp": "0x69a80240", "transactions": ["0xb2a78c65a368253f1ce5996bca673ad978d5cf4c57cf3e39e7713ebac2a7fe21"], "transactionsRoot": "0x2c2b19d4f8b36a05a0974dd0b0997925c91a742717ff411b3cbb11245f53c850", "uncles": [], "withdrawals": [], "withdrawalsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}], "server": "http://127.0.0.1:46474"}
# reth
{"id": 1, "jsonrpc": "2.0", "result": [{"baseFeePerGas": "0x0", "blobGasUsed": "0x0", "calls": [{"gasUsed": "0x52a8", "logs": [], "returnData": "0x", "status": "0x1"}], "difficulty": "0x0", "excessBlobGas": "0x0", "extraData": "0x626573752032362e312e30", "gasLimit": "0x392a13c", "gasUsed": "0x52a8", "hash": "0xb525149b289f0a64e661284f097518043b499c5f2be8479aeef4117db9f64afa", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "miner": "0x8943545177806ed17b9f23f0a21ee5948ecaa776", "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x0000000000000000", "number": "0x295", "parentBeaconBlockRoot": "0x4bd61a39baf5de5c7a1d917cbbe89ad567634790aeb47095a58e19284a0c80f9", "parentHash": "0x846d666feb22d163597d8d132ca1df39ecc8a5ea2abb985fb9dbfc7b713c3e7c", "receiptsRoot": "0xb77f680a9de2f33cc2c460cc18ca6e5b282cfa603b6155c65db4b0019b005b94", "requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", "size": "0x2a1", "stateRoot": "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp": "0x69a80240", "transactions": ["0xb7ead76612289fb7002977ef4ca37790524af6d51f46027c522ee2fae2f590fa"], "transactionsRoot": "0xe6b8a1dcb3fde4fbb8ef04ea469a2ea3414bc5b5292b548f46aa5653911606d2", "uncles": [], "withdrawals": [], "withdrawalsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}], "server": "http://127.0.0.1:45636"}
# erigon
{"id": 1, "jsonrpc": "2.0", "result": [{"baseFeePerGas": "0x0", "blobGasUsed": "0x0", "calls": [{"gasUsed": "0x52a8", "logs": [], "returnData": "0x", "status": "0x1"}], "difficulty": "0x0", "excessBlobGas": "0x0", "extraData": "0x", "gasLimit": "0x392a13c", "gasUsed": "0x52a8", "hash": "0xd7542931a40cf042965f59458114ccb4ff350d5d52010bb91016adef5080ab4e", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "miner": "0x8943545177806ed17b9f23f0a21ee5948ecaa776", "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "nonce": "0x0000000000000000", "number": "0x295", "parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash": "0x846d666feb22d163597d8d132ca1df39ecc8a5ea2abb985fb9dbfc7b713c3e7c", "receiptsRoot": "0xb77f680a9de2f33cc2c460cc18ca6e5b282cfa603b6155c65db4b0019b005b94", "requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", "size": "0x296", "stateRoot": "0xefaddfd587534c0b13b6c5a3db5c939166053c0d893395288af34dc17e674ee5", "timestamp": "0x69a80240", "transactions": ["0xb7ead76612289fb7002977ef4ca37790524af6d51f46027c522ee2fae2f590fa"], "transactionsRoot": "0xe6b8a1dcb3fde4fbb8ef04ea469a2ea3414bc5b5292b548f46aa5653911606d2", "uncles": [], "withdrawals": [], "withdrawalsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}], "server": "http://127.0.0.1:45998"}
Versions (Add all that apply)
- Software version: besu/v26.1.0
- Docker Version: 24.0.2
- Consensus Client & Version if using Proof of Stake: Lighthouse
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P3Medium (ex: JSON-RPC request not working with a specific client library due to loose spec assumtion)Medium (ex: JSON-RPC request not working with a specific client library due to loose spec assumtion)RPCbugSomething isn't workingSomething isn't working