Skip to content

Commit 1ed03aa

Browse files
authored
Merge pull request #26 from mantle-xyz/mantle-elysium
feat(revm): upgrade to upstream v107 (revm 38.0.0) + op-geth parity fixes for Mantle Elysium
2 parents bcf1a6a + 3c984f3 commit 1ed03aa

354 files changed

Lines changed: 22616 additions & 7267 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/bench.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
codspeed:
1414
runs-on: ubuntu-latest
1515
steps:
16-
- uses: actions/checkout@v5
16+
- uses: actions/checkout@v6
1717
with:
1818
submodules: true
1919
- uses: dtolnay/rust-toolchain@stable

.github/workflows/book.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
name: test
1818

1919
steps:
20-
- uses: actions/checkout@v5
20+
- uses: actions/checkout@v6
2121

2222
- name: Install mdbook
2323
run: |
@@ -42,7 +42,7 @@ jobs:
4242
name: lint
4343

4444
steps:
45-
- uses: actions/checkout@v5
45+
- uses: actions/checkout@v6
4646

4747
- name: Install mdbook-linkcheck
4848
run: |
@@ -58,7 +58,7 @@ jobs:
5858
build:
5959
runs-on: ubuntu-latest
6060
steps:
61-
- uses: actions/checkout@v5
61+
- uses: actions/checkout@v6
6262
with:
6363
fetch-depth: 0
6464

.github/workflows/ci.yml

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,19 @@ jobs:
2121
strategy:
2222
fail-fast: false
2323
matrix:
24-
rust: ["1.88", "stable", "nightly"]
24+
rust: ["1.91", "stable", "nightly"]
2525
flags: ["--no-default-features", "", "--all-features"]
2626
steps:
27-
- uses: actions/checkout@v5
27+
- uses: actions/checkout@v6
2828
- uses: dtolnay/rust-toolchain@master
2929
with:
3030
toolchain: ${{ matrix.rust }}
3131
- uses: Swatinem/rust-cache@v2
32+
- name: Install GMP (all-features)
33+
if: contains(matrix.flags, '--all-features')
34+
run: |
35+
sudo apt-get update
36+
sudo apt-get install -y libgmp-dev
3237
- run: cargo test --workspace ${{ matrix.flags }}
3338

3439
check-no-std:
@@ -41,7 +46,7 @@ jobs:
4146
target: ["riscv32imac-unknown-none-elf", "riscv64imac-unknown-none-elf"]
4247
features: [""]
4348
steps:
44-
- uses: actions/checkout@v5
49+
- uses: actions/checkout@v6
4550
- uses: dtolnay/rust-toolchain@stable
4651
with:
4752
targets: ${{ matrix.target }}
@@ -59,7 +64,7 @@ jobs:
5964
matrix:
6065
features: ["", "serde", "std", "std,map-foldhash"]
6166
steps:
62-
- uses: actions/checkout@v5
67+
- uses: actions/checkout@v6
6368
- uses: dtolnay/rust-toolchain@stable
6469
- run: cargo check --no-default-features -p revm --features=${{ matrix.features }}
6570

@@ -68,12 +73,16 @@ jobs:
6873
runs-on: ubuntu-latest
6974
timeout-minutes: 30
7075
steps:
71-
- uses: actions/checkout@v5
76+
- uses: actions/checkout@v6
7277
- uses: dtolnay/rust-toolchain@stable
7378
- uses: taiki-e/install-action@cargo-hack
7479
- uses: Swatinem/rust-cache@v2
7580
with:
7681
cache-on-failure: true
82+
- name: Install GMP
83+
run: |
84+
sudo apt-get update
85+
sudo apt-get install -y libgmp-dev
7786
- name: cargo hack
7887
run: cargo hack check --feature-powerset --depth 1
7988

