Documentation
[package]
name = "iroh-sync"
version = "0.15.0"
edition = "2021"
readme = "README.md"
description = "Iroh sync"
license = "MIT/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.75"

[lints]
workspace = true

[dependencies]
anyhow = "1"
blake3 = { package = "iroh-blake3", version = "1.4.5"}
derive_more = { version = "1.0.0-beta.1", features = ["debug", "deref", "display", "from", "try_into", "into", "as_ref"] }
ed25519-dalek = { version = "2.0.0", features = ["serde", "rand_core"] }
flume = "0.11"
iroh-base = { version = "0.15.0", path = "../iroh-base" }
iroh-metrics = { version = "0.15.0", path = "../iroh-metrics", optional = true }
num_enum = "0.7"
postcard = { version = "1", default-features = false, features = ["alloc", "use-std", "experimental-derive"] }
rand = "0.8.5"
rand_core = "0.6.4"
serde = { version = "1.0.164", features = ["derive"] }
strum = { version = "0.25", features = ["derive"] }
bytes = { version = "1.4", features = ["serde"] }
hex = "0.4"
thiserror = "1"
tracing = "0.1"
tokio = { version = "1", features = ["sync"] }

# fs-store
redb = { version = "2.0.0" }
redb_v1  = { package = "redb", version = "1.5.1" }
tempfile = { version = "3.4" }

# net
iroh-net = { version = "0.15.0", optional = true, path = "../iroh-net" }
tokio-util = { version = "0.7", optional = true, features = ["codec", "io-util", "io"] }
tokio-stream = { version = "0.1", optional = true, features = ["sync"]}
quinn = { version = "0.10", optional = true }
futures-util = { version = "0.3.25", optional = true }
lru = "0.12"
self_cell = "1.0.3"

[dev-dependencies]
iroh-test = { path = "../iroh-test" }
rand_chacha = "0.3.1"
tokio = { version = "1", features = ["sync", "macros"] }
proptest = "1.2.0"
tempfile = "3.4"
test-strategy = "0.3.1"

[features]
default = ["net", "metrics"]
net = ["dep:iroh-net", "tokio/io-util", "dep:tokio-stream", "dep:tokio-util", "dep:quinn", "dep:futures-util"]
metrics = ["dep:iroh-metrics"]