subcryptor/
error.rs

1//! Subcryptor error collections.
2
3// crates.io
4use thiserror::Error as ThisError;
5
6/// Main error.
7#[allow(missing_docs)]
8#[derive(Debug, ThisError)]
9pub enum Error {
10	#[error("[subcryptor] {0:?}")]
11	ArrayBytes(array_bytes::Error),
12	#[error(transparent)]
13	Base64Decode(#[from] base64::DecodeError),
14	#[error(transparent)]
15	CryptoSecretBox(#[from] CryptoSecretBox),
16	#[error("[subcryptor] from base58 error, {0:?}")]
17	FromBase58(base58::FromBase58Error),
18	#[error("[subcryptor] invalid prefix, {0:?}")]
19	InvalidPrefix(u8),
20	#[error("[subcryptor] invalid ss58 address, {0:?}")]
21	InvalidSs58Address(String),
22	#[error(transparent)]
23	Scrypt(#[from] scrypt::errors::InvalidOutputLen),
24	#[error("[subcryptor] unsupported encryption type")]
25	UnsupportedEncryptionType,
26	#[error("[subcryptor] unsupported network, {0:?}")]
27	UnsupportedNetwork(String),
28}
29
30/// Crypto secretbox error.
31#[allow(missing_docs)]
32#[derive(Debug, ThisError)]
33pub enum CryptoSecretBox {
34	#[error("[subcryptor] crypto secretbox general error, {0:?}")]
35	General(crypto_secretbox::Error),
36	#[error("[subcryptor] crypto secretbox cipher error, {0:?}")]
37	Cipher(crypto_secretbox::cipher::InvalidLength),
38}