sentri-dsl-parser 0.1.3

DSL parser for Sentri invariant definitions
Documentation

sentri-dsl-parser

Parser for Sentri's invariant DSL.

Parses .invar files into the Sentri intermediate representation (IR) using the pest parser generator.

Usage

[dependencies]
sentri-dsl-parser = "0.1.3"
sentri-ir = "0.1.3"

Parsing Invariant Files

use sentri_dsl_parser::Parser;

let parser = Parser::new();
let spec = parser.parse_file("invariants.invar")?;
println!("Loaded {} checks", spec.checks.len());

DSL Syntax

The invariant DSL provides a readable, declarative way to express security properties:

invariant_check no_reentrancy {
  description: "Detect reentrancy patterns"
  chain: evm
  severity: critical
  check {
    NO_EXTERNAL_CALLS_BEFORE_STATE_CHANGE
  }
}

See Sentri documentation for complete DSL reference.

License

MIT