content: [package]
  name = "ab-farmer-components"
  description = "Components of the reference implementation of the farmer"
  license = "0BSD"
  version = "0.1.0"
  authors = ["Nazar Mokrynskyi <nazar@mokrynskyi.com>"]
  edition = "2024"
  include = [
      "/src",
      "/Cargo.toml",
      "/README.md",
  ]
  
  [package.metadata.docs.rs]
  all-features = true
  
  [lib]
  # Necessary for CLI options to work on benches
  bench = false
  
  [[bench]]
  name = "plotting"
  harness = false
  
  [[bench]]
  name = "reading"
  harness = false
  
  [[bench]]
  name = "auditing"
  harness = false
  
  [[bench]]
  name = "proving"
  harness = false
  
  [dependencies]
  ab-archiving = { workspace = true, features = ["parallel"] }
  ab-core-primitives = { workspace = true, features = ["parallel", "scale-codec", "serde"] }
  ab-data-retrieval = { workspace = true }
  ab-erasure-coding = { workspace = true }
  ab-io-type = { workspace = true }
  ab-merkle-tree = { workspace = true, features = ["alloc"] }
  ab-proof-of-space = { workspace = true, features = ["alloc", "parallel"] }
  anyhow = { workspace = true }
  async-lock = { workspace = true, features = ["std"] }
  backoff = { workspace = true, features = ["futures", "tokio"] }
  # TODO: Remove this dependency
  bitvec = { workspace = true }
  blake3 = { workspace = true, features = ["rayon"] }
  fs2 = { workspace = true }
  futures = { workspace = true, features = ["std", "executor"] }
  libc = { workspace = true }
  parity-scale-codec = { workspace = true }
  parking_lot = { workspace = true }
  rayon = { workspace = true }
  serde = { workspace = true, features = ["derive"] }
  thiserror = { workspace = true }
  tokio = { workspace = true, features = ["macros", "parking_lot", "rt-multi-thread", "signal", "sync"] }
  tracing = { workspace = true }
  
  [target.'cfg(windows)'.dependencies]
  windows = { workspace = true }
  
  [dev-dependencies]
  criterion = { workspace = true }
  rand_core = { workspace = true }
  rand_chacha = { workspace = true }
  
  [lints]
  workspace = true
  