Cargo Features

[dependencies]
circom-prover = { version = "0.1.0", default-features = false, features = ["rustwitness", "witnesscalc", "arkworks", "rapidsnark", "ethereum"] }
default = arkworks, ethereum, rustwitness

These default features are set whenever circom-prover is added without default-features = false somewhere in the dependency tree.

rustwitness default = rust-witness

Witness Generation

witnesscalc = witnesscalc-adapter
arkworks default = ark-bls12-381, ark-bn254, ark-crypto-primitives, ark-ec, ark-ff, ark-groth16, ark-poly, ark-relations, ark-serialize, ark-std

Proof Generation

Affects prover::ark_circom, prover::arkworks, prover::serialization

rapidsnark
ethereum default

Affects prover::ethereum

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

rust-witness rustwitness
witnesscalc-adapter witnesscalc?
ark-ec arkworks

Enables ark-ec =0.4.1

arkworks

ark-ff arkworks

Enables ark-ff =0.4.1

ark-std arkworks

Enables ark-std =0.4.0

ark-crypto-primitives arkworks

Enables ark-crypto-primitives =0.4.0

ark-relations arkworks

Enables ark-relations ^0.4

ark-bls12-381 arkworks

Enables ark-bls12-381 ^0.4.0

ark-bn254 arkworks

Enables ark-bn254 =0.4.0

ark-serialize arkworks

Enables ark-serialize =0.4.1

ark-groth16 arkworks

Enables ark-groth16 =0.4.0

ark-poly arkworks

Enables ark-poly =0.4.1