[package]
name = "snarkos"
version = "2.1.0"
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 = "Apache-2.0"
edition = "2021"
rust-version = "1.66"

[workspace]
members = [
  "account",
  "cli",
  "display",
  "node",
  "node/cdn",
  "node/consensus",
  "node/env",
  "node/messages",
  "node/metrics",
  "node/rest",
  "node/router",
  "node/tcp",
  ".integration"
]

[workspace.dependencies.snarkvm]
version = "=0.12.1"
features = [ "circuit", "console", "rocks" ]

[[bin]]
name = "snarkos"
path = "snarkos/main.rs"

[features]
jemalloc = [ "tikv-jemallocator" ]

[dependencies.anyhow]
version = "1.0.70"

[dependencies.clap]
version = "4.3"
features = [ "derive" ]

[dependencies.once_cell]
version = "1"

[dependencies.snarkos-account]
path = "./account"
version = "=2.1.0"

[dependencies.snarkos-cli]
path = "./cli"
version = "=2.1.0"

[dependencies.snarkos-display]
path = "./display"
version = "=2.1.0"

[dependencies.snarkos-node]
path = "./node"
version = "=2.1.0"

[dependencies.snarkos-node-cdn]
path = "./node/cdn"
version = "=2.1.0"

[dependencies.snarkos-node-consensus]
path = "./node/consensus"
version = "=2.1.0"

[dependencies.snarkos-node-env]
path = "./node/env"
version = "=2.1.0"

[dependencies.snarkos-node-messages]
path = "./node/messages"
version = "=2.1.0"

[dependencies.snarkos-node-rest]
path = "./node/rest"
version = "=2.1.0"

[dependencies.snarkos-node-router]
path = "./node/router"
version = "=2.1.0"

[dependencies.snarkos-node-tcp]
path = "./node/tcp"
version = "=2.1.0"

[dependencies.tikv-jemallocator]
version = "0.5"
optional = true

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

[build-dependencies.walkdir]
version = "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 = 2
lto = "thin"
incremental = true

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