@@ -82,10 +91,14 @@ jobs:
8291
runs-on: ubuntu-latest
8392
timeout-minutes: 30
8493
steps:
85-
- uses: actions/checkout@v5
94+
- uses: actions/checkout@v6
8695
- uses: dtolnay/rust-toolchain@stable
8796
with:
8897
components: clippy
98+
- name: Install GMP
99+
run: |
100+
sudo apt-get update
101+
sudo apt-get install -y libgmp-dev
89102
- run: cargo clippy --workspace --all-targets --all-features
90103
env:
91104
RUSTFLAGS: -Dwarnings
@@ -95,10 +108,14 @@ jobs:
95108
runs-on: ubuntu-latest
96109
timeout-minutes: 30
97110
steps:
98-
- uses: actions/checkout@v5
111+
- uses: actions/checkout@v6
99112
- uses: dtolnay/rust-toolchain@stable
100113
with:
101114
components: rust-docs
115+
- name: Install GMP
116+
run: |
117+
sudo apt-get update
118+
sudo apt-get install -y libgmp-dev
102119
- run: cargo doc --workspace --all-features --no-deps --document-private-items
103120
env:
104121
RUSTDOCFLAGS: "--cfg docsrs -D warnings"
@@ -108,7 +125,7 @@ jobs:
108125
runs-on: ubuntu-latest
109126
timeout-minutes: 30
110127
steps:
111-
- uses: actions/checkout@v5
128+
- uses: actions/checkout@v6
112129
- uses: dtolnay/rust-toolchain@stable
113130
with:
114131
components: rustfmt
@@ -118,7 +135,7 @@ jobs:
118135
runs-on: ubuntu-latest
119136
timeout-minutes: 20
120137
steps:
121-
- uses: actions/checkout@v5
138+
- uses: actions/checkout@v6
122139
- name: run zepter
123140
run: |
124141
cargo install zepter -f --locked
@@ -129,5 +146,5 @@ jobs:
129146
runs-on: ubuntu-latest
130147
timeout-minutes: 30
131148
steps:
132-
- uses: actions/checkout@v5
149+
- uses: actions/checkout@v6
133150
- uses: crate-ci/typos@v1

.github/workflows/ethereum-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
target: [i686-unknown-linux-gnu, x86_64-unknown-linux-gnu]
2121
steps:
2222
- name: Checkout sources
23-
uses: actions/checkout@v5
23+
uses: actions/checkout@v6
2424

2525
- name: Install toolchain
2626
uses: dtolnay/rust-toolchain@stable

.github/workflows/pr-audit.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Pull request audit
2+
3+
on:
4+
pull_request:
5+
types: [labeled]
6+
7+
jobs:
8+
publish:
9+
runs-on: ubuntu-latest
10+
if: github.event.label.name == 'cyclops'
11+
steps:
12+
- name: Publish event
13+
run: |
14+
set -euo pipefail
15+
16+
echo "${{ secrets.EVENTS_KEY }}" > ${{ runner.temp }}/key
17+
echo "${{ secrets.EVENTS_CERT }}" > ${{ runner.temp }}/cert
18+
19+
curl -sf -o /dev/null -X POST ${{ secrets.EVENTS_ARGS }} \
20+
-H "Content-Type: application/json" \
21+
--key ${{ runner.temp }}/key \
22+
--cert ${{ runner.temp }}/cert \
23+
-d '{
24+
"repository": "${{ github.repository }}",
25+
"event": "pr_audit",
26+
"data": {
27+
"pr_number": ${{ github.event.pull_request.number }},
28+
"sha": "${{ github.event.pull_request.head.sha }}"
29+
}
30+
}'

.github/workflows/release-plz.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- name: Checkout repository
19-
uses: actions/checkout@v5
19+
uses: actions/checkout@v6
2020
with:
2121
fetch-depth: 0
2222
- name: Install Rust toolchain

CHANGELOG.md

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,173 @@
11
Because this is workspace with multi libraries, tags will be simplified, and with this document you can match version of project with git tag.
22

