diff --git a/crates/rpc/rpc/src/debug.rs b/crates/rpc/rpc/src/debug.rs index edc785137..f54510caf 100644 --- a/crates/rpc/rpc/src/debug.rs +++ b/crates/rpc/rpc/src/debug.rs @@ -96,7 +96,7 @@ where .eth_api .spawn_with_state_at_block(at, move |state| { let mut results = Vec::with_capacity(transactions.len()); - let mut db = SubState::new(StateProviderDatabase::new(state)); + let mut db = CacheDB::new(StateProviderDatabase::new(state)); let mut transactions = transactions.into_iter().peekable(); while let Some(tx) = transactions.next() { @@ -190,7 +190,7 @@ where // configure env for the target transaction let tx = transaction.into_recovered(); - let mut db = SubState::new(StateProviderDatabase::new(state)); + let mut db = CacheDB::new(StateProviderDatabase::new(state)); // replay all transactions prior to the targeted transaction replay_transactions_until( &mut db, @@ -289,7 +289,7 @@ where // because JSTracer and all JS types are not Send let (_, _, at) = self.inner.eth_api.evm_env_at(at).await?; let state = self.inner.eth_api.state_at(at)?; - let db = SubState::new(StateProviderDatabase::new(state)); + let db = CacheDB::new(StateProviderDatabase::new(state)); let has_state_overrides = overrides.has_state(); // If the caller provided state overrides we need to clone the DB so the js @@ -380,7 +380,7 @@ where .spawn_with_state_at_block(at.into(), move |state| { // the outer vec for the bundles let mut all_bundles = Vec::with_capacity(bundles.len()); - let mut db = SubState::new(StateProviderDatabase::new(state)); + let mut db = CacheDB::new(StateProviderDatabase::new(state)); if replay_block_txs { // only need to replay the transactions in the block if not all transactions are diff --git a/crates/rpc/rpc/src/eth/api/call.rs b/crates/rpc/rpc/src/eth/api/call.rs index 4a7445bcf..904eb5ab3 100644 --- a/crates/rpc/rpc/src/eth/api/call.rs +++ b/crates/rpc/rpc/src/eth/api/call.rs @@ -17,9 +17,7 @@ use reth_provider::{ BlockReaderIdExt, ChainSpecProvider, EvmEnvProvider, StateProvider, StateProviderFactory, }; use reth_revm::{ - access_list::AccessListInspector, - database::{StateProviderDatabase, SubState}, - env::tx_env_with_recovered, + access_list::AccessListInspector, database::StateProviderDatabase, env::tx_env_with_recovered, }; use reth_rpc_types::{ state::StateOverride, BlockError, Bundle, CallRequest, EthCallResponse, StateContext, @@ -109,7 +107,7 @@ where self.spawn_with_state_at_block(at.into(), move |state| { let mut results = Vec::with_capacity(transactions.len()); - let mut db = SubState::new(StateProviderDatabase::new(state)); + let mut db = CacheDB::new(StateProviderDatabase::new(state)); if replay_block_txs { // only need to replay the transactions in the block if not all transactions are @@ -198,7 +196,7 @@ where // Configure the evm env let mut env = build_call_evm_env(cfg, block, request)?; - let mut db = SubState::new(StateProviderDatabase::new(state)); + let mut db = CacheDB::new(StateProviderDatabase::new(state)); // if the request is a simple transfer we can optimize if env.tx.data.is_empty() { @@ -369,7 +367,7 @@ where // env.cfg.disable_base_fee = true; - let mut db = SubState::new(StateProviderDatabase::new(state)); + let mut db = CacheDB::new(StateProviderDatabase::new(state)); if request.gas.is_none() && env.tx.gas_price > U256::ZERO { // no gas limit was provided in the request, so we need to cap the request's gas limit diff --git a/crates/rpc/rpc/src/eth/api/transactions.rs b/crates/rpc/rpc/src/eth/api/transactions.rs index 338871d42..d0d200a28 100644 --- a/crates/rpc/rpc/src/eth/api/transactions.rs +++ b/crates/rpc/rpc/src/eth/api/transactions.rs @@ -20,13 +20,11 @@ use reth_primitives::{ TransactionKind::{Call, Create}, TransactionMeta, TransactionSigned, TransactionSignedEcRecovered, B256, U128, U256, U64, }; -use reth_rpc_types_compat::from_recovered_with_block_context; - use reth_provider::{ BlockReaderIdExt, ChainSpecProvider, EvmEnvProvider, StateProviderBox, StateProviderFactory, }; use reth_revm::{ - database::{StateProviderDatabase, SubState}, + database::StateProviderDatabase, env::{fill_block_env_with_coinbase, tx_env_with_recovered}, tracing::{TracingInspector, TracingInspectorConfig}, }; @@ -34,6 +32,7 @@ use reth_rpc_types::{ CallRequest, Index, Log, Transaction, TransactionInfo, TransactionReceipt, TransactionRequest, TypedTransactionRequest, }; +use reth_rpc_types_compat::from_recovered_with_block_context; use reth_transaction_pool::{TransactionOrigin, TransactionPool}; use revm::{ db::CacheDB, @@ -533,7 +532,7 @@ where .tracing_call_pool .spawn(move || { let state = this.state_at(at)?; - let mut db = SubState::new(StateProviderDatabase::new(state)); + let mut db = CacheDB::new(StateProviderDatabase::new(state)); let env = prepare_call_env( cfg, @@ -584,7 +583,7 @@ where F: FnOnce(TracingInspector, ResultAndState) -> EthResult, { self.with_state_at_block(at, |state| { - let db = SubState::new(StateProviderDatabase::new(state)); + let db = CacheDB::new(StateProviderDatabase::new(state)); let mut inspector = TracingInspector::new(config); let (res, _) = inspect(db, env, &mut inspector)?; @@ -607,7 +606,7 @@ where R: Send + 'static, { self.spawn_with_state_at_block(at, move |state| { - let db = SubState::new(StateProviderDatabase::new(state)); + let db = CacheDB::new(StateProviderDatabase::new(state)); let mut inspector = TracingInspector::new(config); let (res, _, db) = inspect_and_return_db(db, env, &mut inspector)?; @@ -665,7 +664,7 @@ where let block_txs = block.body; self.spawn_with_state_at_block(parent_block.into(), move |state| { - let mut db = SubState::new(StateProviderDatabase::new(state)); + let mut db = CacheDB::new(StateProviderDatabase::new(state)); // replay all transactions prior to the targeted transaction replay_transactions_until(&mut db, cfg.clone(), block_env.clone(), block_txs, tx.hash)?; diff --git a/crates/rpc/rpc/src/trace.rs b/crates/rpc/rpc/src/trace.rs index 54814bbd9..2beff9d64 100644 --- a/crates/rpc/rpc/src/trace.rs +++ b/crates/rpc/rpc/src/trace.rs @@ -15,7 +15,7 @@ use reth_provider::{ BlockReader, ChainSpecProvider, EvmEnvProvider, StateProviderBox, StateProviderFactory, }; use reth_revm::{ - database::{StateProviderDatabase, SubState}, + database::StateProviderDatabase, env::tx_env_with_recovered, tracing::{ parity::populate_account_balance_nonce_diffs, TracingInspector, TracingInspectorConfig, @@ -144,7 +144,7 @@ where .eth_api .spawn_with_state_at_block(at, move |state| { let mut results = Vec::with_capacity(calls.len()); - let mut db = SubState::new(StateProviderDatabase::new(state)); + let mut db = CacheDB::new(StateProviderDatabase::new(state)); let mut calls = calls.into_iter().peekable(); @@ -396,7 +396,7 @@ where .eth_api .spawn_with_state_at_block(state_at.into(), move |state| { let mut results = Vec::with_capacity(transactions.len()); - let mut db = SubState::new(StateProviderDatabase::new(state)); + let mut db = CacheDB::new(StateProviderDatabase::new(state)); let mut transactions = transactions.into_iter().enumerate().peekable();