[package] name = "ark-circom" version = "0.5.0" edition = "2021" description = "Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust" homepage = "https://arkworks.rs" repository = "https://github.com/arkworks-rs/circom-compat" license = "MIT OR Apache-2.0" resolver = "2" [lib] crate-type = ["cdylib", "rlib"] [dependencies] # WASM operations wasmer = { version = "4.4.0", default-features = false } wasmer-wasix = { version = "0.28.0", default-features = false } fnv = { version = "1.0.7", default-features = false } num = { version = "0.4.3" } num-traits = { version = "0.2.16", default-features = false } num-bigint = { version = "0.4.3", default-features = false, features = ["rand"] } # ZKP Generation ark-crypto-primitives = { version = "0.5.0" } ark-ff = { version = "0.5.0", default-features = false, features = ["parallel", "asm"] } ark-ec = { version = "0.5.0", default-features = false, features = ["parallel"] } ark-std = { version = "0.5.0", default-features = false, features = ["parallel"] } ark-bn254 = { version = "0.5.0" } ark-groth16 = { version = "0.5.0", default-features = false, features = ["parallel"] } ark-poly = { version = "0.5.0", default-features = false, features = ["parallel"] } ark-relations = { version = "0.5.0", default-features = false } ark-serialize = { version = "0.5.0", default-features = false } # decoding of data hex = "0.4.3" byteorder = "1.4.3" # ethereum compat ethers-core = { version = "2.0.7", default-features = false, optional = true } # error handling thiserror = "1.0.39" color-eyre = "0.6.2" cfg-if = "1.0.0" [dev-dependencies] criterion = "0.5.1" hex-literal = "0.4.1" tokio = { version = "1.29.1", features = ["macros"] } serde_json = "1.0.94" ethers = "2.0.7" [[bench]] name = "groth16" harness = false [features] default = ["wasmer/default", "ethereum", "wasmer-wasix/default"] wasm = ["wasmer/js-default", "wasmer-wasix/js"] bench-complex-all = [] ethereum = ["ethers-core"]