From 340b6069c6d75b36b79ccfcb3e9630723b5493fc Mon Sep 17 00:00:00 2001 From: Nikolai Golub Date: Thu, 8 Aug 2024 14:21:57 +0200 Subject: [PATCH] `reth-eth-types`: Do not import `JsInspectorError` by default (#10202) Co-authored-by: Matthias Seitz --- Cargo.toml | 2 +- crates/rpc/rpc-eth-api/Cargo.toml | 4 ++-- crates/rpc/rpc-eth-types/Cargo.toml | 7 ++++++- crates/rpc/rpc-eth-types/src/error.rs | 5 ++++- crates/rpc/rpc/Cargo.toml | 2 +- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0eeb57e5dd..408b8ee328 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -357,7 +357,7 @@ reth-rpc-api-testing-util = { path = "crates/rpc/rpc-testing-util" } reth-rpc-builder = { path = "crates/rpc/rpc-builder" } reth-rpc-engine-api = { path = "crates/rpc/rpc-engine-api" } reth-rpc-eth-api = { path = "crates/rpc/rpc-eth-api" } -reth-rpc-eth-types = { path = "crates/rpc/rpc-eth-types" } +reth-rpc-eth-types = { path = "crates/rpc/rpc-eth-types", default-features = false } reth-rpc-layer = { path = "crates/rpc/rpc-layer" } reth-rpc-server-types = { path = "crates/rpc/rpc-server-types" } reth-rpc-types = { path = "crates/rpc/rpc-types" } diff --git a/crates/rpc/rpc-eth-api/Cargo.toml b/crates/rpc/rpc-eth-api/Cargo.toml index 06b193cf59..5cd79c27c6 100644 --- a/crates/rpc/rpc-eth-api/Cargo.toml +++ b/crates/rpc/rpc-eth-api/Cargo.toml @@ -27,7 +27,7 @@ reth-tasks = { workspace = true, features = ["rayon"] } reth-transaction-pool.workspace = true reth-chainspec.workspace = true reth-execution-types.workspace = true -reth-rpc-eth-types.workspace = true +reth-rpc-eth-types = { workspace = true, features = ["js-tracer"] } reth-rpc-server-types.workspace = true reth-network-api.workspace = true @@ -55,4 +55,4 @@ optimism = [ "reth-primitives/optimism", "revm/optimism", "reth-provider/optimism", -] +] \ No newline at end of file diff --git a/crates/rpc/rpc-eth-types/Cargo.toml b/crates/rpc/rpc-eth-types/Cargo.toml index 5add0b976d..d2460a2763 100644 --- a/crates/rpc/rpc-eth-types/Cargo.toml +++ b/crates/rpc/rpc-eth-types/Cargo.toml @@ -31,7 +31,7 @@ reth-trie.workspace = true # ethereum alloy-sol-types.workspace = true revm.workspace = true -revm-inspectors = { workspace = true, features = ["js-tracer"] } +revm-inspectors.workspace = true revm-primitives = { workspace = true, features = ["dev"] } # rpc @@ -56,3 +56,8 @@ tracing.workspace = true [dev-dependencies] serde_json.workspace = true + + +[features] +default = ["js-tracer"] +js-tracer = ["revm-inspectors/js-tracer"] \ No newline at end of file diff --git a/crates/rpc/rpc-eth-types/src/error.rs b/crates/rpc/rpc-eth-types/src/error.rs index a6d07b76e0..25e76b2db4 100644 --- a/crates/rpc/rpc-eth-types/src/error.rs +++ b/crates/rpc/rpc-eth-types/src/error.rs @@ -16,7 +16,9 @@ use reth_transaction_pool::error::{ PoolTransactionError, }; use revm::primitives::{EVMError, ExecutionResult, HaltReason, OutOfGasError}; -use revm_inspectors::tracing::{js::JsInspectorError, MuxError}; +#[cfg(feature = "js-tracer")] +use revm_inspectors::tracing::js::JsInspectorError; +use revm_inspectors::tracing::MuxError; use tracing::error; /// Result alias @@ -191,6 +193,7 @@ impl From for jsonrpsee_types::error::ErrorObject<'static> { } } +#[cfg(feature = "js-tracer")] impl From for EthApiError { fn from(error: JsInspectorError) -> Self { match error { diff --git a/crates/rpc/rpc/Cargo.toml b/crates/rpc/rpc/Cargo.toml index 68df91e0bc..02636508af 100644 --- a/crates/rpc/rpc/Cargo.toml +++ b/crates/rpc/rpc/Cargo.toml @@ -30,7 +30,7 @@ reth-rpc-types-compat.workspace = true revm-inspectors = { workspace = true, features = ["js-tracer"] } reth-network-peers = { workspace = true, features = ["secp256k1"] } reth-evm.workspace = true -reth-rpc-eth-types.workspace = true +reth-rpc-eth-types = { workspace = true, features = ["js-tracer"] } reth-rpc-server-types.workspace = true reth-node-api.workspace = true reth-network-types.workspace = true