Skip to content

Conversation

@lupin012
Copy link
Contributor

@lupin012 lupin012 commented Oct 15, 2025

This PR fixes the following Hive RPC compatibility tests:

  • eth_getBlockReceipts/get-block-receipts-by-hash (erigon_default)
  • eth_getBlockReceipts/get-block-receipts-n (erigon_default)

For pre-Byzantium blocks, the Ethereum specification requires that transaction receipts contains:

  • the "postState" field and
  • "NOT" the status field.

To calculate "postState" it is necessary enable the commitment
The current database and snapshots for pre-Byzantium blocks do not contain valid postState data, therefore, we must explicitly re-calculate these receipts to be compliant to the specification (postState instead of status).

If "commitment is not enabled", we always provide the "status" field, regardless of the block number.

Some tests has been implemented to see the fixes using the hive DB

In order to see these tests successfully solved in Hive, a PR enabling commitment is required in the Hive repository itself.

@lupin012 lupin012 changed the title recompute pre-bysantium tx to calculate postState rpcdaemon: pre-byzantium tx calculate postState Oct 15, 2025
@lupin012 lupin012 marked this pull request as ready for review October 15, 2025 11:40
@lupin012 lupin012 marked this pull request as draft October 15, 2025 13:14
@lupin012 lupin012 marked this pull request as ready for review October 15, 2025 19:52
@AskAlexSharov AskAlexSharov merged commit fdb8859 into main Oct 16, 2025
30 checks passed
@AskAlexSharov AskAlexSharov deleted the fix_hive_getReceipts_withPostState branch October 16, 2025 00:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants