Skip to content

Conversation

@rodrigo-o
Copy link
Collaborator

@rodrigo-o rodrigo-o commented Dec 9, 2025

Motivation

We had a regression in our syncing test in Sepolia, this PR reverts main to the latest known commit where the check passed: 3797ce0

Description

This reverts from commit 610df53 up to HEAD (git revert 610df53^..HEAD), going back to 3797ce0

…at` hive suite in Makefile targets (#5463)"

This reverts commit df6595b.
@github-actions github-actions bot added the L1 Ethereum client label Dec 9, 2025
@github-actions
Copy link

github-actions bot commented Dec 9, 2025

Lines of code report

Total lines added: 157
Total lines removed: 1220
Total lines changed: 1377

Detailed view
+--------------------------------------------------------------+-------+------+
| File                                                         | Lines | Diff |
+--------------------------------------------------------------+-------+------+
| ethrex/cmd/ethrex/build_l2.rs                                | 421   | -5   |
+--------------------------------------------------------------+-------+------+
| ethrex/cmd/ethrex/cli.rs                                     | 768   | -6   |
+--------------------------------------------------------------+-------+------+
| ethrex/cmd/ethrex/ethrex.rs                                  | 66    | -65  |
+--------------------------------------------------------------+-------+------+
| ethrex/cmd/ethrex/initializers.rs                            | 453   | -2   |
+--------------------------------------------------------------+-------+------+
| ethrex/cmd/ethrex/l2/deployer.rs                             | 1348  | -137 |
+--------------------------------------------------------------+-------+------+
| ethrex/cmd/ethrex/l2/options.rs                              | 1011  | -30  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/blockchain/metrics/api.rs                      | 48    | -5   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/blockchain/metrics/mod.rs                      | 48    | -2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/common/trie/trie_sorted.rs                     | 441   | +11  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/common/types/fork_id.rs                        | 668   | -6   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/common/types/l2.rs                             | 2     | -1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/common/types/l2/batch.rs                       | 14    | -5   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/common/src/l1_messages.rs                   | 57    | +57  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/common/src/privileged_transactions.rs       | 59    | -9   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/networking/rpc/clients.rs                   | 185   | -16  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/networking/rpc/l2/l1_message.rs             | 89    | +89  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/networking/rpc/rpc.rs                       | 217   | -1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/prover/src/guest_program/src/execution.rs   | 454   | -29  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/prover/src/guest_program/src/output.rs      | 31    | -10  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sdk/src/sdk.rs                              | 1082  | -54  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/block_producer.rs                 | 261   | -59  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/block_producer/payload_builder.rs | 195   | -32  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/configs.rs                        | 101   | -3   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/errors.rs                         | 380   | -2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/l1_committer.rs                   | 1200  | -36  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/l1_watcher.rs                     | 421   | -209 |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/mod.rs                            | 246   | -2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/storage/src/api.rs                          | 134   | -11  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/storage/src/store.rs                        | 346   | -29  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/storage/src/store_db/in_memory.rs           | 360   | -31  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/storage/src/store_db/sql.rs                 | 906   | -108 |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/utils/state_reconstruct.rs                  | 97    | -26  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/discv4/peer_table.rs            | 1010  | -28  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/discv4/server.rs                | 567   | -68  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/metrics.rs                      | 599   | -20  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/peer_handler.rs                 | 1708  | -26  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/rlpx/connection/handshake.rs    | 526   | -2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/rlpx/connection/server.rs       | 1035  | -12  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/rlpx/l2/messages.rs             | 165   | -6   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/rlpx/p2p.rs                     | 317   | -44  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/sync/state_healing.rs           | 385   | -7   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/sync/storage_healing.rs         | 598   | -6   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/storage/api.rs                                 | 247   | -2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/storage/error.rs                               | 41    | -2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/storage/lib.rs                                 | 14    | -1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/storage/store.rs                               | 1497  | -12  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/storage/store_db/in_memory.rs                  | 622   | -6   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/storage/store_db/rocksdb.rs                    | 1736  | -29  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/vm/levm/src/opcode_handlers/arithmetic.rs      | 212   | -12  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/vm/levm/src/precompiles.rs                     | 1660  | -6   |
+--------------------------------------------------------------+-------+------+

@rodrigo-o rodrigo-o marked this pull request as ready for review December 9, 2025 16:11
Copilot AI review requested due to automatic review settings December 9, 2025 16:11
@ethrex-project-sync ethrex-project-sync bot moved this to In Review in ethrex_l1 Dec 9, 2025
@rodrigo-o rodrigo-o changed the title fix(l1): revert commits back to 3797ce0 fix(l1): revert commits back to 3797ce0 for syncing stability in sepolia Dec 9, 2025
@github-actions
Copy link

github-actions bot commented Dec 9, 2025

Benchmark for 8d730ad

Click to view benchmark
Test Base PR %
Trie/cita-trie insert 10k 28.7±1.31ms 29.8±1.19ms +3.83%
Trie/cita-trie insert 1k 2.8±0.07ms 2.9±0.16ms +3.57%
Trie/ethrex-trie insert 10k 25.3±0.63ms 25.1±0.89ms -0.79%
Trie/ethrex-trie insert 1k 2.2±0.03ms 2.2±0.02ms 0.00%

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reverts multiple commits (from 610df53 to HEAD) to restore the codebase to commit 3797ce0 in response to a regression discovered in the Sepolia syncing test. The revert affects multiple components including:

  • Benchmark tooling: Simplifies the import benchmark script and removes directory management complexity
  • L2 functionality: Removes shared bridge feature, including documentation, RLP message encoding for cross-L2 transfers, and balance diff tracking
  • Storage layer: Removes database schema versioning system
  • VM/LEVM: Removes ZISK-specific optimizations in precompiles and arithmetic operations
  • Networking: Simplifies peer disconnection tracking and removes some verbose logging
  • Documentation: Removes shared bridge guides and updates references from Messenger to L2ToL1Messenger

Reviewed changes

Copilot reviewed 116 out of 133 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tooling/import_benchmark/parse_bench.py Reverts to simpler file path handling using range-based indexing; contains spelling error
tooling/import_benchmark/benchmark.sh Removes directory management logic and simplifies output paths
tooling/import_benchmark/README.md Updates documentation to reflect simplified benchmark parameter handling
tooling/import_benchmark/Makefile Updates help text to match new parameter format
tooling/archive_sync/src/main.rs Removes unnecessary error handling wrapper
metrics/provisioning/grafana/dashboards/dashboard.yaml Adds Grafana dashboard provisioning configuration
metrics/provisioning/grafana/dashboards/common_dashboards/ethrex_l1_perf.json Removes "Peer Info" row from dashboard; adds hideSeriesFrom configuration
fixtures/genesis/l2.json Updates L2 genesis contract bytecode
fixtures/blobs/8-1.blob Adds binary blob test fixture
docs/l2/interacting/shared_bridge.md Removes shared bridge interaction guide
docs/l2/interacting/README.md Removes shared bridge reference
docs/l2/fundamentals/withdrawals.md Updates messenger contract references to L2ToL1Messenger
docs/l2/fundamentals/shared_bridge.md Removes shared bridge fundamentals documentation
docs/l2/fundamentals/contracts.md Renames Messenger to L2ToL1Messenger
docs/l2/deployment/shared_bridge.md Removes shared bridge deployment guide
docs/l2/deployment/migrations.md Removes migration documentation
docs/l2/deployment/README.md Removes shared bridge and migration references
docs/l1/running/monitoring.md Removes note about ethereum-metrics-exporter dependency
docs/l1/fundamentals/databases.md Removes database fundamentals documentation
docs/internal/l1/metrics_coverage_gap_analysis.md Reverts peer health and error counter metrics status from "Partial" to "No"
docs/developers/l1/dashboards.md Removes peer info dashboard section
docs/SUMMARY.md Removes shared bridge, migrations, and database documentation links
crates/vm/levm/src/precompiles.rs Removes ZISK feature flag conditionals; simplifies BN254 G1 multiplication
crates/vm/levm/src/opcode_handlers/arithmetic.rs Removes ZISK-specific mulmod optimization
crates/vm/levm/Cargo.toml Removes ziskos dependency
crates/storage/store_db/rocksdb.rs Removes store schema version methods
crates/storage/store_db/in_memory.rs Removes store schema version stub methods
crates/storage/store.rs Removes schema version validation logic
crates/storage/lib.rs Removes STORE_SCHEMA_VERSION constant
crates/storage/error.rs Removes IncompatibleDBVersion error variant
crates/storage/api.rs Removes schema version trait methods
crates/storage/Cargo.toml Adds ethrex-trie/rocksdb feature dependency
crates/networking/p2p/sync/storage_healing.rs Removes periodic "no free peers" logging throttling
crates/networking/p2p/sync/state_healing.rs Removes periodic "no free peers" logging and sleep
crates/networking/p2p/rlpx/p2p.rs Removes DisconnectReason::all() helper method and test
crates/networking/p2p/rlpx/l2/messages.rs Removes l2_message_hashes and balance_diffs from Batch RLP encoding
crates/networking/p2p/rlpx/connection/server.rs Moves disconnect metric recording from teardown to message handling; contains spelling error
crates/networking/p2p/rlpx/connection/handshake.rs Removes disconnect_reason and is_validated state fields
crates/networking/p2p/peer_handler.rs Removes periodic "no free peers" logging throttling across multiple request methods

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link

github-actions bot commented Dec 9, 2025

Benchmark Results Comparison

No significant difference was registered for any benchmark run.

Detailed Results

Benchmark Results: BubbleSort

Command Mean [s] Min [s] Max [s] Relative
main_revm_BubbleSort 2.977 ± 0.017 2.956 3.008 1.00 ± 0.01
main_levm_BubbleSort 3.112 ± 0.012 3.096 3.135 1.05 ± 0.01
pr_revm_BubbleSort 2.973 ± 0.016 2.949 3.008 1.00
pr_levm_BubbleSort 3.091 ± 0.008 3.078 3.102 1.04 ± 0.01

Benchmark Results: ERC20Approval

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Approval 1000.0 ± 69.0 967.4 1194.8 1.02 ± 0.07
main_levm_ERC20Approval 1096.2 ± 6.2 1090.8 1107.4 1.12 ± 0.01
pr_revm_ERC20Approval 979.8 ± 9.0 966.3 991.2 1.00
pr_levm_ERC20Approval 1096.8 ± 10.3 1090.4 1123.7 1.12 ± 0.01

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 132.2 ± 0.8 131.3 133.7 1.00
main_levm_ERC20Mint 163.8 ± 2.1 161.4 168.1 1.24 ± 0.02
pr_revm_ERC20Mint 133.7 ± 0.9 132.6 135.1 1.01 ± 0.01
pr_levm_ERC20Mint 164.2 ± 3.3 161.9 172.2 1.24 ± 0.03

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 231.1 ± 2.3 229.2 236.2 1.00
main_levm_ERC20Transfer 273.8 ± 3.2 271.4 281.6 1.18 ± 0.02
pr_revm_ERC20Transfer 233.7 ± 2.9 229.7 238.1 1.01 ± 0.02
pr_levm_ERC20Transfer 275.5 ± 2.9 270.4 279.9 1.19 ± 0.02

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 224.9 ± 2.4 222.9 231.2 1.01 ± 0.01
main_levm_Factorial 266.0 ± 2.2 263.7 270.5 1.19 ± 0.01
pr_revm_Factorial 223.3 ± 1.1 221.7 225.4 1.00
pr_levm_Factorial 267.2 ± 1.1 265.0 269.1 1.20 ± 0.01

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.629 ± 0.037 1.565 1.694 1.01 ± 0.03
main_levm_FactorialRecursive 8.348 ± 0.027 8.321 8.398 5.18 ± 0.07
pr_revm_FactorialRecursive 1.611 ± 0.022 1.578 1.653 1.00
pr_levm_FactorialRecursive 8.347 ± 0.076 8.277 8.516 5.18 ± 0.08

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 199.9 ± 1.8 197.0 203.1 1.01 ± 0.01
main_levm_Fibonacci 257.1 ± 3.5 251.8 262.5 1.30 ± 0.02
pr_revm_Fibonacci 198.0 ± 1.0 196.6 199.5 1.00
pr_levm_Fibonacci 257.8 ± 3.7 248.4 260.9 1.30 ± 0.02

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 846.7 ± 9.5 834.0 862.4 1.15 ± 0.02
main_levm_FibonacciRecursive 738.6 ± 7.3 732.2 752.1 1.00
pr_revm_FibonacciRecursive 846.1 ± 10.0 828.0 856.8 1.15 ± 0.02
pr_levm_FibonacciRecursive 740.8 ± 3.9 734.1 745.9 1.00 ± 0.01

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 8.3 ± 0.0 8.3 8.4 1.01 ± 0.01
main_levm_ManyHashes 8.9 ± 0.1 8.8 9.0 1.07 ± 0.01
pr_revm_ManyHashes 8.3 ± 0.1 8.2 8.4 1.00
pr_levm_ManyHashes 9.0 ± 0.1 8.9 9.1 1.08 ± 0.01

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 258.7 ± 1.5 257.1 261.9 1.08 ± 0.02
main_levm_MstoreBench 242.2 ± 9.5 237.1 269.0 1.01 ± 0.04
pr_revm_MstoreBench 259.7 ± 3.8 256.6 269.8 1.08 ± 0.02
pr_levm_MstoreBench 239.8 ± 3.6 236.5 249.6 1.00

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 287.0 ± 0.6 286.0 288.0 1.00
main_levm_Push 301.1 ± 1.6 299.1 304.3 1.05 ± 0.01
pr_revm_Push 287.5 ± 2.7 285.0 292.8 1.00 ± 0.01
pr_levm_Push 302.6 ± 1.5 300.0 305.0 1.05 ± 0.01

Benchmark Results: SstoreBench_no_opt

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_SstoreBench_no_opt 175.3 ± 6.3 166.9 190.5 1.96 ± 0.08
main_levm_SstoreBench_no_opt 91.0 ± 2.2 88.3 93.6 1.02 ± 0.03
pr_revm_SstoreBench_no_opt 174.1 ± 3.5 171.1 182.7 1.95 ± 0.05
pr_levm_SstoreBench_no_opt 89.5 ± 1.6 87.9 92.4 1.00

@github-actions
Copy link

github-actions bot commented Dec 9, 2025

Benchmark for c3bb7a6

Click to view benchmark
Test Base PR %
Trie/cita-trie insert 10k 27.8±0.56ms 27.8±0.13ms 0.00%
Trie/cita-trie insert 1k 2.8±0.04ms 2.8±0.08ms 0.00%
Trie/ethrex-trie insert 10k 24.2±0.34ms 24.3±0.73ms +0.41%
Trie/ethrex-trie insert 1k 2.2±0.04ms 2.2±0.01ms 0.00%

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

Labels

L1 Ethereum client

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

4 participants