[package]
name = "cyber-radio-base"
version = "0.1.1"
edition = "2024"
readme = "README.md"
description = "radio (cyber transport) โ base types; fork of iroh-base"
license = "MIT OR Apache-2.0"
authors = ["n0 team"]
repository = "https://github.com/cyberia-to/radio"
# 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 }
# Pin the rustcrypto rc line ed25519-dalek 3.0.0-pre.1 was built against โ
# the final 3.0.0/0.11.0 releases drifted API and break a fresh resolve.
ed25519 = { version = "=3.0.0-rc.4", optional = true }
signature = "=3.0.0-rc.10"
pkcs8 = { version = "=0.11.0-rc.10", optional = true }
spki = "=0.8.0-rc.4"
der = "=0.8.0-rc.10"
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:ed25519",
"dep:pkcs8",
"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"]
# radio โ the cyber transport (iroh fork); the lib keeps its iroh_base name
[lib]
name = "iroh_base"