forge/lib.rs
1//! Forge is a fast and flexible Ethereum testing framework.
2
3#![cfg_attr(not(test), warn(unused_crate_dependencies))]
4#![cfg_attr(docsrs, feature(doc_cfg))]
5
6#[macro_use]
7extern crate foundry_common;
8
9#[macro_use]
10extern crate tracing;
11
12// Required for optional features (aws-kms, gcp-kms, turnkey)
13#[cfg(any(feature = "aws-kms", feature = "gcp-kms", feature = "turnkey"))]
14use foundry_wallets as _;
15
16pub mod args;
17pub mod cmd;
18pub mod opts;
19
20pub mod coverage;
21
22pub mod brutalizer;
23
24pub mod gas_report;
25
26pub mod multi_runner;
27pub use multi_runner::{MultiContractRunner, MultiContractRunnerBuilder};
28
29pub mod mutation;
30
31pub mod workspace;
32
33mod runner;
34pub use runner::ContractRunner;
35
36mod progress;
37pub mod result;
38mod symbolic_minimizer;
39mod symbolic_regression;
40
41// TODO: remove
42pub use foundry_common::traits::TestFilter;
43pub use foundry_evm::*;
44
45mod lockfile;
46pub use lockfile::{DepIdentifier, DepMap, FOUNDRY_LOCK, Lockfile};