/ core / Cargo.toml
Cargo.toml
 1  [package]
 2  name = "rust_lib_dead_drop"
 3  version = "0.1.0"
 4  edition = "2021"
 5  license = "MIT"
 6  description = "Core cryptographic and protocol library for Dead Drop secure messaging"
 7  authors = ["Dead Drop Contributors"]
 8  
 9  [lib]
10  name = "rust_lib_dead_drop"
11  crate-type = ["cdylib", "staticlib", "lib"]
12  
13  [dependencies]
14  # Cryptography
15  x25519-dalek = { version = "2.0", features = ["static_secrets"] }
16  ed25519-dalek = { version = "2.1", features = ["rand_core"] }
17  chacha20poly1305 = "0.10"
18  hkdf = "0.12"
19  sha2 = "0.10"
20  blake2 = "0.10"
21  rand = "0.8"
22  rand_core = { version = "0.6", features = ["getrandom"] }
23  
24  # Noise Protocol
25  snow = "0.9"
26  
27  # Serialization
28  serde = { version = "1.0", features = ["derive"] }
29  serde_json = "1.0"
30  bincode = "1.3"
31  
32  # Compression (for DHT payloads)
33  zstd = "0.13"
34  
35  # WebSocket for relay connections
36  tokio-tungstenite = { version = "0.21", features = ["native-tls"] }
37  futures-util = "0.3"
38  
39  # Mainline DHT (BitTorrent DHT with BEP44 mutable items)
40  # Replaces libp2p which doesn't support data storage on public nodes
41  mainline = "5"
42  
43  # iroh P2P transport (QUIC-based with NAT traversal via n0 relays)
44  iroh = "0.96"
45  serde_bencode = "0.2"
46  bytes = "1"
47  
48  # Storage (bundled-sqlcipher-vendored-openssl bundles both SQLCipher and OpenSSL for cross-compilation)
49  rusqlite = { version = "0.32", features = ["bundled-sqlcipher-vendored-openssl"] }
50  
51  # FFI / Flutter bridge
52  flutter_rust_bridge = "=2.11.1"
53  
54  # Async runtime (for transport module)
55  tokio = { version = "1.35", features = ["rt", "rt-multi-thread", "sync", "macros", "time"] }
56  async-trait = "0.1"
57  
58  # Utilities
59  thiserror = "1.0"
60  chrono = { version = "0.4", features = ["serde"] }
61  base64 = "0.22"
62  hex = "0.4"
63  zeroize = { version = "1.7", features = ["derive"] }
64  
65  [dev-dependencies]
66  tempfile = "3.10"
67  criterion = "0.5"
68  proptest = "1.4"
69  
70  [profile.release]
71  lto = true
72  opt-level = "z"
73  strip = true
74  
75  [profile.dev]
76  opt-level = 0
77  debug = true
78  
79  [[bench]]
80  name = "crypto_benchmarks"
81  harness = false