Skip to main content

Module external

Module external 

Source

Re-exportsΒ§

use super::IdentifiedAddress; πŸ”’
use super::TraceIdentifier; πŸ”’
use crate::debug::ContractSources; πŸ”’
use alloy_json_abi::JsonAbi; πŸ”’
use alloy_primitives::Address; πŸ”’
use alloy_primitives::map::AddressMap; πŸ”’
use alloy_primitives::map::AddressSet; πŸ”’
use alloy_primitives::map::Entry; πŸ”’
use alloy_primitives::map::HashMap; πŸ”’
use alloy_primitives::map::HashSet; πŸ”’
use eyre::WrapErr; πŸ”’
use foundry_block_explorers::contract::Metadata; πŸ”’
use foundry_block_explorers::errors::EtherscanError; πŸ”’
use foundry_common::compile::etherscan_project; πŸ”’
use foundry_config::Chain; πŸ”’
use foundry_config::Config; πŸ”’
use foundry_config::EtherscanConfigs; πŸ”’
use foundry_config::NamedChain; πŸ”’
use foundry_config::ResolvedEtherscanConfig; πŸ”’
use foundry_evm_core::constants::CHEATCODE_ADDRESS; πŸ”’
use foundry_evm_core::constants::HARDHAT_CONSOLE_ADDRESS; πŸ”’
use futures::future::Either; πŸ”’
use futures::future::join_all; πŸ”’
use futures::future::select; πŸ”’
use futures::stream::FuturesUnordered; πŸ”’
use futures::stream::Stream; πŸ”’
use futures::stream::StreamExt; πŸ”’
use futures::task::Context; πŸ”’
use futures::task::Poll; πŸ”’
use revm_inspectors::tracing::types::CallTraceNode; πŸ”’
use serde::Deserialize; πŸ”’
use serde::Deserialize; πŸ”’
use std::borrow::Cow; πŸ”’
use std::pin::Pin; πŸ”’
use std::pin::pin; πŸ”’
use std::sync::Arc; πŸ”’
use std::sync::atomic::AtomicBool; πŸ”’
use std::sync::atomic::Ordering; πŸ”’
use std::time::Duration; πŸ”’
use std::time::Instant; πŸ”’

StructsΒ§

Compilation πŸ”’
EtherscanFetcher πŸ”’
ExternalFetcher πŸ”’
A rate limit aware fetcher.
ExternalIdentifier
A trace identifier that tries to identify addresses using Etherscan.
ExternalIdentifierConfig
The Config settings an ExternalIdentifier is built from, detached from the config itself.
SourcifyError πŸ”’
SourcifyFetcher πŸ”’
SourcifyMetadata πŸ”’
TokioClock πŸ”’
The Clock backed by tokio’s timers.

EnumsΒ§

FetcherKind πŸ”’
SourcifyResponse πŸ”’
Sourcify API response for /v2/contract/{chainId}/{address}.

ConstantsΒ§

MAX_TRANSIENT_RETRIES πŸ”’
Maximum number of times a single address is retried after a rate limit or a transient Cloudflare block before we give up on it. Bounded so a persistent block can’t loop forever.

TraitsΒ§

Clock πŸ”’
The source of time for the identification budget and the rate limit backoff.
ExternalFetcherT πŸ”’

Type AliasesΒ§

FetchFuture πŸ”’
Sleep πŸ”’