3+
# v107
4+
date: 17.04.2026
5+
6+
Maintanance release, utility changes.
7+
8+
* `revm-state`: 11.0.0 -> 11.0.1 (✓ API compatible changes)
9+
* `revm-context-interface`: 17.0.0 -> 17.0.1 (✓ API compatible changes)
10+
* `revm-interpreter`: 35.0.0 -> 35.0.1 (✓ API compatible changes)
11+
* `revm-precompile`: 33.0.0 -> 34.0.0 (✓ API compatible changes)
12+
* `revm-handler`: 18.0.0 -> 19.0.0 (✓ API compatible changes)
13+
* `revm-inspector`: 18.0.0 -> 19.0.0 (✓ API compatible changes)
14+
* `revm-database-interface`: 11.0.0 -> 11.0.1
15+
* `revm-context`: 16.0.0 -> 16.0.1
16+
* `revm-database`: 13.0.0 -> 13.0.1
17+
* `revm-statetest-types`: 17.0.0 -> 17.0.1
18+
* `revm`: 37.0.0 -> 38.0.0
19+
* `revme`: 14.0.0 -> 15.0.0
20+
* `op-revm`: 18.0.0 -> 19.0.0
21+
22+
# v106
23+
date 10.04.2026
24+
25+
Eth devnet3. EIP-8037 State gas support
26+
27+
* `revm-primitives`: 22.1.0 -> 23.0.0 (⚠ API breaking changes)
28+
* `revm-bytecode`: 9.0.0 -> 10.0.0 (✓ API compatible changes)
29+
* `revm-database-interface`: 10.0.0 -> 11.0.0 (✓ API compatible changes)
30+
* `revm-context-interface`: 16.0.0 -> 17.0.0 (⚠ API breaking changes)
31+
* `revm-context`: 15.0.0 -> 16.0.0 (⚠ API breaking changes)
32+
* `revm-database`: 12.0.0 -> 13.0.0 (⚠ API breaking changes)
33+
* `revm-interpreter`: 34.0.0 -> 35.0.0 (⚠ API breaking changes)
34+
* `revm-precompile`: 32.1.0 -> 33.0.0 (⚠ API breaking changes)
35+
* `revm-handler`: 17.0.0 -> 18.0.0 (⚠ API breaking changes)
36+
* `revm-inspector`: 17.0.0 -> 18.0.0 (✓ API compatible changes)
37+
* `revm-statetest-types`: 16.0.0 -> 17.0.0 (✓ API compatible changes)
38+
* `revme`: 13.0.0 -> 14.0.0 (⚠ API breaking changes)
39+
* `op-revm`: 17.0.0 -> 18.0.0 (✓ API compatible changes)
40+
* `revm-state`: 10.0.0 -> 11.0.0
41+
* `revm`: 36.0.0 -> 37.0.0
42+
43+
# v105
44+
date: 04.03.2026
45+
46+
Bump revm-database-interface major version. All dependent crates bumped accordingly.
47+
48+
* `revm-database-interface`: 9.0.1 -> 10.0.0 (⚠ API breaking changes)
49+
* `revm-interpreter`: 33.0.0 -> 34.0.0 (⚠ dependency bump)
50+
* `revm-database`: 11.0.0 -> 12.0.0 (⚠ dependency bump)
51+
* `revm-context-interface`: 15.0.0 -> 16.0.0 (⚠ dependency bump)
52+
* `revm-context`: 14.0.0 -> 15.0.0 (⚠ dependency bump)
53+
* `revm-handler`: 16.0.0 -> 17.0.0 (⚠ dependency bump)
54+
* `revm-inspector`: 16.0.0 -> 17.0.0 (⚠ dependency bump)
55+
* `revm`: 35.0.0 -> 36.0.0 (⚠ dependency bump)
56+
* `op-revm`: 16.0.0 -> 17.0.0 (⚠ dependency bump)
57+
* `revm-statetest-types`: 15.0.0 -> 16.0.0 (⚠ dependency bump)
58+
* `revm-ee-tests`: 0.1.0 -> 0.2.0 (⚠ dependency bump)
59+
* `revme`: 12.0.0 -> 13.0.0 (⚠ dependency bump)
60+
61+
# v104
62+
date: 03.03.2026
63+
64+
Amsterdam hardfork support (EIP-7708, EIP-7843, EIP-8024), ResultGas struct refactor, flatten Bytecode, logs added to Revert/Halt variants, BAL (Block Access List) support, O(1) block hash cache, various performance improvements and bug fixes.
65+
66+
* `revm-primitives`: 22.0.0 -> 22.1.0 (✓ API compatible changes)
67+
* `revm-bytecode`: 8.0.0 -> 9.0.0 (⚠ API breaking changes)
68+
* `revm-state`: 9.0.0 -> 10.0.0 (⚠ API breaking changes)
69+
* `revm-database-interface`: 9.0.0 -> 9.0.1 (✓ API compatible changes)
70+
* `revm-context-interface`: 14.0.0 -> 15.0.0 (⚠ API breaking changes)
71+
* `revm-context`: 13.0.0 -> 14.0.0 (⚠ API breaking changes)
72+
* `revm-database`: 10.0.0 -> 11.0.0 (⚠ API breaking changes)
73+
* `revm-interpreter`: 32.0.0 -> 33.0.0 (⚠ API breaking changes)
74+
* `revm-precompile`: 32.0.0 -> 32.1.0 (✓ API compatible changes)
75+
* `revm-handler`: 15.0.0 -> 16.0.0 (⚠ API breaking changes)
76+
* `revm-inspector`: 15.0.0 -> 16.0.0 (⚠ API breaking changes)
77+
* `revm`: 34.0.0 -> 35.0.0 (⚠ API breaking changes)
78+
* `op-revm`: 15.0.0 -> 16.0.0 (⚠ API breaking changes)
79+
* `revm-statetest-types`: 14.0.0 -> 15.0.0 (⚠ API breaking changes)
80+
* `revme`: 11.0.0 -> 12.0.0 (⚠ API breaking changes)
81+
82+
# v103
83+
date: 15.01.2026
84+
85+
Major release with GasParams moved to Cfg, new gas params for tx initial gas and code deposit, flatten Bytecode, performance improvements and bug fixes.
86+
87+
* `revm-primitives`: 21.0.2 -> 22.0.0 (⚠ API breaking changes)
88+
* `revm-bytecode`: 7.1.1 -> 8.0.0 (⚠ API breaking changes)
89+
* `revm-database-interface`: 8.0.5 -> 9.0.0 (⚠ API breaking changes)
90+
* `revm-context-interface`: 13.1.0 -> 14.0.0 (⚠ API breaking changes)
91+
* `revm-context`: 12.1.0 -> 13.0.0 (⚠ API breaking changes)
92+
* `revm-database`: 9.0.6 -> 10.0.0 (⚠ API breaking changes)
93+
* `revm-interpreter`: 31.1.0 -> 32.0.0 (⚠ API breaking changes)
94+
* `revm-precompile`: 31.0.0 -> 32.0.0 (⚠ API breaking changes)
95+
* `revm-handler`: 14.1.0 -> 15.0.0 (⚠ API breaking changes)
96+
* `revm-inspector`: 14.1.0 -> 15.0.0 (⚠ API breaking changes)
97+
* `revm`: 33.1.0 -> 34.0.0 (⚠ API breaking changes)
98+
* `op-revm`: 14.1.0 -> 15.0.0 (⚠ API breaking changes)
99+
* `revm-statetest-types`: 13.1.0 -> 14.0.0 (⚠ API breaking changes)
100+
* `revme`: 10.0.2 -> 11.0.0 (⚠ API breaking changes)
101+
102+
# v102
103+
date: 14.11.2025
104+
105+
Fix for pre berlin selfdestruct oog introduced in v99/v100 tag (revm 32.0.0).
106+
107+
* `revm-context-interface`: 13.0.0 -> 13.1.0 (✓ API compatible changes)
108+
* `revm-context`: 12.0.0 -> 12.1.0 (✓ API compatible changes)
109+
* `revm-database`: 9.0.5 -> 9.0.6 (✓ API compatible changes)
110+
* `revm-interpreter`: 31.0.0 -> 31.1.0 (✓ API compatible changes)
111+
* `revm-inspector`: 14.0.0 -> 14.1.0 (✓ API compatible changes)
112+
* `revm`: 33.0.0 -> 33.1.0 (✓ API compatible changes)
113+
* `revme`: 10.0.0 -> 10.0.2 (✓ API compatible changes)
114+
* `op-revm`: 14.0.0 -> 14.1.0 (✓ API compatible changes)
115+
* `revm-ee-tests`: 0.1.0
116+
* `revm-handler`: 14.0.0 -> 14.1.0
117+
* `revm-statetest-types`: 13.0.0 -> 13.1.0
118+
119+
# v101
120+
date: 13.11.2025
121+
122+
Patch for Inspector so full_log will be called inside loop.
123+
124+
* `revm-inspector`: 14.0.0 -> 14.0.1 (✓ API compatible changes)
125+
* `revm-ee-tests`: 0.1.0
126+
* `revm`: 33.0.0 -> 33.0.1
127+
* `revm-statetest-types`: 13.0.0 -> 13.0.1
128+
* `revme`: 10.0.0 -> 10.0.1
129+
* `op-revm`: 14.0.0 -> 14.0.1
130+
131+
# v100
132+
date: 12.11.2025
133+
134+
Bumping major version for `revm-context-interface` sa it is breaking change.
135+
Host selfdestruct function got changed in v99
136+
137+
* `revm-context-interface`: 12.1.0 -> 13.0.0 (⚠ API breaking changes)
138+
* `revm-context`: 11.1.0 -> 12.0.0 (✓ API compatible changes)
139+
* `revm-interpreter`: 30.0.0 -> 31.0.0 (✓ API compatible changes)
140+
* `revm-precompile`: 30.0.0 -> 31.0.0 (✓ API compatible changes)
141+
* `revm-handler`: 13.0.0 -> 14.0.0 (✓ API compatible changes)
142+
* `revm-inspector`: 13.0.0 -> 14.0.0 (✓ API compatible changes)
143+
* `op-revm`: 13.0.0 -> 14.0.0 (✓ API compatible changes)
144+
* `revm-ee-tests`: 0.1.0
145+
* `revm`: 32.0.0 -> 33.0.0
146+
* `revm-statetest-types`: 12.0.0 -> 13.0.0
147+
* `revme`: 9.1.0 -> 10.0.0
148+
149+
revm-context-interface@13.0.0 revm-context@12.0.0 revm-interpreter@31.0.0 revm-precompile@31.0.0 revm-handler@14.0.0 revm-inspector@14.0.0
150+
op-revm@14.0.0 revm@33.0.0 revm-statetest-types@13.0.0 revme@10.0.0
151+
152+
# v99
153+
date 10.11.2025
154+
155+
Maintainance release.
156+
157+
* `revm-context-interface`: 12.0.1 -> 12.1.0 (✓ API compatible changes)
158+
* `revm-context`: 11.0.2 -> 11.1.0 (✓ API compatible changes)
159+
* `revm-interpreter`: 29.0.1 -> 30.0.0 (✓ API compatible changes)
160+
* `revm-precompile`: 29.0.1 -> 30.0.0 (✓ API compatible changes)
161+
* `revm-handler`: 12.0.2 -> 13.0.0 (✓ API compatible changes)
162+
* `revm-inspector`: 12.0.2 -> 13.0.0 (✓ API compatible changes)
163+
* `op-revm`: 12.0.2 -> 13.0.0 (✓ API compatible changes)
164+
* `revm-ee-tests`: 0.1.0
165+
* `revm`: 31.0.2 -> 32.0.0
166+
* `revm-statetest-types`: 11.0.2 -> 12.0.0
167+
* `revme`: 9.0.2 -> 9.1.0
168+
169+
170+
3171
# v98
4172
date: 10.11.2025
5173

0 commit comments

Comments
 (0)