Skip to content

Commit a3fe240

Browse files
committed
chore(evm): bump the pinned evm2 revision
1 parent c9af6a4 commit a3fe240

5 files changed

Lines changed: 18 additions & 16 deletions

File tree

src/wasm/internal/evm2.wasm.ts

Lines changed: 5 additions & 5 deletions
Large diffs are not rendered by default.

wasm/README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,7 @@ the ABI version, the import list, and the reproducibility check unverifiable.
164164
Building your own means owning the artifact:
165165

166166
1. Copy `wasm/evm2` and keep `Cargo.lock` and `rust-toolchain.toml` as they are.
167-
The pinned toolchain is load-bearing, and a nightly compiler selects an
168-
interpreter backend wasm cannot use.
167+
The pinned toolchain is what makes the artifact reproducible.
169168
2. Add the configuration where the engine is constructed in `src/lib.rs`. Keep
170169
`abi.rs` and the ABI version untouched if `src/evm/internal/codec.ts` is to
171170
keep reading the responses.
@@ -187,10 +186,13 @@ general change, not maintained as a patched fork.
187186
lockfile, and the source. `wasm-opt` is host-stable and still runs natively.
188187
`OX_EVM2_NATIVE=1` builds on the host for fast local iteration; `wasm:check`
189188
refuses it, the same way it refuses `OX_WASM_CLANG`.
190-
- **The toolchain is pinned as stable, deliberately.** evm2 selects a tail-call
191-
interpreter backend when it detects a nightly compiler, which needs unstable
192-
features WebAssembly cannot use. Stable resolves to `single_return`, the
193-
backend evm2 intends for wasm.
189+
- **The toolchain is pinned for reproducibility.** The artifact is a function of
190+
the image, the lockfile, and the source, so the compiler version is part of the
191+
contract. It was also once a correctness requirement: evm2 selected its
192+
tail-call interpreter backend from the toolchain before the target, so a
193+
nightly wasm build picked a backend needing unstable features. Fixed upstream
194+
in [#345](https://github.com/alloy-rs/evm2/pull/345), which the pinned revision
195+
now carries, so the pin is about reproducibility alone.
194196
- **No `std`.** The `std` feature reaches `getrandom 0.2`, which refuses to
195197
compile for `wasm32-unknown-unknown`. `no_std` leaves the allocator and panic
196198
handler to the adapter, which is why it carries `dlmalloc` and a trapping

wasm/evm2/Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

wasm/evm2/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ crate-type = ["cdylib", "rlib"]
1515
[dependencies]
1616
# evm2 is resolved from Cargo's external git cache at an exact revision. Its
1717
# source never enters this repository or the npm package.
18-
evm2 = { git = "https://github.com/alloy-rs/evm2", rev = "c49e4aa3c84733702d0ce0397d7e90c21b46ae8d", default-features = false, features = [
18+
evm2 = { git = "https://github.com/alloy-rs/evm2", rev = "8ff36b5359aa1ccc5bdd7eb1c98d0a7f3daac469", default-features = false, features = [
1919
"map-foldhash",
2020
"parse",
2121
] }

wasm/evm2/NOTICE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
The artifact is compiled from `wasm/evm2` against
66
[`alloy-rs/evm2`](https://github.com/alloy-rs/evm2) at commit
7-
`c49e4aa3c84733702d0ce0397d7e90c21b46ae8d`, which is licensed under MIT OR Apache-2.0. Its license texts are
7+
`8ff36b5359aa1ccc5bdd7eb1c98d0a7f3daac469`, which is licensed under MIT OR Apache-2.0. Its license texts are
88
committed beside this file as `LICENSE-MIT` and `LICENSE-APACHE`.
99

1010
Everything compiled into the artifact is listed below, with the license each
@@ -64,7 +64,7 @@ crate declares.
6464
| `either` | 1.17.0 | MIT OR Apache-2.0 | crates.io |
6565
| `elliptic-curve` | 0.13.8 | Apache-2.0 OR MIT | crates.io |
6666
| `elliptic-curve` | 0.14.1 | Apache-2.0 OR MIT | crates.io |
67-
| `evm2` | 0.1.0 | MIT OR Apache-2.0 | https://github.com/alloy-rs/evm2 @ c49e4aa3c84733702d0ce0397d7e90c21b46ae8d |
67+
| `evm2` | 0.1.0 | MIT OR Apache-2.0 | https://github.com/alloy-rs/evm2 @ 8ff36b5359aa1ccc5bdd7eb1c98d0a7f3daac469 |
6868
| `ff` | 0.13.1 | MIT/Apache-2.0 | crates.io |
6969
| `ff` | 0.14.0 | MIT/Apache-2.0 | crates.io |
7070
| `foldhash` | 0.2.0 | Zlib | crates.io |

0 commit comments

Comments
 (0)