[package]
name = "snarkos-node-router"
version = "4.6.2"
authors = [ "The Aleo Team <hello@aleo.org>" ]
description = "A node router for a decentralized operating system"
homepage = "https://aleo.org"
repository = "https://github.com/ProvableHQ/snarkOS"
keywords = [
  "aleo",
  "cryptography",
  "blockchain",
  "decentralized",
  "zero-knowledge"
]
categories = [ "cryptography", "cryptography::cryptocurrencies", "os" ]
license = "Apache-2.0"
edition = "2024"

[features]
test = [ ]
locktick = [
  "dep:locktick",
  "snarkos-node-tcp/locktick",
  "snarkvm/locktick",
  "snarkos-node-network/locktick"
]
metrics = [ "dep:snarkos-node-metrics" ]
cuda = [ "snarkvm/cuda", "snarkos-account/cuda" ]
serial = [ "snarkos-node-bft-ledger-service/serial" ]

[dependencies.anyhow]
workspace = true

[dependencies.async-trait]
workspace = true

[dependencies.colored]
workspace = true

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

[dependencies.linked-hash-map]
version = "0.5"

[dependencies.locktick]
workspace = true
features = [ "parking_lot" ]
optional = true

[dependencies.snarkos-node-metrics]
workspace = true
optional = true

[dependencies.parking_lot]
workspace = true

[dependencies.rand]
workspace = true

[dependencies.rayon]
workspace = true

[dependencies.snarkos-account]
workspace = true

[dependencies.snarkos-node-bft-ledger-service]
workspace = true
features = [ "ledger", "prover" ]

[dependencies.snarkos-node-network]
workspace = true

[dependencies.snarkos-node-sync-communication-service]
workspace = true

[dependencies.snarkos-node-sync-locators]
workspace = true

[dependencies.snarkos-node-router-messages]
workspace = true

[dependencies.snarkos-node-tcp]
workspace = true

[dependencies.snarkos-utilities]
workspace = true

[dependencies.snarkvm]
workspace = true

[dependencies.time]
workspace = true

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

[dependencies.tokio-util]
workspace = true
features = [ "codec" ]

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

[dependencies.tracing]
workspace = true

[dev-dependencies.deadline]
version = "0.2"

[dev-dependencies.futures-util]
workspace = true
features = [ "sink" ]

[dev-dependencies.peak_alloc]
version = "0.2"

[dev-dependencies.snarkos-node-bft-ledger-service]
workspace = true
features = [ "ledger-write", "test" ]

[dev-dependencies.snarkos-node-sync]
path = "../sync"
features = [ "test" ]

[dev-dependencies.snarkos-node-router]
path = "."
features = [ "test" ]

[dev-dependencies.snarkos-node-router-messages]
workspace = true
features = [ "test" ]

[dev-dependencies.snarkvm]
workspace = true
features = [ "test-helpers" ]
