Skip to main content

Module run

Module run 

Source

Re-exportsยง

use super::MAX_CONCURRENT_RPC_REQUESTS; ๐Ÿ”’
use super::fetch_code_via_rpc; ๐Ÿ”’
use crate::debug::ensure_remote_trace_context_unchanged; ๐Ÿ”’
use crate::debug::handle_traces; ๐Ÿ”’
use crate::debug::resolve_remote_trace_hardfork; ๐Ÿ”’
use crate::evm_version::probe_evm_version; ๐Ÿ”’
use crate::rpc_trace::call_frame_to_arena; ๐Ÿ”’
use crate::rpc_trace::call_tracer_config; ๐Ÿ”’
use crate::rpc_trace::is_method_not_found_error; ๐Ÿ”’
use crate::rpc_trace::is_missing_state_error; ๐Ÿ”’
use crate::rpc_trace::is_missing_state_message; ๐Ÿ”’
use crate::traces::TraceKind; ๐Ÿ”’
use crate::utils::apply_chain_and_block_specific_env_changes_for_chain; ๐Ÿ”’
use crate::utils::apply_chain_specific_tx_replay_env_changes_for_chain; ๐Ÿ”’
use crate::utils::block_env_from_header; ๐Ÿ”’
use alloy_consensus::BlockHeader; ๐Ÿ”’
use alloy_consensus::Transaction; ๐Ÿ”’
use alloy_consensus::transaction::SignerRecoverable; ๐Ÿ”’
use alloy_eips::BlockNumHash; ๐Ÿ”’
use alloy_eips::eip7928::compute_block_access_list_hash; ๐Ÿ”’
use alloy_network::AnyNetwork; ๐Ÿ”’
use alloy_network::AnyRpcBlock; ๐Ÿ”’
use alloy_network::AnyRpcTransaction; ๐Ÿ”’
use alloy_network::AnyTransactionReceipt; ๐Ÿ”’
use alloy_network::AnyTxEnvelope; ๐Ÿ”’
use alloy_network::BlockResponse; ๐Ÿ”’
use alloy_network::Network; ๐Ÿ”’
use alloy_network::ReceiptResponse; ๐Ÿ”’
use alloy_network::TransactionResponse; ๐Ÿ”’
use alloy_network::primitives::HeaderResponse; ๐Ÿ”’
use alloy_primitives::Address; ๐Ÿ”’
use alloy_primitives::B256; ๐Ÿ”’
use alloy_primitives::Bytes; ๐Ÿ”’
use alloy_primitives::U256; ๐Ÿ”’
use alloy_primitives::map::AddressSet; ๐Ÿ”’
use alloy_provider::Provider; ๐Ÿ”’
use alloy_provider::ext::DebugApi; ๐Ÿ”’
use alloy_rpc_types::BlockId; ๐Ÿ”’
use alloy_rpc_types::BlockTransactions; ๐Ÿ”’
use alloy_rpc_types::trace::geth::CallFrame; ๐Ÿ”’
use alloy_rpc_types::trace::geth::GethDebugTracingOptions; ๐Ÿ”’
use alloy_rpc_types::trace::geth::GethTrace; ๐Ÿ”’
use alloy_rpc_types::trace::geth::PreStateConfig; ๐Ÿ”’
use alloy_transport::TransportError; ๐Ÿ”’
use clap::Parser; ๐Ÿ”’
use eyre::Result; ๐Ÿ”’
use eyre::WrapErr; ๐Ÿ”’
use foundry_cli::opts::EtherscanOpts; ๐Ÿ”’
use foundry_cli::opts::RpcOpts; ๐Ÿ”’
use foundry_cli::opts::TracingArgs; ๐Ÿ”’
use foundry_cli::utils::TraceResult; ๐Ÿ”’
use foundry_cli::utils::init_progress; ๐Ÿ”’
use foundry_common::SYSTEM_TRANSACTION_TYPE; ๐Ÿ”’
use foundry_common::is_known_system_sender; ๐Ÿ”’
use foundry_common::provider::ProviderBuilder; ๐Ÿ”’
use foundry_common::provider::RetryProvider; ๐Ÿ”’
use foundry_common::shell; ๐Ÿ”’
use foundry_compilers::artifacts::EvmVersion; ๐Ÿ”’
use foundry_config::Config; ๐Ÿ”’
use foundry_config::TracingConfig; ๐Ÿ”’
use foundry_config::figment; ๐Ÿ”’
use foundry_config::figment::Metadata; ๐Ÿ”’
use foundry_config::figment::Profile; ๐Ÿ”’
use foundry_config::figment::value::Dict; ๐Ÿ”’
use foundry_config::figment::value::Map; ๐Ÿ”’
use foundry_evm::core::FoundryBlock as _; ๐Ÿ”’
use foundry_evm::core::FoundryTransaction as _; ๐Ÿ”’
use foundry_evm::core::env::FromAnyRpcTransaction as _; ๐Ÿ”’
use foundry_evm::core::evm::EthEvmNetwork; ๐Ÿ”’
use foundry_evm::core::evm::EvmEnvFor; ๐Ÿ”’
use foundry_evm::core::evm::FoundryEvmNetwork; ๐Ÿ”’
use foundry_evm::core::evm::TempoEvmNetwork; ๐Ÿ”’
use foundry_evm::core::evm::TxEnvFor; ๐Ÿ”’
use foundry_evm::executors::Executor; ๐Ÿ”’
use foundry_evm::executors::ExecutorBuilder; ๐Ÿ”’
use foundry_evm::executors::TracingExecutor; ๐Ÿ”’
use foundry_evm::hardforks::FoundryHardfork; ๐Ÿ”’
use foundry_evm::opts::EvmOpts; ๐Ÿ”’
use foundry_evm::traces::InternalTraceMode; ๐Ÿ”’
use foundry_evm::traces::SparsedTraceArena; ๐Ÿ”’
use foundry_evm::traces::TraceContext; ๐Ÿ”’
use foundry_evm::traces::TraceRequirements; ๐Ÿ”’
use foundry_evm_networks::NetworkConfigs; ๐Ÿ”’
use foundry_evm_networks::NetworkVariant; ๐Ÿ”’
use futures::StreamExt; ๐Ÿ”’
use futures::TryFutureExt; ๐Ÿ”’
use revm::DatabaseRef; ๐Ÿ”’
use revm::context::Block; ๐Ÿ”’
use revm::primitives::hardfork::SpecId; ๐Ÿ”’
use revm::state::bal::Bal; ๐Ÿ”’
use revm::state::bal::BlockAccessIndex; ๐Ÿ”’
use std::sync::Arc; ๐Ÿ”’
use foundry_evm::core::evm::BaseEvmNetwork; ๐Ÿ”’ base
use foundry_evm::core::evm::BlockContext; ๐Ÿ”’ monad
use foundry_evm::core::evm::MonadEvmNetwork; ๐Ÿ”’ monad
use revm::context::TxEnv; ๐Ÿ”’ monad
use foundry_evm::core::evm::OpEvmNetwork; ๐Ÿ”’ optimism

