Circom wrapper's helper function (#26)

* r1cs_parser

* z vector calculation

* test function done

* improved

* Brushuped

* add comment

* Added description of test_circuit

* found mistake

* fixed cargo.toml

* Imported ark-circom as crate

* improved l in R1CS as the number of public I/O

* separate test functions into success/failure and unify variable to pub_io_len

* removed bn254 & abstracted to PrimeField, but still some work

* add comments and clean up code

* move ark-bn254 in dev-dependencies

* abstracted test function

* fixed github action's error

* cargo fmt

* remove convert_constraints_bigint_to_scalar function

* fixed n_cols

* fixed n_cols

* Add functionality to compile Circom files in tests

* Remove test_circuit.r1cs

* Introduce CircomFrontend trait and simplify with CircomWrapper struct

* deleted the CircomFrontend

* improved

* fixed clippy lint checks of github actions

* probably fixed github actions error by changing the github yaml

* fixed github yaml, fmt, and clippy

---------

Co-authored-by: Carlos Pérez <37264926+CPerezz@users.noreply.github.com>
This commit is contained in:
Y5
2023-10-18 00:32:58 +09:00
committed by GitHub
parent 422db752f9
commit 7656c6bd6c
7 changed files with 260 additions and 4 deletions

View File

@@ -4,25 +4,28 @@ version = "0.1.0"
edition = "2021"
[dependencies]
ark-ec = "0.4.2"
ark-ec = "^0.4.0"
ark-ff = "^0.4.0"
ark-poly = "^0.4.0"
ark-std = "^0.4.0"
ark-crypto-primitives = { version = "^0.4.0", default-features = false, features = ["r1cs", "sponge", "crh"] }
ark-relations = { version = "^0.4.0", default-features = false }
ark-r1cs-std = { version = "^0.4.0", default-features = false }
ark-circom = { git = "https://github.com/gakonst/ark-circom.git" }
thiserror = "1.0"
rayon = "1.7.0"
num-bigint = "0.4"
color-eyre = "=0.6.2"
# tmp imports for espresso's sumcheck
ark-serialize = "0.4.2"
ark-serialize = "^0.4.0"
espresso_subroutines = {git="https://github.com/EspressoSystems/hyperplonk", package="subroutines"}
espresso_transcript = {git="https://github.com/EspressoSystems/hyperplonk", package="transcript"}
[dev-dependencies]
ark-pallas = {version="0.4.0", features=["r1cs"]}
ark-vesta = {version="0.4.0"}
ark-bn254 = "0.4.0"
[features]
default = ["parallel", "nova", "hypernova"]