ssi_dids_core/
lib.rs

1//! # Decentralized Identifiers (DIDs)
2//!
3//! As specified by [Decentralized Identifiers (DIDs) v1.0 - Core architecture,
4//! data model, and representations][did-core].
5//!
6//! [did-core]: https://www.w3.org/TR/did-core/
7use iref::Iri;
8use static_iref::iri;
9
10mod did;
11pub mod document;
12pub mod http;
13pub mod method_resolver;
14pub mod registration;
15pub mod resolution;
16
17#[cfg(feature = "example")]
18pub mod example;
19
20pub use did::*;
21pub use document::Document;
22pub use method_resolver::VerificationMethodDIDResolver;
23pub use resolution::{DIDMethodResolver, DIDResolver, StaticDIDResolver};
24
25pub use ssi_json_ld;
26
27/// URI [required](https://www.w3.org/TR/did-core/#production-0) as the first value of the `@context` property for a DID Document in JSON-LD representation.
28pub const JSON_LD_CONTEXT_IRI: &Iri = iri!("https://www.w3.org/ns/did/v1");
29
30/// DID Method type.
31pub trait DIDMethod {
32    /// Name of the method.
33    const DID_METHOD_NAME: &'static str;
34}
35
36impl<M: DIDMethod> DIDMethod for &M {
37    const DID_METHOD_NAME: &'static str = M::DID_METHOD_NAME;
38}