Skip to main content

Module bytecode

Module bytecode 

Source
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; ๐Ÿ”’ base
use alloy_network::Ethereum; ๐Ÿ”’ monad
use foundry_evm::EvmEnv; ๐Ÿ”’ monad
use foundry_evm::core::evm::BlockContext; ๐Ÿ”’ monad
use foundry_evm::core::evm::MonadEvmNetwork; ๐Ÿ”’ monad
use monad_revm::MonadChainContext; ๐Ÿ”’ monad
use monad_revm::MonadHardfork; ๐Ÿ”’ monad
use revm::context::TxEnv; ๐Ÿ”’ monad
use foundry_evm::core::evm::OpEvmNetwork; ๐Ÿ”’ optimism

Structsยง

RuntimeVerification ๐Ÿ”’
Prepared runtime verification, before replaying the creation blockโ€™s prefix.
VerifyBytecodeArgs
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_hash and returns its execution context.
replay_monad_block_transactions ๐Ÿ”’ monad
Replays Monad transactions preceding target_hash with their ancestry context.