@@ -164,8 +164,7 @@ the ABI version, the import list, and the reproducibility check unverifiable.
164164Building your own means owning the artifact:
165165
1661661 . 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.
1691682 . 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
0 commit comments