[package]
name = "aranya-daemon"
description = "Daemon process for syncing with Aranya peers and maintaining the DAG"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true


[lints]
workspace = true


[dependencies]
aranya-daemon-api = { workspace = true }
aranya-keygen = { workspace = true }

aranya-afc-util = { workspace = true }
aranya-buggy = { workspace = true }
aranya-crypto = { workspace = true }
aranya-crypto-ffi = { workspace = true }
aranya-device-ffi = { workspace = true }
aranya-envelope-ffi = { workspace = true }
aranya-idam-ffi = { workspace = true }
aranya-perspective-ffi = { workspace = true }
aranya-policy-compiler = { workspace = true }
aranya-policy-ifgen = { workspace = true }
aranya-policy-lang = { workspace = true }
aranya-policy-vm = { workspace = true }
aranya-runtime = { workspace = true }
aranya-util = { workspace = true }

aranya-fast-channels = { workspace = true }

anyhow = { workspace = true }
bimap = "0.6"
ciborium = { workspace = true }
clap = { workspace = true }
deser-hjson = { version = "2" }
futures-util = { workspace = true }
postcard = { workspace = true }
serde = { workspace = true }
tarpc = { workspace = true }
tokio = { workspace = true, features = [
    "rt-multi-thread",
    "io-util",
    "fs",
    "macros",
    "net",
    "sync",
    "time",
] }
tokio-util = { workspace = true, features = ["time"] }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }


[dev-dependencies]
pretty_assertions = { workspace = true }
serial_test = { workspace = true }
tempfile = { workspace = true }
test-log = { workspace = true }
test-util = { path = "./test-util" }


[build-dependencies]
aranya-policy-ifgen-build = { workspace = true }


[[bin]]
name = "aranya-daemon"
path = "src/main.rs"
test = false


[[test]]
name = "tests"
path = "tests/tests.rs"