diff --git a/Cargo.toml b/Cargo.toml index 69726db365d..0cac097ec92 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -486,7 +486,7 @@ reth-ress-protocol = { path = "crates/ress/protocol" } reth-ress-provider = { path = "crates/ress/provider" } # revm -revm = { git = "https://github.com/scroll-tech/revm", default-features = false, features = ["enable_eip7702", "enable_eip7623"] } +revm = { git = "https://github.com/scroll-tech/revm", default-features = false, features = ["enable_eip7702", "enable_eip7623", "enable_eip7939"] } revm-bytecode = { git = "https://github.com/scroll-tech/revm", default-features = false } revm-database = { git = "https://github.com/scroll-tech/revm", default-features = false } revm-state = { git = "https://github.com/scroll-tech/revm", default-features = false } diff --git a/crates/scroll/alloy/evm/src/lib.rs b/crates/scroll/alloy/evm/src/lib.rs index bc0ca96c2c5..9614caf2f89 100644 --- a/crates/scroll/alloy/evm/src/lib.rs +++ b/crates/scroll/alloy/evm/src/lib.rs @@ -4,6 +4,7 @@ #![cfg_attr(docsrs, feature(doc_cfg))] #![cfg_attr(not(feature = "std"), no_std)] +extern crate alloc; mod block; pub use block::{ curie, feynman, EvmExt, ReceiptBuilderCtx, ScrollBlockExecutionCtx, ScrollBlockExecutor, @@ -18,8 +19,6 @@ pub use tx::{ mod system_caller; -extern crate alloc; - use alloy_evm::{precompiles::PrecompilesMap, Database, Evm, EvmEnv, EvmFactory}; use alloy_primitives::{Address, Bytes}; use core::{ @@ -36,8 +35,8 @@ use revm::{ }; use revm_scroll::{ builder::{ - DefaultScrollContext, EuclidEipActivations, FeynmanEipActivations, ScrollBuilder, - ScrollContext, + DefaultScrollContext, EuclidEipActivations, FeynmanEipActivations, GalileoEipActivations, + ScrollBuilder, ScrollContext, }, instructions::ScrollInstructions, precompile::ScrollPrecompileProvider, @@ -47,6 +46,7 @@ use revm_scroll::{ /// Re-export `TX_L1_FEE_PRECISION_U256` from `revm-scroll` for convenience. pub use revm_scroll::l1block::TX_L1_FEE_PRECISION_U256; + /// Scroll EVM implementation. #[allow(missing_debug_implementations)] pub struct ScrollEvm { @@ -221,6 +221,7 @@ impl EvmFactory for ScrollEvmFactory

{ .with_cfg(input.cfg_env) .maybe_with_eip_7702() .maybe_with_eip_7623() + .maybe_with_eip_7939() .build_scroll_with_inspector(NoOpInspector {}) .with_precompiles(P::with_spec(spec_id)), inspect: false, @@ -241,6 +242,7 @@ impl EvmFactory for ScrollEvmFactory

{ .with_cfg(input.cfg_env) .maybe_with_eip_7702() .maybe_with_eip_7623() + .maybe_with_eip_7939() .build_scroll_with_inspector(inspector) .with_precompiles(P::with_spec(spec_id)), inspect: true,