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
//! This crate supports the domain of "identities", which is required to create secure channels:
//!
//!  - the `identity` module describes an entity as a set of verified key changes and an identifier
//!    uniquely representing those changes
//!
//!  - the `identities` module provides services to create, update, and import identities
//!
//!  - the `credential` module describes sets of attributes describing a given identity and signed by
//!    another identity
//!
//!  - the `credentials` module provides services to create, import and verify credentials
//!
//!  - the `secure_channel` module describes the steps required to establish a secure channel
//!    between 2 identities
//!
//!  - the `secure_channels` module provides services to create a secure channel between 2 identities

#![deny(unsafe_code)]
#![warn(
// prevented by big_array
missing_docs,
trivial_casts,
trivial_numeric_casts,
unused_import_braces,
unused_qualifications
)]
#![cfg_attr(not(feature = "std"), no_std)]
#[cfg(feature = "alloc")]
#[macro_use]
extern crate alloc;
#[cfg(feature = "std")]
extern crate core;

///
/// Exports
///
pub use credentials::*;
pub use error::*;
pub use identities::*;
pub use identity::*;
pub use models::{Attributes, Credential, Identifier, TimestampInSeconds};
pub use purpose_key::*;
pub use purpose_keys::*;
pub use secure_channel::*;
pub use secure_channels::*;
pub use vault::*;

/// Utilities
pub mod utils;

/// Errors
mod error;

/// On-the-wire data types
pub mod models;

/// Service for the management of Identities
pub mod identities;

/// Data types representing a verified Identity
pub mod identity;

/// Service for the management of Purpose keys
pub mod purpose_keys;

/// Data types representing a verified Purpose Key
pub mod purpose_key;

/// Services for creating and validating credentials
pub mod credentials;

/// Data types supporting the creation of a secure channels
pub mod secure_channel;

/// Service supporting the creation of secure channel listener and connection to a listener
pub mod secure_channels;

/// Vault
pub mod vault;