Pre-shanghai rpc calls for engine_newPayloadV2 do not treat the params as ExecutionPayloadV1 which is the expected behavior. Instead they parse the param as ExecutionPayloadV2 which is an issue if we do not provide a withdrawals field.
Steps to reproduce
Steps to reproduce:
Start Reth post-merge but pre Shanghai.
Submit an engine_newPayloadV2 request without withdrawals.
{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Invalid params",
"data": "missing field `withdrawals` at line 1 column 1199"
},
"id": 1
}
To easily reproduce start a lighthouse-reth instance with a bellatrix genesis. Lighthouse will not be able to follow the chain due to the repeated rpc errors.
Describe the bug
Pre-shanghai rpc calls for engine_newPayloadV2 do not treat the params as ExecutionPayloadV1 which is the expected behavior. Instead they parse the param as ExecutionPayloadV2 which is an issue if we do not provide a withdrawals field.
Steps to reproduce
Steps to reproduce:
Run with following chain config:
// shanghaiTime = 0x65070449
Request Used:
Note: timestamp < shanghaiTime
Response:
To easily reproduce start a lighthouse-reth instance with a bellatrix genesis. Lighthouse will not be able to follow the chain due to the repeated rpc errors.
Node logs
Platform(s)
Linux (ARM)
What version/commit are you on?
0.1.0-alpha.8/62e7d982
What database version are you on?
1
If you've built Reth from source, provide the full command you used
cargo build --release
Code of Conduct