Re-exportsยง
use crate::executors::DURATION_BETWEEN_METRICS_REPORT;๐use crate::executors::EarlyExit;๐use crate::executors::Executor;๐use crate::executors::FuzzTestTimer;๐use crate::executors::RawCallResult;๐use crate::executors::campaign::CampaignCallKind;๐use crate::executors::campaign::CampaignControl;๐use crate::executors::campaign::CampaignEvent;๐use crate::executors::campaign::FuzzCampaign;๐use crate::executors::campaign::FuzzCampaignMode;๐use crate::executors::corpus::CorpusSyncCoordinator;๐use crate::executors::corpus::GlobalCorpusMetrics;๐use crate::executors::corpus::ReplayTarget;๐use crate::executors::corpus::StatelessReplayTarget;๐use crate::executors::corpus::WorkerCorpus;๐use crate::executors::should_ignore_revert;๐use crate::executors::worker_seed;๐use alloy_dyn_abi::JsonAbiExt;๐use alloy_json_abi::Function;๐use alloy_primitives::Address;๐use alloy_primitives::Bytes;๐use alloy_primitives::Log;๐use alloy_primitives::U256;๐use alloy_primitives::map::HashMap;๐use eyre::Result;๐use foundry_common::sh_println;๐use foundry_common::sh_warn;๐use foundry_config::FuzzConfig;๐use foundry_evm_core::Breakpoints;๐use foundry_evm_core::constants::MAGIC_ASSUME;๐use foundry_evm_core::decode::RevertDecoder;๐use foundry_evm_core::decode::SkipReason;๐use foundry_evm_core::evm::FoundryEvmNetwork;๐use foundry_evm_coverage::HitMaps;๐use foundry_evm_fuzz::BaseCounterExample;๐use foundry_evm_fuzz::BasicTxDetails;๐use foundry_evm_fuzz::CallDetails;๐use foundry_evm_fuzz::CounterExample;๐use foundry_evm_fuzz::FuzzCase;๐use foundry_evm_fuzz::FuzzError;๐use foundry_evm_fuzz::FuzzFixtures;๐use foundry_evm_fuzz::FuzzRunMetadata;๐use foundry_evm_fuzz::FuzzTestResult;๐use foundry_evm_fuzz::strategies::EvmFuzzState;๐use foundry_evm_fuzz::strategies::TxGenerator;๐use foundry_evm_traces::SparsedTraceArena;๐use indicatif::ProgressBar;๐use proptest::test_runner::RngAlgorithm;๐use proptest::test_runner::TestCaseError;๐use proptest::test_runner::TestRng;๐use proptest::test_runner::TestRunner;๐use rayon::iter::IntoParallelIterator;๐use rayon::iter::ParallelIterator;๐use serde_json::json;๐use std::path::PathBuf;๐use std::sync::Arc;๐use std::sync::OnceLock;๐use std::sync::atomic::AtomicBool;๐use std::sync::atomic::AtomicU32;๐use std::sync::atomic::Ordering;๐use std::time::Instant;๐use std::time::SystemTime;๐use std::time::UNIX_EPOCH;๐use frontier::FuzzBranchFrontierArtifact;๐pub(super) use frontier::FuzzBranchFrontier;๐pub(super) use frontier::FuzzFrontierRecorder;๐pub(super) use frontier::StatefulFuzzBranchFrontierArtifact;๐pub(super) use frontier::merge_frontiers;๐pub(super) use frontier::write_frontier_artifact;๐
Modulesยง
Structsยง
- Case
Outcome - Returned by a single fuzz in the case of a successful run
- Counter
Example Outcome - Returned by a single fuzz when a counterexample has been discovered
- Fuzzed
Executor - Wrapper around an
Executorwhich provides fuzzing support using [proptest]. - Shared
Fuzz ๐State - Shared state for coordinating parallel fuzz workers
- Worker
State ๐
Enumsยง
- Fuzz
Outcome - Outcome of a single fuzz
Constantsยง
- MIN_
RUNS_ ๐PER_ WORKER - Minimum number of runs per worker. This is mainly to reduce the overall number of rayon jobs.
- SYNC_
INTERVAL ๐ - Corpus syncs across workers every
SYNC_INTERVALruns.