[package]
name = "ant-node"
version = "0.10.0"
edition = "2021"
authors = ["David Irvine <david.irvine@maidsafe.net>"]
description = "Pure quantum-proof network node for the Autonomi decentralized network"
license = "MIT OR Apache-2.0"
repository = "https://github.com/WithAutonomi/ant-node"
keywords = ["p2p", "decentralized", "quantum-safe", "post-quantum", "dht"]
categories = ["network-programming", "cryptography"]
rust-version = "1.75"
[lib]
name = "ant_node"
path = "src/lib.rs"
[[bin]]
name = "ant-node"
path = "src/bin/ant-node/main.rs"
[[bin]]
name = "ant-devnet"
path = "src/bin/ant-devnet/main.rs"
[dependencies]
saorsa-core = "0.23.0"
saorsa-pqc = "0.5"
evmlib = "0.8"
xor_name = "5"
lru = "0.16.3"
parking_lot = "0.12"
heed = "0.22"
aes-gcm-siv = "0.11"
hkdf = "0.12"
self_encryption = "0.35.0"
blake3 = "1"
tokio = { version = "1.35", features = ["full", "signal"] }
tokio-util = { version = "0.7", features = ["rt"] }
futures = "0.3"
clap = { version = "4.5", features = ["derive", "env"] }
serde = { version = "1", features = ["derive"] }
toml = "0.8"
directories = "5"
reqwest = { version = "0.13", features = ["json", "rustls"], default-features = false }
semver = "1"
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"], optional = true }
tracing-appender = { version = "0.2", optional = true }
thiserror = "2"
color-eyre = "0.6"
rmp-serde = "1"
hex = "0.4"
bytes = "1"
chrono = { version = "0.4", features = ["serde"] }
tempfile = "3"
rand = "0.8"
serde_json = "1"
flate2 = "1"
tar = "0.4"
zip = "2"
sha2 = "0.10"
fs2 = "0.4"
page_size = "0.6"
postcard = { version = "1.1.3", features = ["use-std"] }
[target.'cfg(windows)'.dependencies]
self-replace = "1"
[target.'cfg(target_os = "macos")'.dependencies]
objc2 = "0.6"
objc2-foundation = { version = "0.3", features = ["NSProcessInfo", "NSString"] }
[dev-dependencies]
tokio-test = "0.4"
proptest = "1"
alloy = { version = "1", features = ["node-bindings"] }
serial_test = "3"
[[test]]
name = "e2e"
path = "tests/e2e/mod.rs"
required-features = ["test-utils"]
[features]
default = ["logging"]
logging = ["tracing", "tracing-subscriber", "tracing-appender"]
dev = []
test-utils = []
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true
[profile.dev]
opt-level = 1
[lints.rust]
unsafe_code = "deny"
missing_docs = "warn"
[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
unused_async = "allow"
cognitive_complexity = "allow"
missing_const_for_fn = "allow"