Skip to main content

Module simulate

Module simulate 

Source

Re-exportsยง

use super::multi_sequence::MultiChainSequence; ๐Ÿ”’
use super::providers::ProviderInfo; ๐Ÿ”’
use super::providers::ProvidersManager; ๐Ÿ”’
use super::recovery::RecoveryStore; ๐Ÿ”’
use super::runner::ScriptRunner; ๐Ÿ”’
use super::sequence::ScriptSequenceKind; ๐Ÿ”’
use super::sequence::SequenceData; ๐Ÿ”’
use super::transaction::ScriptTransactionBuilder; ๐Ÿ”’
use crate::ScriptArgs; ๐Ÿ”’
use crate::ScriptConfig; ๐Ÿ”’
use crate::ScriptResult; ๐Ÿ”’
use crate::broadcast::BundledState; ๐Ÿ”’
use crate::broadcast::estimate_gas; ๐Ÿ”’
use crate::build::LinkedBuildData; ๐Ÿ”’
use crate::execute::ExecutionArtifacts; ๐Ÿ”’
use crate::execute::ExecutionData; ๐Ÿ”’
use crate::execute::build_trace_decoder_for_context; ๐Ÿ”’
use crate::sequence::get_commit_hash; ๐Ÿ”’
use alloy_chains::Chain; ๐Ÿ”’
use alloy_chains::NamedChain; ๐Ÿ”’
use alloy_evm::revm::context::Block; ๐Ÿ”’
use alloy_network::TransactionBuilder; ๐Ÿ”’
use alloy_primitives::Address; ๐Ÿ”’
use alloy_primitives::U256; ๐Ÿ”’
use alloy_primitives::map::HashMap; ๐Ÿ”’
use alloy_primitives::utils::format_units; ๐Ÿ”’
use alloy_provider::Provider; ๐Ÿ”’
use dialoguer::Confirm; ๐Ÿ”’
use eyre::Context; ๐Ÿ”’
use eyre::Result; ๐Ÿ”’
use forge_script_sequence::ScriptSequence; ๐Ÿ”’
use forge_script_sequence::TransactionWithMetadata; ๐Ÿ”’
use foundry_cheatcodes::Wallets; ๐Ÿ”’
use foundry_cli::utils::has_different_gas_calc; ๐Ÿ”’
use foundry_cli::utils::now; ๐Ÿ”’
use foundry_common::ContractData; ๐Ÿ”’
use foundry_common::ContractsByArtifact; ๐Ÿ”’
use foundry_common::provider::fee::resolve_broadcast_eip1559_fees; ๐Ÿ”’
use foundry_common::shell; ๐Ÿ”’
use foundry_common::tempo::known_fee_token_symbol; ๐Ÿ”’
use foundry_evm::core::FoundryBlock; ๐Ÿ”’
use foundry_evm::core::evm::FoundryEvmNetwork; ๐Ÿ”’
use foundry_evm::traces::CallTraceDecoder; ๐Ÿ”’
use foundry_evm::traces::Traces; ๐Ÿ”’
use foundry_evm::traces::debug::ContractSources; ๐Ÿ”’
use foundry_evm::traces::decode_trace_arena; ๐Ÿ”’
use foundry_evm::traces::prune_trace_depth; ๐Ÿ”’
use foundry_evm::traces::render_trace_arena_inner; ๐Ÿ”’
use foundry_wallets::wallet_browser::signer::BrowserSigner; ๐Ÿ”’
use std::collections::BTreeMap; ๐Ÿ”’
use std::collections::VecDeque; ๐Ÿ”’
use std::mem; ๐Ÿ”’

Modulesยง

monad ๐Ÿ”’ monad
Sequential Monad simulation owns its block cursor independently of local script execution.

Structsยง

FilledTransactionsState
At this point we have converted transactions collected during script execution to TransactionWithMetadata objects which contain additional metadata needed for broadcasting and verification.
PreSimulationState
Same as ExecutedState, but also contains ExecutionArtifacts which are obtained from ScriptResult.
RpcSimulationContext ๐Ÿ”’

Functionsยง

build_rpc_decoder ๐Ÿ”’
build_rpc_simulation_context ๐Ÿ”’

Type Aliasesยง

SimulationOutcome ๐Ÿ”’