Skip to main content

thornode_pulse_wire/
lib.rs

1//! `thornode-pulse-wire` — the canonical Pulse wire-v2 contract and codec,
2//! and nothing else.
3//!
4//! Split out of `pulse-core` so the client SDKs can depend on the protocol
5//! without depending on the server's decode engine. `pulse-core` re-exports
6//! both modules, so every `pulse_core::frame::…` / `pulse_core::derive::…`
7//! path in the server keeps working unchanged.
8//!
9//! This crate has **no dependencies** and must keep it that way: it is
10//! published to customers, and its Go and Python counterparts
11//! (`clients/go/frame.go`, `clients/python/thornode_pulse/frame.py`) mirror
12//! `frame` byte-for-byte. A dependency here is a dependency in every SDK.
13
14pub mod derive;
15pub mod frame;
16pub mod protocol;