sentri-simulator 0.2.1

Sentri: Transaction simulator for Sentri invariant testing and code generation validation.
Documentation

sentri-simulator

Transaction simulator for Sentri invariant testing.

Simulates blockchain transactions against invariant specifications to detect violations before deployment.

Usage

[dependencies]
sentri-simulator = "0.1.3"
sentri-core = "0.1.3"
sentri-ir = "0.1.3"

Key Components

  • TransactionSimulator: Executes transactions in sandboxed environment
  • StateTracker: Tracks blockchain state changes during simulation
  • InvariantChecker: Real-time violation detection
  • ReportGenerator: Produces detailed violation reports

Example

use sentri_simulator::{TransactionSimulator, SimulationConfig};
use sentri_core::{Target, Invariant};

let config = SimulationConfig::default();
let mut simulator = TransactionSimulator::new(config);

let tx_data = vec![0x00, 0x01]; // Transaction data
let invariants = vec![/* your invariants */];

let result = simulator.simulate(&tx_data, &invariants, Target::EVM)?;
println!("Violations found: {}", result.violations.len());

Simulation Capabilities

  • EVM transaction simulation
  • Solana instruction simulation
  • Move transaction simulation
  • State change tracking
  • Invariant violation reporting
  • Gas estimation

Features

  • Sandboxed execution (no external state)
  • Multi-transaction scenarios
  • State rollback/recovery
  • Detailed violation reporting
  • Performance metrics

See Sentri documentation for simulator configuration.

License

MIT