Expand description
Storage layouts for contracts that arenβt part of the local project.
foundry_common::external_storage turns a verified source into a storage layout and caches
the result; ExternalIdentifier finds that source on a block explorer. This module is the
seam between them, and owns the state that has to outlive a single lookup.
Re-exportsΒ§
use alloy_primitives::Address;πuse alloy_primitives::map::AddressMap;πuse alloy_primitives::map::HashMap;πuse foundry_common::external_storage::fetch_external_storage_layouts;πuse foundry_common::external_storage::lock_until;πuse foundry_compilers::artifacts::StorageLayout;πuse foundry_config::Chain;πuse foundry_evm_traces::identifier::ExternalIdentifier;πuse foundry_evm_traces::identifier::ExternalIdentifierConfig;πuse std::sync::Arc;πuse std::sync::LazyLock;πuse std::sync::Mutex;πuse std::time::Instant;π
StaticsΒ§
- IDENTIFIERS π
- The
ExternalIdentifierin use for each chain, shared by every test in the process.
FunctionsΒ§
- identifier π
- The identifier for
chain, building it on first use. - storage_
layouts π - Resolves the storage layouts of contracts outside the local project.
Type AliasesΒ§
- Identifiers π
- Chain id to the identifier for that chain, or
Noneif one couldnβt be built.