JSON-RPC returns incorrect yParity for type 0x4 transaction
Description
The eth_getBlockByHash and eth_transactionByHash rpcs are returning an incorrect yParity in the authorizationList section of a type 0x4 transaction.
When used with OP Stack's op-node without --l1.trustrpc, op-node will validate that the data for the block retrieved from the RPC validates against its block hash and Nethermind fails that check due to the invalid yParity value.
Steps to Reproduce
Compare:
cast tx --rpc-url <nethermind-node> 0x4de037f490091665b7d81e63f2b3ef32a4d7627388d257c2295d404730a6eb0b --json | jq '.authorizationList[].yParity'
with the results from public node:
cast tx --rpc-url https://ethereum-sepolia-rpc.publicnode.com 0x4de037f490091665b7d81e63f2b3ef32a4d7627388d257c2295d404730a6eb0b --json | jq '.authorizationList[].yParity'
Nethermind gives 0x1 but public node gives 0xe5.
Actual behavior Nethermind gives an incorrect yParity value.
Expected behavior Get the correct yParity value.
Desktop (please complete the following information): Please provide the following information regarding your setup:
- Operating System: Linux (docker)
- Version: 1.31.11
- Installation Method: Docker
- Consensus Client: Teku 25.4.1
Logs Nethermind logs look completely normal.
Worth noting that Nethermind is following the chain successfully and has the correct block hash - this appears to just be an issue with the data returned by the RPC.