content: [package]
  name = "midnight-circuits"
  version = "5.0.1"
  edition = "2021"
  license-file.workspace = true
  
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
  
  [dependencies]
  group = { workspace = true }
  ff = { workspace = true }
  rustc-hash = "2"
  halo2curves = { workspace = true }
  blake2b_simd = { workspace = true }
  midnight-curves = { path = "../curves", version = "0.1.1" }
  midnight-proofs = { path = "../proofs", version = "0.5.1", default-features = false, features = [
      "bits",
      "cost-estimator",
      "circuit-params",
      "committed-instances",
  ] }
  bench_macros = { path = "../bench-macros" }
  
  serde = { workspace = true, optional = true }
  serde_derive = { workspace = true, optional = true }
  serde_json = { workspace = true, optional = true }
  sha2 = { workspace = true }
  rand = { workspace = true }
  
  num-bigint = { version = "0.4" }
  num-traits = "0.2"
  num-integer = "0.1"
  subtle = "2.6"
  base64 = "0.13.1"
  lazy_static = "1.5.0"
  bincode = "2.0"
  criterion = { version = "0.7", optional = true }
  
  [dev-dependencies]
  criterion = "0.7"
  rand_chacha = "0.3.1"
  goldenfile = "1.8.0"
  num-bigint = { workspace = true, features = ["rand"] }
  serde_json = { workspace = true }
  itertools = "0.14"
  dhat = "0.3"
  bellman = "0.14.0"
  serial_test = "3.2.0"
  
  [target.'cfg(ci_build)'.dependencies]
  midnight-curves = { path = "../curves", features = ["portable"] }
  
  [features]
  default = []
  # Feature that exposes some testing functionality, such as load from scratch or instantiable
  testing = ["num-bigint/rand"]
  heap_profiling = []
  # Enable truncated challenges. This makes recursive proofs more efficient
  truncated-challenges = ["midnight-proofs/truncated-challenges"]
  
  # Feature to enable granular benchmarks in the prover. If enabled,
  # the proof generation functions take an additional input,
  # _group: &mut BenchmarkGroup<WallTime>, and return granular benchmarks
  # of the prover for that concrete circuit.
  bench-internal = ["criterion", "midnight-proofs/bench-internal"]
  
  [[example]]
  name = "json_verification"
  path = "examples/json_verification.rs"
  
  [[bench]]
  name = "poseidon_cpu"
  harness = false
  