/circom-2-arithc

Circom interpreter to arithmetic circuit description

Primary LanguageRustMIT LicenseMIT

Circom To Arithmetic Circuit

MIT licensed Build Status codecov

This library enables the creation of arithmetic circuits from circom programs.

Supported Circom Features

Category Type Supported
Statements InitializationBlock
Block
Substitution
Declaration
IfThenElse
While
Return
MultSubstitution
UnderscoreSubstitution
ConstraintEquality
LogCall
Assert
Expressions Call
InfixOp
Number
Variable
PrefixOp
InlineSwitchOp
ParallelOp
AnonymousComp
ArrayInLine
Tuple
UniformArray

Circomlib

WIP

Requirements

  • Rust: To install, follow the instructions found here.

Getting Started

  • Write your circom program in the input directory under the circuit.circom name.

  • Build the program

cargo build --release
  • Run the compilation
cargo run --release

The compiled circuit and circuit report can be found in the ./output directory.

ZK/MPC/FHE backends:

Contributing

Contributions are welcome!

License

This project is licensed under the MIT License - see the LICENSE file for details.