content: [package]
  name = "prover"
  version = "0.1.0"
  edition = "2021"
  publish = false
  
  [dependencies]
  bincode = "1.3.3"
  derivative = "2.2.0"
  digest = "0.9.0"
  bitvec = { version = "1", features = ["serde"] }
  eyre = "0.6.5"
  fnv = "1.0.7"
  hex = "0.4.3"
  libc = "0.2.108"
  nom = "7.0.0"
  nom-leb128 = "0.2.0"
  num = "0.4"
  rustc-demangle = "0.1.21"
  serde = { version = "1.0.130", features = ["derive", "rc"] }
  serde_json = "1.0.67"
  serde_with = { version = "3.8.1", features = ["base64"] }
  sha3 = "0.9.1"
  static_assertions = "1.1.0"
  structopt = "0.3.23"
  parking_lot = "0.12.1"
  lazy_static.workspace = true
  itertools = "0.10.5"
  wat = "1.0.56"
  smallvec = { version = "1.10.0", features = ["serde"] }
  rayon = { version = "1.5.1", optional = true }
  arbutil = { path = "../arbutil/" }
  brotli = { path = "../brotli/" }
  wasmer = { path = "../tools/wasmer/lib/api", optional = true }
  wasmer-types = { path = "../tools/wasmer/lib/types" }
  wasmer-compiler-singlepass = { path = "../tools/wasmer/lib/compiler-singlepass", optional = true, default-features = false, features = ["std", "unwind", "avx"] }
  wasmparser.workspace = true
  num-derive = "0.4.1"
  num-traits = "0.2.17"
  c-kzg = { version = "2.1.1", optional = true } # TODO: look into switching to rust-kzg (no crates.io release or hosted rustdoc yet)
  sha2 = "0.9.9"
  lru = "0.12.3"
  once_cell = "1.19.0"
  enum-iterator = "2.0.1"
  
  [dev-dependencies]
  criterion = { version = "0.5.0", features = ["html_reports"] }
  rand = "0.8.4"
  
  [[bench]]
  name = "merkle_bench"
  harness = false
  
  [lib]
  name = "prover"
  crate-type = ["staticlib", "lib"]
  
  [features]
  default = ["native", "rayon", "singlepass_rayon"]
  counters = []
  native = ["dep:wasmer", "dep:wasmer-compiler-singlepass", "brotli/wasmer_traits", "dep:c-kzg"]
  singlepass_rayon = ["wasmer-compiler-singlepass?/rayon"]
  rayon = ["dep:rayon"]
  