[package]
name = "ark-circom"
version = "0.1.0"
edition = "2018"

[dependencies]
# WASM operations
wasmer = { version = "2.0" }
fnv = { version = "1.0.3", default-features = false }
num = { version = "0.4.0" }
num-traits = { version = "0.2.0", default-features = false }
num-bigint = { version = "0.4", default-features = false, features = ["rand"] }

# ZKP Generation
ark-ec = { version = "0.3.0", default-features = false, features = ["parallel"] }
ark-ff = { version = "0.3.0", default-features = false, features = ["parallel", "asm"] }
ark-std = { version = "0.3.0", default-features = false, features = ["parallel"] }
ark-bn254 = { version = "0.3.0" }
ark-groth16 = { git = "https://github.com/arkworks-rs/groth16", rev = "765817f", features = ["parallel"] }
ark-poly = { version = "^0.3.0", default-features = false, features = ["parallel"] }
ark-relations = { version = "0.3.0", default-features = false }
ark-serialize = { version = "0.3.0", default-features = false }

# decoding of data
hex = "0.4.3"
byteorder = "1.4.3"

# ethereum compat
ethers-core = { git = "https://github.com/gakonst/ethers-rs", default-features = false }

# error handling
thiserror = "1.0.26"
color-eyre = "0.5"
criterion = "0.3.4"

cfg-if = "1.0"

[dev-dependencies]
hex-literal = "0.2.1"
tokio = { version = "1.7.1", features = ["macros"] }
serde_json = "1.0.64"
ethers = { git = "https://github.com/gakonst/ethers-rs", features = ["abigen"] }

[[bench]]
name = "groth16"
harness = false

[features]
bench-complex-all = []
circom-2 = []
