Skip to main content

cyphr/
lib.rs

1//! # Cyphr
2//!
3//! Self-sovereign identity protocol implementation.
4//!
5//! Cyphr enables password-free authentication via public key cryptography,
6//! multi-device key management, and Authenticated Atomic Actions (AAA).
7//!
8//! Built on [Coz](https://github.com/Cyphrme/Coz) cryptographic messaging.
9//!
10//! ## Feature Levels
11//!
12//! - **Level 1**: Single static key
13//! - **Level 2**: Key replacement
14//! - **Level 3**: Multi-key management
15//! - **Level 4**: Arbitrary data (AAA)
16
17#![warn(missing_docs)]
18#![warn(rust_2018_idioms)]
19#![forbid(unsafe_code)]
20
21pub mod action;
22pub mod commit;
23/// Commit Root logic.
24pub mod commit_root;
25pub mod error;
26pub mod key;
27pub mod multihash;
28pub mod parsed_coz;
29pub mod principal;
30pub mod state;
31// ...
32/// Transaction structure definitions.
33pub mod transaction;
34/// Transaction root (TR, TMR, TCR) computations.
35pub mod transaction_root;
36
37// Re-exports
38pub use action::Action;
39pub use commit::{Commit, CommitScope, PendingCommit};
40pub use error::Error;
41pub use key::Key;
42pub use multihash::MultihashDigest;
43pub use parsed_coz::{CozKind, ParsedCoz, VerifiedCoz, verify_coz};
44pub use principal::Principal;
45pub use state::{
46    AuthRoot, CommitID, DataRoot, HashAlg, KeyRoot, PrincipalGenesis, PrincipalRoot, StateRoot,
47    compute_ar, compute_commit_id, compute_dr, compute_kr, compute_pr, compute_sr,
48};
49pub use transaction::{CommitTransaction, Transaction};
50pub use transaction_root::{TransactionCommitRoot, TransactionMutationRoot, TransactionRoot};