Skip to content

fix(levm): ban SLOTNUM in EIP-8141 validation prefix - #7108

Draft
iovoid wants to merge 1 commit into
mainfrom
fix/eip8141-ban-slotnum-prefix
Draft

fix(levm): ban SLOTNUM in EIP-8141 validation prefix#7108
iovoid wants to merge 1 commit into
mainfrom
fix/eip8141-ban-slotnum-prefix

Conversation

@iovoid

@iovoid iovoid commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Motivation

In ethereum/EIPs#12066, EIP-8141 is updated to also ban SLOTNUM in a validation.

Description

Adds SLOTNUM to the ban list and fixes documentation.

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

⚠️ Known Issues — intentionally skipped tests

Source: docs/known_issues.md

Stateless (zkEVM) Amsterdam+ EF tests skipped

Where: tooling/ef_tests/blockchain/test_runner.rsparse_and_execute skips
fixtures with network >= Fork::Amsterdam when running with a stateless backend.
Affects make test-stateless (the vectors_zkevm/ run); make test-levm is
unaffected.

Why: The stateless run uses the tests-zkevm@v0.5.0 bundle, filled against
glamsterdam-devnet v6.1.0, which predeploys the EIP-8282 builder deposit/exit
contracts at the OLD addresses (0x0000884d…d9008282 / 0x000014574a…0f008282).
This client uses the devnet-7 addresses (0x0000bff4…300d8282 /
0x000064d6…800e8282, matching the live tests-glamsterdam-devnet@v7.2.0 bundle
used by make test-levm). Every Amsterdam+ block runs the end-of-block EIP-8282
builder system call; with the new addresses absent from the v0.5.0 bundle, each
stateless Amsterdam+ block fails with
SystemContractCallFailed("System contract: 0x0000…8282 has no code after deployment").
The skip is by fork rather than by test name, since cross-fork directories such as
for_amsterdam/prague/... still execute at the Amsterdam fork.

Removal: Delete the skip_stateless_amsterdam branch in parse_and_execute
once a tests-zkevm bundle filled with the devnet-7 builder predeploy addresses is
released and .fixtures_url_zkevm is bumped to it.

@github-actions github-actions Bot added the levm Lambda EVM implementation label Aug 5, 2026
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Lines of code report

Total lines added: 1
Total lines removed: 0
Total lines changed: 1

Detailed view
+---------------------------------+-------+------+
| File                            | Lines | Diff |
+---------------------------------+-------+------+
| ethrex/crates/vm/levm/src/vm.rs | 2176  | +1   |
+---------------------------------+-------+------+

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

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 3.000 ± 0.020 2.978 3.027 1.14 ± 0.01
main_levm_BubbleSort 2.633 ± 0.008 2.622 2.645 1.00
pr_revm_BubbleSort 3.011 ± 0.011 2.996 3.029 1.14 ± 0.01
pr_levm_BubbleSort 2.636 ± 0.010 2.622 2.653 1.00 ± 0.00

Benchmark Results: ERC20Approval

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Approval 991.7 ± 3.9 987.4 998.8 1.03 ± 0.01
main_levm_ERC20Approval 966.6 ± 4.2 962.1 975.6 1.00
pr_revm_ERC20Approval 991.5 ± 7.8 982.5 1007.6 1.03 ± 0.01
pr_levm_ERC20Approval 967.3 ± 8.2 956.1 984.7 1.00 ± 0.01

Benchmark Results: ERC20Mint

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Mint 133.6 ± 1.0 132.5 136.0 1.00
main_levm_ERC20Mint 150.3 ± 3.4 147.7 158.7 1.13 ± 0.03
pr_revm_ERC20Mint 133.8 ± 1.2 132.9 136.9 1.00 ± 0.01
pr_levm_ERC20Mint 148.2 ± 1.1 147.2 150.9 1.11 ± 0.01

