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
# dig-message — the DIG Network generic base message protocol.
#
# ONE structured, typed, streamable, e2e-sealed envelope that every DIRECTED (1:1 / group) peer-to-peer
# message rides. This crate is the envelope + framing + compression + type-registry + streaming + seal
# contract; downstream message TYPES (dig-chat, dig-email, dig-video-chat, peer-RPC) register into it.
#
# WU1 (this milestone) ships the CRYPTO-FREE foundation: the byte-deterministic Chia-Streamable
# envelope + InnerMessage, the length-framed size-bounded codec, the compression layer (raw + zstd
# with the decompression-bomb guard), and the KAT harness. The seal (DHKEM-over-G1) and the BLS
# sender-signature/verify are WU2; the streaming state machine is WU4 — their FIELDS are present here
# as placeholders so the wire shape is final.
[]
= "dig-message"
= "0.5.1"
= "2021"
= "1.75.0"
= "Apache-2.0 OR MIT"
= "The DIG Network generic base message protocol: the byte-deterministic Chia-Streamable envelope + InnerMessage, length-framed size-bounded framing, additive compression (raw + zstd, decompression-bomb guarded), and the extensible message-type registry that every directed (1:1 / group) e2e-sealed peer message rides."
= "https://github.com/DIG-Network/dig-message"
= "README.md"
= ["dig", "messaging", "protocol", "streamable", "e2e"]
= ["network-programming", "encoding", "cryptography"]
[]
# rlib for native consumers; cdylib so WU5 can compile the same crate to a wasm surface.
= ["cdylib", "rlib"]
[]
# Byte-deterministic Chia Streamable wire types (Bytes32 DID, Bytes48 G1 encapsulation, Bytes96 G2
# signature) + the Streamable derive + the to_bytes/from_bytes trait. The ONE encoding Rust, wasm,
# and JS agree on byte-for-byte — never hand-roll framing (SPEC §1).
= "0.26"
= "0.26"
= "0.26"
# The Streamable derive expands to `chia_sha2`-based `hash()` helpers (SPEC §5.1 transcript hashing).
= "0.26"
# zstd (compression id=1), pinned to level 3, single-frame, no dictionary — deterministic across
# targets (SPEC §1.1/§1.2). A WASM libzstd build supplies the wasm-target parity in WU5.
= "0.13"
# The crate error taxonomy (UNSUPPORTED_VERSION / UNSUPPORTED_COMPRESSION / bomb-guard / size-bound).
= "1"
# The ONE identity keypair primitives (WU2 seal): g1_dh / sign_message / verify_signature /
# g1_subgroup_check / public_key_bytes over the Chia BLS12-381 key — NEVER re-roll BLS/curve ops
# (SPEC §5.1). Crates.io dep (the #1160 resolution: dig-identity is published).
= "0.4"
# chia-bls SecretKey/PublicKey types + the ephemeral-key derivation for the DHKEM encapsulation
# (pinned to dig-identity's version so the key types agree byte-for-byte).
= "0.26"
# The DHKEM/HKDF/AEAD composition (SPEC §5.1) lives HERE, not in dig-identity: HKDF-SHA256 key
# schedule + ChaCha20Poly1305 AEAD + the SHA-256 transcript hash. Vetted RustCrypto crates.
= "0.12"
= "0.10"
= "0.10"
# Ephemeral-key entropy for the DHKEM encapsulation (SPEC §5.1 forward secrecy). wasm target needs
# the `js` feature (WU5 flags it).
= "0.2"
[]
# Deterministic KAT material derived from a hashed seed — never a hard-coded literal (CodeQL).
= "0.3"
= "0.6"