[package] name = "ark-circom" version = "0.5.0-alpha" edition = "2018" 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" [lib] crate-type = ["cdylib", "rlib"] [dependencies] # WASM operations wasmer = "4.3.0" wasmer-wasix = { version = "0.20.0" } fnv = { version = "=1.0.7", default-features = false } num = { version = "=0.4.0" } num-traits = { version = "=0.2.15", default-features = false } num-bigint = { version = "=0.4.3", default-features = false, features = ["rand"] } # ZKP Generation ark-crypto-primitives = { version = "0.5.0-alpha" } ark-ff = { version = "0.5.0-alpha", default-features = false, features = ["parallel", "asm"] } ark-ec = { version = "0.5.0-alpha", default-features = false, features = ["parallel"] } ark-std = { version = "0.5.0-alpha", default-features = false, features = ["parallel"] } ark-bn254 = { version = "0.5.0-alpha" } ark-groth16 = { version = "0.5.0-alpha", default-features = false, features = ["parallel"] } ark-poly = { version = "0.5.0-alpha", default-features = false, features = ["parallel"] } ark-relations = { version = "0.5.0-alpha", default-features = false } ark-serialize = { version = "0.5.0-alpha", 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" criterion = "=0.3.6" cfg-if = "=1.0.0" [dev-dependencies] hex-literal = "=0.2.2" 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"] wasm = ["wasmer/js-default"] bench-complex-all = [] ethereum = ["ethers-core"]