Skip to content

Conversation

JereSalo
Copy link
Contributor

@JereSalo JereSalo commented Oct 16, 2025

Motivation

  • Fix Stateless execution of some blocks in replay. Attached to this PR in replay.

Description

  • A modification to the trie is necessary if we want to run some blocks with eth_getProof. I tried not to modify ethrex code for achieving this but I have no choice other than doing this, I don't think the cost of making this change is high at all. Previously we executed these kind of blocks that failed with stateless execution in a non-stateless manner but that required changing even more code inside ethrex, it's just that it went unnoticed because it didn't require a feature flag. IMHO this is the best patch possible we can make, I don't love it but I don't seem to find a better alternative

These changes are the same as the ones made in #2952, this one was closed because we started using the Execution Witness but now in replay we have support for both methods: eth_getProof and debug_executionWitness

@JereSalo JereSalo self-assigned this Oct 16, 2025
@github-actions github-actions bot added L1 Ethereum client L2 Rollup client labels Oct 16, 2025
Copy link

Lines of code report

Total lines added: 7
Total lines removed: 0
Total lines changed: 7

Detailed view
+------------------------------------------+-------+------+
| File                                     | Lines | Diff |
+------------------------------------------+-------+------+
| ethrex/crates/common/trie/node/branch.rs | 536   | +7   |
+------------------------------------------+-------+------+

Copy link

Benchmark for 4252365

Click to view benchmark
Test Base PR %
Trie/cita-trie insert 10k 35.2±0.77ms 35.2±0.69ms 0.00%
Trie/cita-trie insert 1k 3.5±0.01ms 3.6±0.19ms +2.86%
Trie/ethrex-trie insert 10k 62.1±0.82ms 62.2±0.71ms +0.16%
Trie/ethrex-trie insert 1k 8.0±0.02ms 8.0±0.08ms 0.00%

Copy link

Benchmark for 239f618

Click to view benchmark
Test Base PR %
Trie/cita-trie insert 10k 35.4±0.68ms 35.9±1.64ms +1.41%
Trie/cita-trie insert 1k 3.4±0.01ms 3.6±0.26ms +5.88%
Trie/ethrex-trie insert 10k 62.5±0.85ms 62.6±0.78ms +0.16%
Trie/ethrex-trie insert 1k 7.9±0.20ms 8.0±0.02ms +1.27%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

L1 Ethereum client L2 Rollup client

Projects

Status: No status
Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant