Expand description
The forge verify-bytecode command.
Re-exportsยง
use crate::etherscan::EtherscanVerificationProvider;๐use crate::utils::BytecodeType;๐use crate::utils::JsonResult;๐use crate::utils::check_and_encode_args;๐use crate::utils::check_explorer_args;๐use crate::utils::load_fork_config_and_evm_opts;๐use crate::utils::maybe_predeploy_contract;๐use crate::utils::validate_encoded_constructor_args;๐use crate::verify::VerifierArgs;๐use alloy_consensus::Transaction as ConsensusTransaction;๐use alloy_network::AnyNetwork;๐use alloy_network::AnyRpcBlock;๐use alloy_network::AnyRpcTransaction;๐use alloy_primitives::Address;๐use alloy_primitives::B256;๐use alloy_primitives::Bytes;๐use alloy_primitives::TxKind;๐use alloy_primitives::U256;๐use alloy_primitives::hex;๐use alloy_primitives::hex;๐use alloy_provider::Provider;๐use alloy_provider::ext::TraceApi;๐use alloy_provider::network::BlockResponse;๐use alloy_provider::network::ReceiptResponse;๐use alloy_provider::network::TransactionResponse;๐use alloy_provider::network::primitives::BlockTransactions;๐use alloy_rpc_types::BlockId;๐use alloy_rpc_types::BlockNumberOrTag;๐use alloy_rpc_types::trace::parity::Action;๐use alloy_rpc_types::trace::parity::CreateAction;๐use alloy_rpc_types::trace::parity::CreateOutput;๐use alloy_rpc_types::trace::parity::TraceOutput;๐use clap::Parser;๐use clap::ValueHint;๐use eyre::Context;๐use eyre::OptionExt;๐use eyre::Result;๐use foundry_block_explorers::contract::Metadata;๐use foundry_cli::opts::EtherscanOpts;๐use foundry_cli::utils;๐use foundry_cli::utils::LoadConfig;๐use foundry_cli::utils::read_constructor_args_file;๐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::info::ContractInfo;๐use foundry_config::Chain;๐use foundry_config::Config;๐use foundry_config::figment;๐use foundry_config::impl_figment_convert;๐use foundry_evm::constants::DEFAULT_CREATE2_DEPLOYER;๐use foundry_evm::core::FoundryChain;๐use foundry_evm::core::FoundryTransaction as _;๐use foundry_evm::core::env::FromAnyRpcTransaction as _;๐use foundry_evm::core::evm::ChainFor;๐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::opts::EvmOpts;๐use foundry_evm::opts::ForkEndpointIdentity;๐use foundry_evm::utils::apply_chain_specific_tx_replay_env_changes_for_chain;๐use foundry_evm_networks::NetworkVariant;๐use revm::context::Block as _;๐use revm::context::Transaction as _;๐use revm::state::AccountInfo;๐use std::path::PathBuf;๐use foundry_evm::core::evm::BaseEvmNetwork;๐baseuse alloy_network::Ethereum;๐monaduse foundry_evm::EvmEnv;๐monaduse foundry_evm::core::evm::BlockContext;๐monaduse foundry_evm::core::evm::MonadEvmNetwork;๐monaduse monad_revm::MonadChainContext;๐monaduse monad_revm::MonadHardfork;๐monaduse revm::context::TxEnv;๐monaduse foundry_evm::core::evm::OpEvmNetwork;๐optimism
Structsยง
- Runtime
Verification ๐ - Prepared runtime verification, before replaying the creation blockโs prefix.
- Verify
Bytecode Args - CLI arguments for
forge verify-bytecode.
Functionsยง
- execute_
replay_ ๐transaction - monad_
block_ ๐context monad - Fetches the block context Monad needs to reconstruct replay ordering.
- replay_
block_ ๐transactions - Replays ordinary transactions preceding
target_hashand returns its execution context. - replay_
monad_ ๐block_ transactions monad - Replays Monad transactions preceding
target_hashwith their ancestry context.