//! Traits for core types.
use crate;
/// Interface for a [decentralized identity](https://ethereum.org/en/decentralized-identity/) provider.
///
/// **NOTE:** For interoperability with existing wallet solutions,
/// the only requirement for decentralized identity providers is
/// the ability to compute cryptographic signatures for any arbitrary message in such a way that
/// the output signature can be verified in a non-interactive manner.