Benchmark Results: ERC20Transfer

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ERC20Transfer 236.4 ± 1.4 234.7 239.8 1.01 ± 0.01
main_levm_ERC20Transfer 245.5 ± 1.9 243.0 248.2 1.05 ± 0.01
pr_revm_ERC20Transfer 234.0 ± 0.8 232.8 235.9 1.00
pr_levm_ERC20Transfer 246.0 ± 2.8 240.8 250.3 1.05 ± 0.01

Benchmark Results: Factorial

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Factorial 230.3 ± 0.6 229.7 231.6 1.00 ± 0.00
main_levm_Factorial 261.1 ± 2.4 258.2 264.5 1.13 ± 0.01
pr_revm_Factorial 230.1 ± 0.9 228.9 231.9 1.00
pr_levm_Factorial 257.1 ± 2.1 255.7 263.0 1.12 ± 0.01

Benchmark Results: FactorialRecursive

Command Mean [s] Min [s] Max [s] Relative
main_revm_FactorialRecursive 1.693 ± 0.033 1.646 1.732 1.01 ± 0.03
main_levm_FactorialRecursive 9.164 ± 0.018 9.135 9.187 5.49 ± 0.10
pr_revm_FactorialRecursive 1.668 ± 0.030 1.618 1.710 1.00
pr_levm_FactorialRecursive 9.158 ± 0.019 9.127 9.190 5.49 ± 0.10

Benchmark Results: Fibonacci

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Fibonacci 210.4 ± 1.8 206.2 213.3 1.00 ± 0.01
main_levm_Fibonacci 228.5 ± 3.1 226.1 234.4 1.09 ± 0.02
pr_revm_Fibonacci 210.0 ± 1.0 208.2 212.2 1.00
pr_levm_Fibonacci 230.9 ± 4.4 224.8 236.4 1.10 ± 0.02

Benchmark Results: FibonacciRecursive

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_FibonacciRecursive 892.2 ± 11.3 879.8 911.6 1.25 ± 0.02
main_levm_FibonacciRecursive 722.0 ± 6.8 712.2 732.0 1.01 ± 0.01
pr_revm_FibonacciRecursive 868.2 ± 6.9 859.1 877.5 1.22 ± 0.02
pr_levm_FibonacciRecursive 713.9 ± 7.9 705.9 731.2 1.00

Benchmark Results: ManyHashes

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_ManyHashes 8.4 ± 0.0 8.3 8.5 1.00
main_levm_ManyHashes 9.2 ± 0.2 9.1 9.8 1.10 ± 0.03
pr_revm_ManyHashes 8.4 ± 0.1 8.3 8.5 1.00 ± 0.01
pr_levm_ManyHashes 9.2 ± 0.1 9.1 9.3 1.10 ± 0.01

Benchmark Results: MstoreBench

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_MstoreBench 263.6 ± 4.4 260.8 275.2 1.32 ± 0.02
main_levm_MstoreBench 200.1 ± 1.2 197.8 201.9 1.00 ± 0.01
pr_revm_MstoreBench 264.4 ± 4.8 260.8 276.6 1.33 ± 0.03
pr_levm_MstoreBench 199.4 ± 1.4 197.5 202.1 1.00

Benchmark Results: Push

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_Push 296.4 ± 1.8 293.7 299.3 1.15 ± 0.01
main_levm_Push 259.1 ± 2.1 256.8 264.7 1.00 ± 0.01
pr_revm_Push 297.6 ± 1.2 296.0 299.3 1.15 ± 0.01
pr_levm_Push 258.6 ± 2.0 256.2 263.0 1.00

Benchmark Results: SstoreBench_no_opt

Command Mean [ms] Min [ms] Max [ms] Relative
main_revm_SstoreBench_no_opt 166.4 ± 5.9 161.8 182.5 1.62 ± 0.06
main_levm_SstoreBench_no_opt 103.1 ± 0.7 102.2 104.8 1.00 ± 0.01
pr_revm_SstoreBench_no_opt 166.6 ± 1.8 162.1 168.1 1.62 ± 0.02
pr_levm_SstoreBench_no_opt 102.7 ± 0.6 101.8 103.3 1.00

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

Labels

levm Lambda EVM implementation

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

1 participant