sentri-generator-evm
Code generator for EVM smart contracts using Sentri invariants.
Generates Solidity code and EVM bytecode instrumentation to enforce Sentri invariants at runtime.
Usage
[]
= "0.1.3"
= "0.1.3"
= "0.1.3"
Key Components
SolidityGenerator: Generates Solidity inline checksBytecodeInstrumentor: Inserts runtime verification into bytecodeGasEstimator: Calculates gas costs of instrumentationASTTransformer: Modifies contract AST for invariant enforcement
Example
use SolidityGenerator;
let mut generator = new;
let invariants = vec!;
let instrumented_code = generator.generate?;
println!;
Generation Targets
- Solidity 0.8.x contracts
- EVM bytecode (via ethers-rs)
- Runtime invariant enforcement
- Gas-optimized checks
Output Formats
- Pure Solidity (.sol files)
- Solidity with external caller contracts
- Standalone verification contracts
See Sentri documentation for generation options.
License
MIT