//! EVM inspectors.

pub use foundry_cheatcodes::{self as cheatcodes, Cheatcodes, CheatsConfig};
pub use foundry_evm_coverage::LineCoverageCollector;
pub use foundry_evm_fuzz::Fuzzer;
pub use foundry_evm_traces::{StackSnapshotType, TracingInspector, TracingInspectorConfig};

pub use revm_inspectors::access_list::AccessListInspector;

mod custom_printer;
pub use custom_printer::CustomPrintTracer;

mod chisel_state;
pub use chisel_state::ChiselState;

mod logs;
pub use logs::LogCollector;

mod script;
pub use script::ScriptExecutionInspector;

mod stack;
pub use stack::{InspectorData, InspectorStack, InspectorStackBuilder};

mod edge_cov;
pub(crate) use edge_cov::MAX_EDGE_COUNT;
pub use edge_cov::{
    CmpOperands, EdgeCovConfig, EdgeCovHit, EdgeCovInspector, EdgeCovKind, EdgeCoverage,
    EdgeIndexMap, EdgeKey,
};

mod revert_diagnostic;
pub use revert_diagnostic::RevertDiagnostic;

mod tempo_labels;
pub(crate) use tempo_labels::TempoLabels;
