Skip to content

Conversation

ManuelBilbao
Copy link
Contributor

Motivation

Description

@ManuelBilbao ManuelBilbao self-assigned this Oct 6, 2025
@ManuelBilbao ManuelBilbao requested a review from a team as a code owner October 6, 2025 19:59
@Copilot Copilot AI review requested due to automatic review settings October 6, 2025 19:59
@github-actions github-actions bot added L1 Ethereum client L2 Rollup client levm Lambda EVM implementation labels Oct 6, 2025
Copy link
Contributor

@Copilot 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 updates the Rust toolchain version from 1.87.0 to 1.90.0 across the project's configuration files and documentation.

  • Updates Rust version specification in toolchain configuration
  • Updates documentation to reflect the new Rust version requirement
  • Updates Docker base image to use the new Rust version

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
rust-toolchain.toml Updates the Rust channel version from 1.87.0 to 1.90.0
docs/developers/l1/testing/hive.md Updates documentation example to show rust 1.90.0 instead of 1.87.0
Dockerfile Updates Docker base image from rust:1.87 to rust:1.90
.tool-versions Updates asdf tool version for rust from 1.87.0 to 1.90.0

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Contributor

@pablodeymo pablodeymo left a comment

Choose a reason for hiding this comment

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

Let's go Rust 🚀

@github-project-automation github-project-automation bot moved this to In Review in ethrex_l1 Oct 6, 2025
Ok(())
}

