diff --git a/Cargo.lock b/Cargo.lock index aedcdb0bfe..6f099dcdb5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -751,12 +751,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - [[package]] name = "aurora-engine-modexp" version = "1.2.0" @@ -1427,15 +1421,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" -[[package]] -name = "encoding_rs" -version = "0.8.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" -dependencies = [ - "cfg-if", -] - [[package]] name = "enumn" version = "0.1.14" @@ -1818,25 +1803,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "h2" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "half" version = "2.4.1" @@ -1965,7 +1931,6 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2", "http", "http-body", "httparse", @@ -1976,23 +1941,6 @@ dependencies = [ "want", ] -[[package]] -name = "hyper-rustls" -version = "0.27.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" -dependencies = [ - "futures-util", - "http", - "hyper", - "hyper-util", - "rustls", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tower-service", -] - [[package]] name = "hyper-tls" version = "0.6.0" @@ -3264,15 +3212,12 @@ checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" dependencies = [ "base64 0.22.1", "bytes", - "encoding_rs", "futures-core", "futures-util", - "h2", "http", "http-body", "http-body-util", "hyper", - "hyper-rustls", "hyper-tls", "hyper-util", "ipnet", @@ -3288,7 +3233,6 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper", - "system-configuration", "tokio", "tokio-native-tls", "tower", @@ -3304,14 +3248,6 @@ dependencies = [ name = "revm" version = "20.0.0-alpha.1" dependencies = [ - "alloy-eip7702", - "alloy-provider", - "alloy-signer", - "alloy-signer-local", - "alloy-sol-types", - "anyhow", - "indicatif", - "reqwest", "revm-bytecode", "revm-context", "revm-context-interface", @@ -3324,7 +3260,6 @@ dependencies = [ "revm-primitives", "revm-specification", "revm-state", - "rstest", ] [[package]] @@ -3411,6 +3346,10 @@ dependencies = [ name = "revm-handler" version = "1.0.0-alpha.1" dependencies = [ + "alloy-eip7702", + "alloy-provider", + "alloy-signer", + "alloy-signer-local", "auto_impl", "revm-bytecode", "revm-context", @@ -3430,7 +3369,6 @@ name = "revm-inspector" version = "1.0.0-alpha.1" dependencies = [ "auto_impl", - "revm", "revm-context", "revm-database", "revm-database-interface", @@ -3582,20 +3520,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "ring" -version = "0.17.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e75ec5e92c4d8aede845126adc388046234541629e76029599ed35a003c7ed24" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.15", - "libc", - "untrusted", - "windows-sys 0.52.0", -] - [[package]] name = "ripemd" version = "0.1.3" @@ -3730,19 +3654,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "rustls" -version = "0.23.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395" -dependencies = [ - "once_cell", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", -] - [[package]] name = "rustls-pemfile" version = "2.2.0" @@ -3758,17 +3669,6 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" -[[package]] -name = "rustls-webpki" -version = "0.102.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - [[package]] name = "rustversion" version = "1.0.19" @@ -4210,27 +4110,6 @@ dependencies = [ "syn 2.0.98", ] -[[package]] -name = "system-configuration" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "tap" version = "1.0.1" @@ -4346,16 +4225,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-rustls" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" -dependencies = [ - "rustls", - "tokio", -] - [[package]] name = "tokio-stream" version = "0.1.17" @@ -4520,12 +4389,6 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - [[package]] name = "url" version = "2.5.4" diff --git a/crates/context/src/cfg.rs b/crates/context/src/cfg.rs index 061d9a06a2..a11d31b157 100644 --- a/crates/context/src/cfg.rs +++ b/crates/context/src/cfg.rs @@ -177,6 +177,7 @@ impl + Copy> Cfg for CfgEnv { } } + /// Returns `true` if the block gas limit is disabled. fn is_block_gas_limit_disabled(&self) -> bool { cfg_if::cfg_if! { if #[cfg(feature = "optional_block_gas_limit")] { diff --git a/crates/handler/Cargo.toml b/crates/handler/Cargo.toml index 3692881fee..a0ba4517ff 100644 --- a/crates/handler/Cargo.toml +++ b/crates/handler/Cargo.toml @@ -31,7 +31,7 @@ context.workspace = true primitives.workspace = true state.workspace = true specification.workspace = true -bytecode.workspace = true +bytecode.workspace = true auto_impl.workspace = true # Optional @@ -42,6 +42,10 @@ serde = { version = "1.0", default-features = false, features = [ [dev-dependencies] database.workspace = true +alloy-eip7702.workspace = true +alloy-provider.workspace = true +alloy-signer.workspace = true +alloy-signer-local.workspace = true [features] default = ["std"] diff --git a/crates/handler/src/lib.rs b/crates/handler/src/lib.rs index d8d76d58db..0615443b53 100644 --- a/crates/handler/src/lib.rs +++ b/crates/handler/src/lib.rs @@ -14,6 +14,7 @@ mod frame_data; pub mod handler; pub mod instructions; mod item_or_result; +mod mainnet_builder; mod mainnet_handler; pub mod post_execution; pub mod pre_execution; @@ -26,5 +27,6 @@ pub use frame::{return_create, return_eofcreate, ContextTrDbError, EthFrame, Fra pub use frame_data::{FrameData, FrameResult}; pub use handler::{EvmTr, EvmTrError, Handler}; pub use item_or_result::{FrameInitOrResult, FrameOrResult, ItemOrResult}; +pub use mainnet_builder::{MainBuilder, MainContext, MainnetEvm}; pub use mainnet_handler::MainnetHandler; pub use precompile_provider::{EthPrecompiles, PrecompileProvider}; diff --git a/crates/revm/src/mainnet_builder.rs b/crates/handler/src/mainnet_builder.rs similarity index 97% rename from crates/revm/src/mainnet_builder.rs rename to crates/handler/src/mainnet_builder.rs index 72108dad43..d0b6d1ef3f 100644 --- a/crates/revm/src/mainnet_builder.rs +++ b/crates/handler/src/mainnet_builder.rs @@ -1,7 +1,7 @@ +use crate::{instructions::EthInstructions, EthPrecompiles}; use context::{BlockEnv, Cfg, CfgEnv, Context, Evm, EvmData, JournaledState, TxEnv}; use context_interface::{Block, Database, Journal, Transaction}; use database_interface::EmptyDB; -use handler::{instructions::EthInstructions, EthPrecompiles}; use interpreter::interpreter::EthInterpreter; use primitives::Log; use specification::hardfork::SpecId; @@ -69,6 +69,7 @@ impl MainContext for Context