Skip to content

Conversation

canepat
Copy link

@canepat canepat commented Oct 16, 2025

Add flag to enable commitment history in Erigon: this is necessary to fix some failing rpc-compat tests which require historical state root computation

@fjl
Copy link
Collaborator

fjl commented Oct 17, 2025

I'm curious, which tests are these? The rpc-compat tests really should not require any special settings in the client.

@canepat
Copy link
Author

canepat commented Oct 18, 2025

For example, they are eth_simulateV1 tests executing on any historical block, thus computing state root for simulated blocks on top of historical state, e.g. eth_simulateV1/ethSimulate-empty-with-block-num-set-firstblock and eth_simulateV1/ethSimulate-empty-with-block-num-set-minusone.
Another example are eth_getTransactionReceipt and eth_getBlockReceipts tests on pre-Byzantium blocks, which require root field (a.k.a. PostState) in transaction receipt.

Anyway, commitment history in Erigon is currently experimental only because it's a recent addition, so it won't be special in the near future 🙂

@fjl
Copy link
Collaborator

fjl commented Oct 19, 2025

The requirement for archive node in tests is not intentional, that's why I'm asking. I want the tests to be runnable in the node's default configuration if at all possible.

For the tests you mention, we can definitely change eth_simulate tests to not require executing on top of old blocks. For the receipt tests, it's a bit strange for me that this would require re-execution, since the root should be stored to the database as an output of execution. At least that's what all other clients do.

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.

2 participants