pub fn set_fork_id(&mut self, fork_id: &ForkId, signer: &SecretKey) -> Result<(), NodeError> {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This function was not used anywhere

Copy link

github-actions bot commented Oct 7, 2025

Lines of code report

Total lines added: 18
Total lines removed: 24
Total lines changed: 42

Detailed view
+--------------------------------------------------------------+-------+------+
| File                                                         | Lines | Diff |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/blockchain/blockchain.rs                       | 884   | -1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/blockchain/fork_choice.rs                      | 129   | -2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/blockchain/mempool.rs                          | 733   | +1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sdk/src/sdk.rs                              | 887   | -1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/l1_proof_verifier.rs              | 289   | -1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/l2/sequencer/metrics.rs                        | 164   | -1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/discv4/peer_table.rs            | 992   | +1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/peer_handler.rs                 | 1797  | -1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/rlpx/connection/server.rs       | 859   | +2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/sync.rs                         | 1487  | +1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/p2p/types.rs                        | 496   | -12  |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/rpc/engine/blobs.rs                 | 137   | -2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/rpc/engine/fork_choice.rs           | 356   | -1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/networking/rpc/eth/logs.rs                     | 175   | -2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/storage/lib.rs                                 | 13    | +1   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/storage/store_db/in_memory.rs                  | 532   | +2   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/storage/store_db/rocksdb.rs                    | 1113  | +3   |
+--------------------------------------------------------------+-------+------+
| ethrex/crates/vm/levm/src/precompiles.rs                     | 1549  | +4   |
+--------------------------------------------------------------+-------+------+
| ethrex/tooling/archive_sync/src/main.rs                      | 632   | +2   |
+--------------------------------------------------------------+-------+------+
| ethrex/tooling/ef_tests/state_v2/src/modules/result_check.rs | 295   | +1   |
+--------------------------------------------------------------+-------+------+

Copy link

github-actions bot commented Oct 7, 2025

Benchmark for 8e9bddd

Click to view benchmark
Test Base PR %
Trie/cita-trie insert 10k 35.7±0.37ms 34.7±0.26ms -2.80%
Trie/cita-trie insert 1k 3.6±0.10ms 3.6±0.13ms 0.00%
Trie/ethrex-trie insert 10k 55.0±1.09ms 55.5±0.59ms +0.91%
Trie/ethrex-trie insert 1k 6.1±0.21ms 6.1±0.11ms 0.00%

Copy link

github-actions bot commented Oct 7, 2025

Benchmark for 1e1874c

Click to view benchmark
Test Base PR %
Trie/cita-trie insert 10k 35.3±0.54ms 34.9±0.50ms -1.13%
Trie/cita-trie insert 1k 3.6±0.03ms 3.6±0.28ms 0.00%
Trie/ethrex-trie insert 10k 55.5±1.10ms 55.7±0.96ms +0.36%
Trie/ethrex-trie insert 1k 6.2±0.04ms 6.2±0.03ms 0.00%

Copy link

github-actions bot commented Oct 7, 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 4.760 ± 0.014 4.746 4.790 1.03 ± 0.01
main_levm_BubbleSort 4.653 ± 0.027 4.613 4.704 1.00 ± 0.01
pr_revm_BubbleSort 4.798 ± 0.055 4.760 4.902 1.03 ± 0.01
pr_levm_BubbleSort 4.637 ± 0.025 4.617 4.704 1.00

Benchmark Results: ERC20Approval

Command Mean [s] Min [s] Max [s] Relative
main_revm_ERC20Approval 1.570 ± 0.010 1.560 1.594 1.01 ± 0.01
main_levm_ERC20Approval 1.636 ± 0.005 1.629 1.643 1.05 ± 0.01
pr_revm_ERC20Approval 1.552 ± 0.008 1.543 1.564 1.00
pr_levm_ERC20Approval 1.631 ± 0.013 1.621 1.667 1.05 ± 0.01

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 186.9 ± 1.2 185.7 189.6 1.01 ± 0.01
main_levm_ERC20Mint 196.5 ± 1.0 195.5 198.3 1.06 ± 0.01
pr_revm_ERC20Mint 185.7 ± 0.8 184.7 187.1 1.00
pr_levm_ERC20Mint 197.4 ± 0.9 196.2 198.9 1.06 ± 0.01

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 356.3 ± 1.1 355.1 359.1 1.01 ± 0.01
main_levm_ERC20Transfer 384.7 ± 2.1 383.1 389.6 1.09 ± 0.01
pr_revm_ERC20Transfer 353.8 ± 1.4 352.9 356.9 1.00
pr_levm_ERC20Transfer 383.4 ± 2.3 380.7 388.5 1.08 ± 0.01

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 242.5 ± 2.0 238.0 245.0 1.00 ± 0.01
main_levm_Factorial 281.9 ± 0.9 280.8 283.6 1.17 ± 0.01
pr_revm_Factorial 241.8 ± 1.0 240.5 243.5 1.00
pr_levm_Factorial 279.3 ± 0.9 278.4 281.6 1.16 ± 0.01

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.767 ± 0.020 1.736 1.799 1.01 ± 0.03
main_levm_FactorialRecursive 8.694 ± 0.059 8.538 8.744 4.96 ± 0.13
pr_revm_FactorialRecursive 1.755 ± 0.043 1.664 1.800 1.00
pr_levm_FactorialRecursive 8.757 ± 0.095 8.664 8.977 4.99 ± 0.13

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 216.9 ± 0.7 216.1 218.1 1.00
main_levm_Fibonacci 249.0 ± 2.3 247.1 255.2 1.15 ± 0.01
pr_revm_Fibonacci 218.0 ± 2.8 215.7 225.8 1.01 ± 0.01
pr_levm_Fibonacci 246.5 ± 0.5 245.7 247.4 1.14 ± 0.00

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 934.4 ± 9.8 923.3 955.6 1.01 ± 0.01
main_levm_FibonacciRecursive 1040.8 ± 36.9 1018.7 1142.9 1.12 ± 0.04
pr_revm_FibonacciRecursive 927.3 ± 6.7 916.6 934.6 1.00
pr_levm_FibonacciRecursive 1032.8 ± 9.6 1020.1 1044.5 1.11 ± 0.01

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 12.6 ± 0.1 12.5 12.8 1.01 ± 0.01
main_levm_ManyHashes 14.0 ± 0.2 13.8 14.6 1.12 ± 0.02
pr_revm_ManyHashes 12.6 ± 0.0 12.5 12.7 1.00
pr_levm_ManyHashes 13.8 ± 0.0 13.7 13.9 1.10 ± 0.01

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 275.0 ± 1.1 274.0 277.6 1.00
main_levm_MstoreBench 753.5 ± 1.0 751.5 754.7 2.74 ± 0.01
pr_revm_MstoreBench 275.3 ± 1.0 274.0 277.4 1.00 ± 0.01
pr_levm_MstoreBench 757.6 ± 11.0 749.7 787.8 2.75 ± 0.04

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 309.4 ± 2.2 303.9 312.4 1.00
main_levm_Push 832.7 ± 4.4 827.2 841.7 2.69 ± 0.02
pr_revm_Push 309.9 ± 1.7 306.9 311.7 1.00 ± 0.01
pr_levm_Push 829.9 ± 3.5 826.8 837.6 2.68 ± 0.02

Benchmark Results: SstoreBench_no_opt

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_SstoreBench_no_opt 220.9 ± 0.9 219.5 222.5 2.42 ± 0.05
main_levm_SstoreBench_no_opt 92.6 ± 1.8 89.6 94.3 1.01 ± 0.03
pr_revm_SstoreBench_no_opt 222.1 ± 2.9 219.7 230.0 2.43 ± 0.06
pr_levm_SstoreBench_no_opt 91.4 ± 1.7 88.3 93.9 1.00

Copy link

github-actions bot commented Oct 7, 2025

Benchmark for c428c74

Click to view benchmark
Test Base PR %
Trie/cita-trie insert 10k 32.7±0.50ms 32.3±0.45ms -1.22%
Trie/cita-trie insert 1k 3.4±0.05ms 3.5±0.22ms +2.94%
Trie/ethrex-trie insert 10k 51.1±1.20ms 53.0±1.50ms +3.72%
Trie/ethrex-trie insert 1k 5.8±0.29ms 6.0±0.34ms +3.45%

# Copy the ethrex binary into a minimalist image to reduce bloat size.
# This image must have glibc and libssl
FROM debian:12-slim
FROM ubuntu:24.04
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Rust bump requires glibc 2.39 which isn't available in Debian image

Copy link

github-actions bot commented Oct 7, 2025

Benchmark for 335ddd4

Click to view benchmark
Test Base PR %
Trie/cita-trie insert 10k 37.5±4.11ms 36.7±3.29ms -2.13%
Trie/cita-trie insert 1k 3.6±0.03ms 3.5±0.06ms -2.78%
Trie/ethrex-trie insert 10k 55.7±1.64ms 56.6±2.48ms +1.62%
Trie/ethrex-trie insert 1k 6.1±0.04ms 6.1±0.03ms 0.00%

Copy link

github-actions bot commented Oct 8, 2025

Benchmark for b5757ad

Click to view benchmark
Test Base PR %
Trie/cita-trie insert 10k 36.1±1.02ms 35.4±1.06ms -1.94%
Trie/cita-trie insert 1k 3.5±0.02ms 3.6±0.23ms +2.86%
Trie/ethrex-trie insert 10k 55.0±1.09ms 55.5±0.52ms +0.91%
Trie/ethrex-trie insert 1k 6.2±0.30ms 6.1±0.12ms -1.61%

@ManuelBilbao ManuelBilbao added this pull request to the merge queue Oct 8, 2025
Merged via the queue into main with commit 9a03e4c Oct 8, 2025
51 checks passed
@ManuelBilbao ManuelBilbao deleted the bump_rust_version branch October 8, 2025 20:30
@github-project-automation github-project-automation bot moved this to Done in ethrex_l2 Oct 8, 2025
@github-project-automation github-project-automation bot moved this from In Review to Done in ethrex_l1 Oct 8, 2025
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 levm Lambda EVM implementation
Projects
Status: Done
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants