content: [package]
  name = "ark-circom"
  version = "0.1.0"
  edition = "2018"
  description = "Arkworks bindings to Circom's R1CS, for Groth16 Proof and Witness generation in Rust"
  license = "MIT OR Apache-2.0"
  
  [lib]
  crate-type = ["cdylib", "rlib"]
  
  [dependencies]
  # WASM operations
  wasmer = { version = "=2.3.0", default-features = false }
  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.4.0" }
  ark-ec = { version = "0.4.1", default-features = false, features = ["parallel"] }
  ark-ff = { version = "0.4.1", default-features = false, features = ["parallel", "asm"] }
  ark-std = { version = "0.4.0", default-features = false, features = ["parallel"] }
  ark-bn254 = { version = "0.4.0" }
  ark-groth16 = { version = "0.4.0", default-features = false, features = ["parallel"] }
  ark-poly = { version = "0.4.1", default-features = false, features = ["parallel"] }
  ark-relations = { version = "0.4.0", default-features = false }
  ark-serialize = { version = "0.4.1", 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 = {version = "0.6.4", features =[]}
  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", "circom-2", "ethereum"]
  wasm = ["wasmer/js-default"]
  bench-complex-all = []
  circom-2 = []
  ethereum = ["ethers-core"]
  