content: [package]
  name = "midnight-ledger"
  edition = "2024"
  license.workspace = true
  version.workspace = true
  
  [features]
  default = ["proof-verifying"]
  proving = []
  # marker: if this enabled, your ledger *isn't* a stable build!
  unstable = []
  proof-verifying = ["zswap/proof-verifying"]
  # Warning: This *disables* a small amount of well-formedness checking for test setups!
  test-utilities = ["dep:reqwest", "dep:zkir_v2"]
  proptest = ["dep:proptest", "dep:proptest-derive", "coin-structure/proptest"]
  mock-verify = ["transient-crypto/mock-verify"]
  
  [dependencies]
  coin-structure = { path = "../coin-structure", package = "midnight-coin-structure" }
  onchain-runtime = { path = "../onchain-runtime", package = "midnight-onchain-runtime" }
  zswap = { path = "../zswap", package = "midnight-zswap" }
  base-crypto = { path = "../base-crypto", package = "midnight-base-crypto" }
  transient-crypto = { path = "../transient-crypto", package = "midnight-transient-crypto" }
  storage = { path = "../storage", package = "midnight-storage" }
  serialize = { path = "../serialize", package = "midnight-serialize" }
  
  zkir_v2 = { path = "../zkir", package = "zkir", optional = true }
  
  tokio = { version = "^1.46.1", features = ["rt", "macros"] }
  lazy_static = "^1.5.0"
  sha2 = "^0.10.9"
  introspection-derive = "0.1"
  introspection = "0.1"
  derive-where = "^1.5.0"
  anyhow = { version = "^1.0.61" }
  
  is_sorted = "^0.1.1"
  # rand 0.9.0 is not yet supported by some of our dependencies, we will
  # stick with 0.8.0 for now.
  rand = { version = "^0.8.4", features = ["getrandom"] }
  itertools = "^0.14.0"
  
  tracing = "^0.1.41"
  tracing-subscriber = "0.3.19"
  
  fake = { version = "^2.10.0", features = ["derive"] }
  futures = { version = "^0.3.31" }
  serde = { version = "^1.0.219", features = ["derive"] }
  reqwest = { version = "^0.12.22", default-features = false, features = ["rustls-tls-native-roots"], optional = true }
  rayon = "^1.10.0"
  zeroize = "^1.8.0"
  
  # proptest 1.7.0+ rely on rand 0.9.0, which we are not yet updating to.
  proptest = { version = "~1.6.0", optional = true }
  proptest-derive = { version = "0.5", optional = true }
  
  [dev-dependencies]
  midnight-ledger = { path = ".", features = ["test-utilities", "proptest"] }
  criterion = { version = "^0.5.1" }
  paste = "1.0.15"
  serde_json = "^1.0.140"
  hex = "^0.4.3"
  
  [[bench]]
  name = "benchmarking"
  harness = false
  required-features = ["proving", "dust"]
  