diff options
Diffstat (limited to 'lockchain-core/src/errors/crypto.rs')
-rw-r--r-- | lockchain-core/src/errors/crypto.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lockchain-core/src/errors/crypto.rs b/lockchain-core/src/errors/crypto.rs new file mode 100644 index 0000000..a0c12a2 --- /dev/null +++ b/lockchain-core/src/errors/crypto.rs @@ -0,0 +1,28 @@ +//! I sell crypto and crypto accessories (errors) + +use std::error::Error as StdError; +use std::fmt::{Display, Formatter, Result}; + +#[derive(Debug, Serialize, Deserialize)] +pub enum Error { + /// Provided crypto layer is lacking features or missing + InvalidCryptoLayer, + /// Failed to initialise cryptography module + FailedCrypto, + /// Invalid key or user identity + FailedKey, +} + +impl StdError for Error {} + +impl Display for Error { + fn fmt(&self, f: &mut Formatter) -> Result { + write!( + f, + "{}", + match self { + _ => "Unknown failure", + } + ) + } +} |