Expand description
ยงfoundry-script
Smart contract scripting.
Re-exportsยง
pub(crate) use alloy_primitives::Address;๐pub(crate) use alloy_primitives::B256;๐pub(crate) use alloy_primitives::Bytes;๐pub(crate) use alloy_primitives::Log;๐pub(crate) use alloy_primitives::U256;๐pub(crate) use alloy_primitives::hex;๐pub(crate) use alloy_primitives::hex;๐pub(crate) use alloy_primitives::map::HashMap;๐pub(crate) use Function;๐pub(crate) use JsonAbi;๐pub(crate) use alloy_network::Network;๐pub(crate) use Address;๐pub(crate) use B256;๐pub(crate) use Bytes;๐pub(crate) use Log;๐pub(crate) use U256;๐pub(crate) use hex;๐pub(crate) use hex;๐pub(crate) use HashMap;๐pub(crate) use alloy_signer::Signer;๐pub(crate) use Parser;๐pub(crate) use ValueHint;๐pub(crate) use builder::RangedU64ValueParser;๐pub(crate) use dialoguer::Confirm;๐pub(crate) use ContextCompat;๐pub(crate) use Result;๐pub(crate) use AdditionalContract;๐pub(crate) use NestedValue;๐pub(crate) use RetryArgs;๐pub(crate) use VerifierArgs;๐pub(crate) use BuildOpts;๐pub(crate) use EvmArgs;๐pub(crate) use GlobalArgs;๐pub(crate) use TempoOpts;๐pub(crate) use TracingArgs;๐pub(crate) use utils::LoadConfig;๐pub(crate) use ContractsByArtifact;๐pub(crate) use SELECTOR_LEN;๐pub(crate) use encode_function_args;๐pub(crate) use get_func;๐pub(crate) use compile::ContractSizeLimits;๐pub(crate) use shell;๐pub(crate) use ArtifactId;๐pub(crate) use artifacts::output_selection::ContractOutputSelection;๐pub(crate) use Config;๐pub(crate) use Eip1559FeeEstimatePreset;๐pub(crate) use FoundryHardfork;๐pub(crate) use figment;๐pub(crate) use Metadata;๐pub(crate) use Profile;๐pub(crate) use Provider;๐pub(crate) use Dict;๐pub(crate) use Map;๐pub(crate) use backend::Backend;๐pub(crate) use Breakpoints;๐pub(crate) use FoundryTransaction;๐pub(crate) use EthEvmNetwork;๐pub(crate) use EvmEnvFor;๐pub(crate) use FoundryEvmNetwork;๐pub(crate) use SpecFor;๐pub(crate) use TempoEvmNetwork;๐pub(crate) use TxEnvFor;๐pub(crate) use executors::ExecutorBuilder;๐pub(crate) use hardforks::ExecutionSpec;๐pub(crate) use CheatsConfig;๐pub(crate) use BroadcastableTransactions;๐pub(crate) use Wallets;๐pub(crate) use EvmOpts;๐pub(crate) use ExecutionSpecContext;๐pub(crate) use ForkContext;๐pub(crate) use resolve_execution_spec;๐pub(crate) use revm::interpreter::InstructionResult;๐pub(crate) use InternalTraceMode;๐pub(crate) use TraceRequirements;๐pub(crate) use Traces;๐pub(crate) use NetworkConfigs;๐pub(crate) use NetworkVariant;๐pub(crate) use MultiWalletOpts;๐pub(crate) use wallet_multi::MultiWallet;๐pub(crate) use serde::Serialize;๐pub(crate) use serde::Serialize;๐pub(crate) use std::path::PathBuf;๐pub(crate) use foundry_evm::core::evm::BaseEvmNetwork;๐basepub(crate) use foundry_evm::core::evm::MonadEvmNetwork;๐monadpub(crate) use foundry_evm::core::evm::OpEvmNetwork;๐optimism
Modulesยง
- broadcast ๐
- build ๐
- execute ๐
- library_
deployments ๐ - multi_
sequence ๐ - progress ๐
- providers ๐
- receipts ๐
- recovery ๐
- runner ๐
- sequence ๐
- session ๐
- simulate ๐
- transaction ๐
- verify ๐
- wallet_
session ๐ forge script --sessionCLI wrapper support.
Structsยง
- Bundled
State ๐ - State after we have bundled all
TransactionWithMetadataobjects into a singleScriptSequenceKindobject containing one or more script sequences. - Json
Result ๐ - PreSimulation
State ๐ - Same as ExecutedState, but also contains ExecutionArtifacts which are obtained from ScriptResult.
- Preprocessed
State ๐ - First state basically containing only inputs of the user.
- Script
Args - CLI arguments for
forge script. - Script
Config - Script
Result - Script
Runner ๐ - Drives script execution
- Script
Wallet Session Args - Arguments that make
forge scripta thin wrapper aroundcast wallet session --for.
Enumsยง
- Prepared
Script ๐ - Shared preparation stops before execution-family-specific on-chain simulation.