Skip to main content

sentri_core/
lib.rs

1#![warn(missing_docs)]
2#![deny(unsafe_code)]
3
4//! Invar Core: Base abstractions for multi-chain invariant analysis.
5//!
6//! This module defines the core traits and types that are chain-agnostic
7//! and form the foundation for all analyzers and generators.
8
9pub mod account_abstraction;
10pub mod attack_patterns;
11pub mod config;
12pub mod error;
13pub mod evaluator;
14pub mod model;
15pub mod security_validator;
16pub mod threat_model;
17pub mod traits;
18pub mod type_checker;
19pub mod types;
20
21pub use account_abstraction::{
22    AAContext, AALayer, AccountState, CrossLayerCheckResult, EntryPointState, PaymasterState,
23    UserOpData,
24};
25pub use attack_patterns::AttackPatternDB;
26pub use config::{AlertConfig, ChainConfig, Config, ConfigError, InvariantConfig};
27pub use error::{InvarError, Result};
28pub use evaluator::{EvalResult, EvaluationError, Evaluator, ExecutionContext, Value};
29pub use model::{FunctionModel, Invariant, ProgramModel, StateVar};
30pub use security_validator::{IssueSeverity, SecurityIssue, SecurityReport, SecurityValidator};
31pub use threat_model::{
32    DSLSandbox, InjectionVerifier, SimulationIsolation, StrictModeAnalyzer, TamperDetector,
33    ThreatModelConfig, ThreatModelError, ThreatResult,
34};
35pub use traits::{ChainAnalyzer, CodeGenerator, Simulator};
36pub use type_checker::TypeChecker;
37pub use types::{Type, TypeError, TypeResult, TypedExpr, TypedValue};