[package]
name = "iroh-base"
version = "0.96.1"
edition = "2024"
readme = "README.md"
description = "base type and utilities for Iroh"
license = "MIT OR Apache-2.0"
authors = ["n0 team"]
repository = "https://github.com/n0-computer/iroh"
# Sadly this also needs to be updated in .github/workflows/ci.yml
rust-version = "1.89"
[lints]
workspace = true
[dependencies]
curve25519-dalek = { version = "=5.0.0-pre.1", features = ["serde", "rand_core", "zeroize"], optional = true }
data-encoding = { version = "2.3.3", optional = true }
# Pin digest to version compatible with curve25519-dalek 5.0.0-pre.1.
digest = { version = "=0.11.0-rc.10", optional = true }
# Pin sha2 to fix version incompatibility
sha2 = { version = "=0.11.0-rc.2", optional = true }
ed25519-dalek = { version = "=3.0.0-pre.1", features = ["serde", "rand_core", "zeroize"], optional = true }
derive_more = { version = "2.0.1", features = ["debug", "display"], optional = true }
url = { version = "2.5.3", features = ["serde"], optional = true }
rand_core = { version = "0.9.3", optional = true }
serde = { version = "1", features = ["derive", "rc"] }
n0-error = "0.1"
zeroize = { version = "1.8.2", optional = true, features = ["derive"] }
zeroize_derive = { version = "1.4.2", optional = true } # needed for minimal versions
[dev-dependencies]
postcard = { version = "1", features = ["use-std"] }
proptest = "1.0.0"
rand = "0.9.2"
rand_chacha = "0.9"
serde_json = "1"
serde_test = "1"
[features]
default = ["relay"]
key = [
"dep:curve25519-dalek",
"dep:digest",
"dep:ed25519-dalek",
"dep:sha2",
"dep:url",
"dep:derive_more",
"dep:data-encoding",
"dep:rand_core",
"dep:zeroize",
"dep:zeroize_derive",
"relay",
]
relay = [
"dep:url",
"dep:derive_more",
]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "iroh_docsrs"]