[package]
name = "snarkos-node-rest"
version = "3.8.0"
authors = [ "The Aleo Team <hello@aleo.org>" ]
description = "A REST API server for a decentralized virtual machine"
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 = "2021"

[features]
default = [ "parallel" ]
parallel = [ "rayon" ]
history = [ "snarkvm-synthesizer/history" ]
telemetry = [ ]
cuda = [ "snarkvm/cuda", "snarkos-node-consensus/cuda", "snarkos-node-router/cuda" ]
locktick = [
  "dep:locktick",
  "snarkos-node-consensus/locktick",
  "snarkos-node-router/locktick",
  "snarkvm-synthesizer/locktick"
]

[dependencies.anyhow]
version = "1.0.79"

[dependencies.axum]
version = "0.8"

[dependencies.axum-extra]
version = "0.10"
features = [ "erased-json", "typed-header" ]

[dependencies.http]
version = "1.0"

[dependencies.indexmap]
version = "2.1"
features = [ "serde", "rayon" ]

[dependencies.jsonwebtoken]
version = "9.2"

[dependencies.locktick]
version = "0.3"
features = [ "parking_lot" ]
optional = true

[dependencies.once_cell]
version = "1.19"

[dependencies.parking_lot]
version = "0.12"

[dependencies.serde]
version = "1"
default-features = false
features = [ "derive" ]

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

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

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

[dependencies.snarkvm-synthesizer]
#path = "../../../snarkVM/synthesizer"
#git = "https://github.com/ProvableHQ/snarkVM.git"
#rev = "0d744e9"
version = "=3.8.0"
default-features = false
optional = true

[dependencies.rand]
version = "0.8"

[dependencies.rayon]
version = "1"
optional = true

[dependencies.snarkvm]
workspace = true

[dependencies.time]
version = "0.3"

[dependencies.tokio]
version = "1"

[dependencies.tower]
version = "0.5"

[dependencies.tower_governor]
version = "0.7"

[dependencies.tower-http]
version = "0.6"
features = [ "cors", "trace" ]

[dependencies.tracing]
version = "0.1"
