[package] name = "quicprochat-p2p" version = "0.1.0" edition.workspace = true description = "P2P transport layer for quicprochat using iroh." license = "Apache-2.0 OR MIT" repository.workspace = true [features] traffic-resistance = [] [lints] workspace = true [dependencies] iroh = "0.96" tokio = { version = "1", features = ["macros", "rt-multi-thread", "time", "sync", "net", "io-util"] } async-trait = "0.1" tracing = "0.1" anyhow = "1" # Mesh identity & store-and-forward quicprochat-core = { path = "../quicprochat-core", default-features = false } serde = { workspace = true } serde_json = { workspace = true } ciborium = { workspace = true } sha2 = { workspace = true } hex = { workspace = true } # Broadcast channels (ChaCha20-Poly1305 symmetric encryption) chacha20poly1305 = { workspace = true } rand = { workspace = true } zeroize = { workspace = true } # Lightweight mesh link handshake (X25519 ECDH + HKDF) x25519-dalek = { workspace = true } hkdf = { workspace = true } thiserror = { workspace = true } # Configuration toml = "0.8" humantime-serde = "1" [dev-dependencies] tempfile = "3" meshservice = { path = "../meshservice" } [[example]] name = "fapp_demo" path = "../../examples/fapp_demo.rs"