Structsยง

MonadPrepared ๐Ÿ”’ monad
Fields only needed by the Monad-specific execute_monad path.
PreparedRun ๐Ÿ”’
State assembled by RunArgs::prepare and consumed by the network-specific execute_* methods below.
RunArgs
CLI arguments for cast run.
TargetFetch ๐Ÿ”’
Target transaction resolved up front by RunArgs::fetch_target, before any per-network preparation.

Enumsยง

ReplayGasLimits ๐Ÿ”’
Chain-specific gas limits for transactions replayed by cast run.

Constantsยง

REMOTE_TRACE_HINT ๐Ÿ”’
Points at the remote trace when a transaction cannot be replayed locally.

Functionsยง

block_num_hash ๐Ÿ”’
Returns the number and hash of a fetched block.
call_tracer_frame ๐Ÿ”’
Extracts the callTracer frame from a debug_trace* response.
ensure_remote_transaction_inclusion ๐Ÿ”’
ensure_requested_transaction ๐Ÿ”’
Ensures the RPC answered eth_getTransactionByHash with the requested transaction.
fetch_block_access_list ๐Ÿ”’
Fetches the block access list of block, if the node serves one that matches the header.
fetch_contracts_bytecode_from_trace
fetch_nitro_l1_gas_used ๐Ÿ”’
fetch_transaction_contracts_bytecode_via_rpc ๐Ÿ”’
Fetches bytecode for a mined transaction at its exact transaction index.
full_transactions ๐Ÿ”’
is_system_transaction ๐Ÿ”’
nitro_execution_gas_limit ๐Ÿ”’
parent_beacon_block_root_for_network ๐Ÿ”’
parse_nitro_l1_gas_used ๐Ÿ”’
trace_addresses ๐Ÿ”’
Returns the distinct non-zero addresses and callers seen in the traces of result.