Expand description
Β§foundry-evm-networks
Runtime selection and shared configuration for Foundryβs EVM network families.
NetworkConfigs describes the active execution profile selected by configuration, CLI flags,
hardforks, or fork endpoint discovery. Cargo features only determine which optional
NetworkVariant values are compiled into a binary; they do not select a network at runtime.
Concrete Alloy network and EVM factory types are associated by FoundryEvmNetwork in
foundry-evm-core. See the custom EVM integration guide for the cross-crate ownership and
state-lifecycle contract.
Re-exportsΒ§
pub(crate) use crate::celo::transfer::CELO_TRANSFER_ADDRESS;πpub(crate) use crate::celo::transfer::PRECOMPILE_ID_CELO_TRANSFER;πpub(crate) use alloy_primitives::Address;πpub(crate) use alloy_primitives::ChainId;πpub(crate) use alloy_primitives::address;πpub(crate) use Chain;πpub(crate) use NamedChain;πpub(crate) use Chiado;πpub(crate) use Gnosis;πpub(crate) use Moonbase;πpub(crate) use Moonbeam;πpub(crate) use MoonbeamDev;πpub(crate) use Moonriver;πpub(crate) use Rsk;πpub(crate) use RskTestnet;πpub(crate) use eip1559::BaseFeeParams;πpub(crate) use eip7840::BlobParams;πpub(crate) use DynPrecompile;πpub(crate) use PrecompilesMap;πpub(crate) use Address;πpub(crate) use ChainId;πpub(crate) use address;πpub(crate) use clap::Parser;πpub(crate) use EthereumHardfork;πpub(crate) use ExecutionSpec;πpub(crate) use FoundryHardfork;πpub(crate) use TempoHardfork;πpub(crate) use latest_active_tempo_hardfork;πpub(crate) use Precompile as RevmPrecompile;πpub(crate) use P256VERIFY;πpub(crate) use P256VERIFY_OSAKA;πpub(crate) use Deserialize;πpub(crate) use Deserialize;πpub(crate) use Serialize;πpub(crate) use Serialize;πpub(crate) use std::collections::BTreeMap;πpub(crate) use ACCOUNT_KEYCHAIN_ADDRESS;πpub(crate) use ADDRESS_REGISTRY_ADDRESS;πpub(crate) use CURRENT_COMMITTEE_ADDRESS;πpub(crate) use NONCE_PRECOMPILE_ADDRESS;πpub(crate) use RECEIVE_POLICY_GUARD_ADDRESS;πpub(crate) use SIGNATURE_VERIFIER_ADDRESS;πpub(crate) use STABLECOIN_DEX_ADDRESS;πpub(crate) use STORAGE_CREDITS_ADDRESS;πpub(crate) use TIP_FEE_MANAGER_ADDRESS;πpub(crate) use TIP20_CHANNEL_RESERVE_ADDRESS;πpub(crate) use TIP20_FACTORY_ADDRESS;πpub(crate) use TIP403_REGISTRY_ADDRESS;πpub(crate) use VALIDATOR_CONFIG_ADDRESS;πpub(crate) use VALIDATOR_CONFIG_V2_ADDRESS;πpub(crate) use ActivationRegistryStorage;πpub(crate) use B20FactoryStorage;πpub(crate) use NonceManagerStorage;πpub(crate) use PolicyRegistryStorage;πpub(crate) use TxContextStorage;πpub(crate) use foundry_evm_hardforks::BaseUpgrade;πpub(crate) use foundry_evm_hardforks::OpHardfork;πpub(crate) use foundry_evm_hardforks::MonadHardfork;π
ModulesΒ§
- arbitrum
- Minimal Arbitrum system contract compatibility helpers.
- celo
- Celo-specific execution support.
- optimism π
- Optimism-specific extensions for
NetworkConfigsand related helpers.
StructsΒ§
- Network
Configs - Network
Contract Size Limits - Runtime and initcode byte-size limits for a configured network.
EnumsΒ§
ConstantsΒ§
- BASE_
CODE_ SENTINEL_ ADDRESSES - Fixed Base precompiles that expose at least one function returning no data.
- BASE_
PRECOMPILES π - BSC_
MAINNET_ πCHAIN_ ID - BSC_
MAINNET_ πHABER_ TIMESTAMP - BSC_
MAINNET_ πOSAKA_ TIMESTAMP - BSC_
P256_ πADDRESS - BSC secp256r1 precompile address introduced by the Haber hardfork.
- BSC_
TESTNET_ πCHAIN_ ID - BSC_
TESTNET_ πHABER_ TIMESTAMP - BSC_
TESTNET_ πOSAKA_ TIMESTAMP - MONAD_
CHEATCODE_ ADDRESS - The Monad cheatcode handler address.
- MONAD_
PRECOMPILES π - MONAD_
PRECOMPILE_ πLABELS - TEMPO_
PRECOMPILES - Labels of all well-known Tempo precompiles, keyed by address.
- TEMPO_
PRECOMPILE_ ADDRESSES - All well-known Tempo precompile addresses.
FunctionsΒ§
- active_
base_ precompiles - Returns the fixed Base precompiles active at
upgrade. - active_
tempo_ precompile_ addresses - Returns the well-known Tempo precompile addresses active at
hardfork. - apply_
bsc_ p256_ precompile - Applies the BSC P256 precompile active at the given timestamp.
- bsc_
p256_ πprecompile - Returns the BSC P256 precompile for the given timestamp. The outer option distinguishes BSC chains from unrelated chains, while the inner option disables P256 before Haber.
- is_
base_ precompile_ active_ at - Returns whether a fixed Base precompile is active at
upgrade. - is_
monad_ precompile_ active_ at - Returns whether a well-known Monad precompile address is active at
hardfork. - is_
tempo_ precompile_ active_ at - Returns whether a well-known Tempo precompile address is active at
hardfork. - resolved_
precompile_ labels - Returns custom precompile labels for an already resolved execution hardfork. This metadata lookup does not discover or select an execution network.