[package]
name = "snarkos"
version = "2.0.1"
authors = [ "The Aleo Team <hello@aleo.org>" ]
description = "A decentralized operating system"
homepage = "https://aleo.org"
repository = "https://github.com/AleoHQ/snarkOS"
keywords = [
  "aleo",
  "cryptography",
  "blockchain",
  "decentralized",
  "zero-knowledge"
]
categories = [ "cryptography", "operating-systems" ]
license = "GPL-3.0"
edition = "2018"

[workspace]
members = [ "metrics", "storage", "testing" ]

[features]
default = [ ]
cuda = [ "snarkvm/cuda" ]
prometheus = [ "snarkos-metrics" ]
test = [ ]

[dependencies]
bytes = "1.0.0"
crossterm = "0.22"
tui = "0.17.0"

  [dependencies.snarkos-metrics]
  path = "./metrics"
  version = "2.0.1"
  optional = true

  [dependencies.snarkos-storage]
  path = "./storage"
  version = "2.0.1"

  [dependencies.snarkvm]
  version = "0.8.0"

  [dependencies.aleo-std]
  version = "0.1.6"

  [dependencies.anyhow]
  version = "1"

  [dependencies.async-trait]
  version = "0.1"

  [dependencies.bincode]
  version = "1.0"

  [dependencies.cfg-if]
  version = "1.0"

  [dependencies.circular-queue]
  version = "0.2"

  [dependencies.colored]
  version = "2.0"

  [dependencies.futures]
  version = "0.3.19"
  features = [ "thread-pool" ]

  [dependencies.hex]
  version = "0.4"

  [dependencies.hyper]
  version = "0.14"
  features = [ "http1", "runtime", "server", "tcp" ]

  [dependencies.json-rpc-types]
  version = "1.0.2"

  [dependencies.jsonrpc-core]
  version = "18"

  [dependencies.num_cpus]
  version = "1"

  [dependencies.once_cell]
  version = "1"

  [dependencies.parking_lot]
  version = "0.12"

  [dependencies.rand]
  version = "0.8"

  [dependencies.rayon]
  version = "1"

  [dependencies.self_update]
  version = "0.28"
  features = [
  "archive-zip",
  "compression-zip-bzip2",
  "compression-zip-deflate",
  "compression-flate2"
]

  [dependencies.serde]
  version = "1"

  [dependencies.serde_json]
  version = "1"
  features = [ "arbitrary_precision" ]

  [dependencies.structopt]
  version = "0.3"

  [dependencies.thiserror]
  version = "1.0"

  [dependencies.time]
  version = "0.3.7"

  [dependencies.tokio]
  version = "1"
  features = [
  "io-util",
  "macros",
  "net",
  "rt-multi-thread",
  "signal",
  "sync",
  "time"
]

  [dependencies.tokio-util]
  version = "=0.6"
  features = [ "codec" ]

  [dependencies.tokio-stream]
  version = "=0.1"

  [dependencies.tracing]
  version = "0.1"

  [dependencies.tracing-subscriber]
  version = "0.3"
  features = [ "env-filter", "parking_lot" ]

[dev-dependencies.rand_chacha]
version = "0.3"

[dev-dependencies.reqwest]
version = "0.11"
features = [ "json" ]

[dev-dependencies.rusty-hook]
version = "0.11"

[dev-dependencies.tempfile]
version = "3.2"

[profile.release]
opt-level = 3
lto = "thin"
incremental = true

[profile.bench]
opt-level = 3
debug = false
rpath = false
lto = "thin"
incremental = true
debug-assertions = false

[profile.dev]
opt-level = 3
lto = "thin"
incremental = true
debug-assertions = false

[profile.test]
opt-level = 3
lto = "thin"
incremental = true
debug = true
debug-assertions = true
