-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathCargo.toml
More file actions
105 lines (101 loc) · 3.83 KB
/
Copy pathCargo.toml
File metadata and controls
105 lines (101 loc) · 3.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
[package]
name = "alphanumeric"
version = "7.9.4"
edition = "2021"
# The node is distributed as signed binaries, not as a crates.io package. This also
# keeps the license gate scoped to third-party code: our own crate carries no
# `license` field, and marking it unpublished says so explicitly rather than
# implying a license we have not chosen.
publish = false
[dependencies]
argon2 = "=0.5.3" # Legacy wallet envelopes depend on these exact KDF defaults.
arrayref = "0.3"
byteorder = "1.4"
blake3 = "1.4.0"
sha2 = "0.10"
rayon = "1.5.3"
chrono = "0.4"
dashmap = "6.1.0"
num_cpus = "1.16"
num-traits = "0.2"
num-bigint = "0.4.6"
nix = { version = "0.30.1", features = ["process", "signal"] }
ipnet = "2.3.1"
rand_core = "0.6.4"
rand = "0.8"
thiserror = "1.0"
socket2 = "0.5.8"
uuid = { version = "1.6.1", features = ["v4", "rng"] }
get_if_addrs = "0.5.3"
ring = "0.17.14"
indicatif = "0.18"
termcolor = "1.1"
log = "0.4"
hex = "0.4"
crossbeam-channel = "0.5.15"
parking_lot = "0.12.1"
lru = "0.8"
reed-solomon-erasure = "6.0.0"
ml-dsa = "=0.1.1" # EXACT pin: consensus signature crate — a silent patch bump could change signature bytes (fork). Bump deliberately only, verifying SIGNING_SPEC.md test vector still matches.
aes-gcm = "0.10"
zeroize = "1"
# WebRTC DataChannel transport for the NAT-traversal mesh (feature `webrtc_mesh`). Optional so the
# default binary stays lean (AV-false-positive surface) — release builds enable the feature.
webrtc = { version = "0.17", optional = true }
bytes = { version = "1", optional = true }
# rustls 0.23 with the `ring` provider — used by BOTH the DTLS mesh and (since 7.8.2)
# reqwest's HTTPS via `rustls-no-provider`. Non-optional: reqwest pulls it unconditionally
# and main() installs the ring provider process-wide. Pinning ring (not aws-lc-rs) drops
# the aws-lc-sys C build (cmake + NASM), so source builds need only Rust + a C compiler.
rustls = { version = "0.23", default-features = false, features = ["ring"] }
inquire = "0.7.0"
tokio = { version = "1.52", features = ["full"] }
futures = "0.3"
futures-util = "0.3"
serde = { version = "1.0", features = ["derive"] }
rmp-serde = "1.3.1"
libp2p-core = "0.43.2"
libp2p-identity = { version = "0.2.14", features = ["ed25519", "peerid", "rand"] }
libp2p-kad = "0.48.0"
libp2p-noise = "0.46.1"
libp2p-swarm = { version = "0.47.1", features = ["macros", "tokio"] }
libp2p-tcp = { version = "0.44.1", features = ["tokio"] }
libp2p-yamux = "0.47.0"
if-addrs = "0.10"
lazy_static = "1.4"
serde_json = "1.0"
async-trait = "0.1.74"
sled = "0.34.0"
env_logger = "0.10"
reqwest = { version = "0.13", default-features = false, features = ["json", "rustls-no-provider"] }
zip = "6"
ed25519-dalek = { version = "2", default-features = false, features = ["alloc"] }
axum = "0.6"
ctrlc = "3.4"
igd-next = "0.15"
sysinfo = "0.30"
rustyline = "18.0.1"
[build-dependencies]
bindgen = "0.64"
winres = "0.1.12"
[features]
# The mesh is part of the product: a plain `cargo build --release` (what every
# source-building Linux/Windows user runs) must produce a mesh-capable binary —
# without this, source builders silently lost direct P2P and never knew (bit real
# users on 2026-07-08). Runtime opt-out remains: ALPHANUMERIC_WEBRTC_MESH=false.
default = ["webrtc_mesh"]
# Enables DB snapshot publishing (zip+upload+sign) and the `push` command.
bootstrap_publisher = []
# Reserved feature flag used by some libp2p/TCP-specific code paths.
tcp = []
# WebRTC DataChannel mesh: NAT'd miners hole-punch direct P2P links, signaled by the gateway.
webrtc_mesh = ["dep:webrtc", "dep:bytes"]
# NOTE:
# Windows Defender ML detections are often triggered by small, stripped, unsigned binaries
# that do heavy filesystem + networking (like bootstrap publish). Keep symbols and avoid
# aggressive LTO/stripping in release builds until the binary is code-signed.
[profile.release]
debug = 1
strip = "none"
lto = false
panic = "unwind"