~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/atproto

atproto's primitives in Rust, small and free of I/O

0
0
main
35 lines · 1.1 KB Raw History
//! atproto's primitives, written small rather than taken from a framework,
//! for the servers and clients built on them: DRISL (DAG-CBOR) and CIDs,
//! the keys a repo and a PLC operation are signed with, the Merkle search
//! tree a repo's records hang from, CAR files, PLC operations, the
//! service-auth tokens one server hands another, the JWKs and JWTs of
//! OAuth's DPoP proofs and client assertions, lexicon validation, and the
//! spaces alpha's set hash, commits and tokens.
//!
//! None of it does I/O: what reaches the network is the caller's. Each part
//! is checked against atproto's interop test vectors, under `tests/interop`,
//! and against what its reference implementations make of fixed inputs,
//! under `tests/reference`.

pub mod base32;
pub mod car;
pub mod cid;
pub mod commit;
pub mod did;
pub mod drisl;
pub mod jose;
pub mod keys;
pub mod lexicon;
pub mod mst;
pub mod plc;
pub mod service_auth;
pub mod space;
pub mod space_auth;
pub mod syntax;
pub mod tid;
pub mod time;

pub use cid::Cid;
pub use commit::Commit;
pub use drisl::Value;
pub use keys::{Curve, Keypair, PublicKey};