1#![deny(unsafe_code)]
2#![allow(missing_docs)]
3
4pub mod account_abstraction;
9pub mod analysis_context;
10pub mod attack_patterns;
11pub mod changelog;
12pub mod config;
13pub mod dvn_fuzzer;
14pub mod error;
15pub mod evaluator;
16pub mod finding;
17pub mod fuzzer;
18pub mod generated;
19pub mod health_check_fuzzer;
20pub mod integration_testing;
21pub mod merkle_root_fuzzer;
22pub mod model;
23pub mod oz_integration;
24pub mod registry;
25pub mod security_validator;
26pub mod synthetic_mint_fuzzer;
27pub mod test_infrastructure;
28pub mod threat_model;
29pub mod traits;
30pub mod type_checker;
31pub mod types;
32
33pub use account_abstraction::{
34 AAContext, AALayer, AccountState, CrossLayerCheckResult, EntryPointState, PaymasterState,
35 UserOpData,
36};
37pub use analysis_context::{AnalysisContext, AnalysisWarning};
38pub use attack_patterns::AttackPatternDB;
39pub use changelog::{
40 generate_v0_3_0_changelog, APIDocGenerator, ChangelogGenerator, ReleaseVersion,
41};
42pub use config::{AlertConfig, ChainConfig, Config, ConfigError, InvariantConfig};
43pub use error::{InvarError, Result};
44pub use evaluator::{EvalResult, EvaluationError, Evaluator, ExecutionContext, Value};
45pub use finding::{Finding, Severity};
46pub use fuzzer::CodeFuzzer;
47pub use generated::{get_invariant, invariant_count, invariants_for_chain, CompiledInvariant};
48pub use integration_testing::{ExploitTestCase, IntegrationTestResults, IntegrationTestSuite};
49pub use model::{FunctionModel, Invariant, ProgramModel, StateVar};
50pub use oz_integration::{EnrichedFinding, OZMappingRegistry, OZVulnerabilityType};
51pub use registry::{Exploit, ExploitRegistry, EXPLOIT_REGISTRY};
52pub use security_validator::{IssueSeverity, SecurityIssue, SecurityReport, SecurityValidator};
53pub use test_infrastructure::{DetectorTestCase, DetectorTestResult, DetectorTestSuite};
54pub use threat_model::{
55 DSLSandbox, InjectionVerifier, SimulationIsolation, StrictModeAnalyzer, TamperDetector,
56 ThreatModelConfig, ThreatModelError, ThreatResult,
57};
58pub use traits::{ChainAnalyzer, CodeGenerator, Simulator};
59pub use type_checker::TypeChecker;
60pub use types::{Type, TypeError, TypeResult, TypedExpr, TypedValue};