├── .env.example ├── .github └── workflows │ ├── build.yml │ └── coverage.yml ├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── docs └── operations.md ├── input └── circuit.circom ├── src ├── a_gate_type.rs ├── circom.rs ├── circom │ ├── parser.rs │ └── type_analysis.rs ├── cli.rs ├── compiler.rs ├── lib.rs ├── main.rs ├── process.rs ├── program.rs ├── runtime.rs └── topological_sort.rs └── tests ├── circuits ├── integration │ ├── addZero.circom │ ├── arrayAssignment.circom │ ├── constantSum.circom │ ├── directOutput.circom │ ├── indexOutOfBounds.circom │ ├── infixOps.circom │ ├── mainTemplateArgument.circom │ ├── matElemMul.circom │ ├── prefixOps.circom │ ├── sum.circom │ ├── underConstrained.circom │ └── xEqX.circom └── machine-learning │ ├── ArgMax.circom │ ├── AveragePooling2D.circom │ ├── BatchNormalization2D.circom │ ├── Conv1D.circom │ ├── Conv2D.circom │ ├── Dense.circom │ ├── DepthwiseConv2D.circom │ ├── Flatten2D.circom │ ├── GlobalAveragePooling2D.circom │ ├── GlobalMaxPooling2D.circom │ ├── GlobalSumPooling2D.circom │ ├── MaxPooling2D.circom │ ├── NaiveSearch.circom │ ├── PointwiseConv2D.circom │ ├── ReLU.circom │ ├── SeparableConv2D.circom │ ├── SumPooling2D.circom │ ├── Zanh.circom │ ├── ZeLU.circom │ ├── Zigmoid.circom │ ├── circomlib-matrix │ ├── matElemMul.circom │ ├── matElemSum.circom │ └── matMul.circom │ ├── circomlib │ ├── aliascheck.circom │ ├── babyjub.circom │ ├── binsum.circom │ ├── bitify.circom │ ├── comparators.circom │ ├── compconstant.circom │ ├── escalarmulany.circom │ ├── escalarmulfix.circom │ ├── mimc.circom │ ├── montgomery.circom │ ├── mux3.circom │ ├── sign.circom │ └── switcher.circom │ ├── crypto │ ├── ecdh.circom │ ├── encrypt.circom │ └── publickey_derivation.circom │ ├── fc.circom │ ├── util.circom │ └── utils-comp.circom └── integration.rs /.env.example: -------------------------------------------------------------------------------- 1 | LOG_LEVEL="debug" -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/coverage.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/.github/workflows/coverage.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/README.md -------------------------------------------------------------------------------- /docs/operations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/docs/operations.md -------------------------------------------------------------------------------- /input/circuit.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/input/circuit.circom -------------------------------------------------------------------------------- /src/a_gate_type.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/src/a_gate_type.rs -------------------------------------------------------------------------------- /src/circom.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/src/circom.rs -------------------------------------------------------------------------------- /src/circom/parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/src/circom/parser.rs -------------------------------------------------------------------------------- /src/circom/type_analysis.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/src/circom/type_analysis.rs -------------------------------------------------------------------------------- /src/cli.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/src/cli.rs -------------------------------------------------------------------------------- /src/compiler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/src/compiler.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/process.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/src/process.rs -------------------------------------------------------------------------------- /src/program.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/src/program.rs -------------------------------------------------------------------------------- /src/runtime.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/src/runtime.rs -------------------------------------------------------------------------------- /src/topological_sort.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/src/topological_sort.rs -------------------------------------------------------------------------------- /tests/circuits/integration/addZero.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/integration/addZero.circom -------------------------------------------------------------------------------- /tests/circuits/integration/arrayAssignment.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/integration/arrayAssignment.circom -------------------------------------------------------------------------------- /tests/circuits/integration/constantSum.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/integration/constantSum.circom -------------------------------------------------------------------------------- /tests/circuits/integration/directOutput.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/integration/directOutput.circom -------------------------------------------------------------------------------- /tests/circuits/integration/indexOutOfBounds.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/integration/indexOutOfBounds.circom -------------------------------------------------------------------------------- /tests/circuits/integration/infixOps.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/integration/infixOps.circom -------------------------------------------------------------------------------- /tests/circuits/integration/mainTemplateArgument.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/integration/mainTemplateArgument.circom -------------------------------------------------------------------------------- /tests/circuits/integration/matElemMul.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/integration/matElemMul.circom -------------------------------------------------------------------------------- /tests/circuits/integration/prefixOps.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/integration/prefixOps.circom -------------------------------------------------------------------------------- /tests/circuits/integration/sum.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/integration/sum.circom -------------------------------------------------------------------------------- /tests/circuits/integration/underConstrained.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/integration/underConstrained.circom -------------------------------------------------------------------------------- /tests/circuits/integration/xEqX.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/integration/xEqX.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/ArgMax.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/ArgMax.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/AveragePooling2D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/AveragePooling2D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/BatchNormalization2D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/BatchNormalization2D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/Conv1D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/Conv1D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/Conv2D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/Conv2D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/Dense.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/Dense.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/DepthwiseConv2D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/DepthwiseConv2D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/Flatten2D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/Flatten2D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/GlobalAveragePooling2D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/GlobalAveragePooling2D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/GlobalMaxPooling2D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/GlobalMaxPooling2D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/GlobalSumPooling2D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/GlobalSumPooling2D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/MaxPooling2D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/MaxPooling2D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/NaiveSearch.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/NaiveSearch.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/PointwiseConv2D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/PointwiseConv2D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/ReLU.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/ReLU.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/SeparableConv2D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/SeparableConv2D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/SumPooling2D.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/SumPooling2D.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/Zanh.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/Zanh.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/ZeLU.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/ZeLU.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/Zigmoid.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/Zigmoid.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib-matrix/matElemMul.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib-matrix/matElemMul.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib-matrix/matElemSum.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib-matrix/matElemSum.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib-matrix/matMul.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib-matrix/matMul.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/aliascheck.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/aliascheck.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/babyjub.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/babyjub.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/binsum.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/binsum.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/bitify.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/bitify.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/comparators.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/comparators.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/compconstant.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/compconstant.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/escalarmulany.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/escalarmulany.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/escalarmulfix.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/escalarmulfix.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/mimc.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/mimc.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/montgomery.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/montgomery.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/mux3.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/mux3.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/sign.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/sign.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/circomlib/switcher.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/circomlib/switcher.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/crypto/ecdh.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/crypto/ecdh.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/crypto/encrypt.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/crypto/encrypt.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/crypto/publickey_derivation.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/crypto/publickey_derivation.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/fc.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/fc.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/util.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/util.circom -------------------------------------------------------------------------------- /tests/circuits/machine-learning/utils-comp.circom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/circuits/machine-learning/utils-comp.circom -------------------------------------------------------------------------------- /tests/integration.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/namnc/circom-2-arithc/HEAD/tests/integration.rs --------------------------------------------------------------------------------