crypto_keystore_rs/
error.rs1use std::io;
2use thiserror::Error;
3
4#[remain::sorted]
5#[derive(Debug, Error)]
6pub enum KeystoreError {
7 #[error("Corrupted keystore data")]
8 CorruptedData,
9
10 #[error("Cryptographic error: {0}")]
11 CryptoError(String),
12
13 #[error("Hex decode error: {0}")]
14 HexError(String),
15
16 #[error("Incorrect password")]
17 IncorrectPassword,
18
19 #[error("Invalid KDF parameters: {0}")]
20 InvalidKdfParams(String),
21
22 #[error("Invalid key material for {chain}: {reason}")]
23 InvalidKey { chain: String, reason: String },
24
25 #[error("IO error: {0}")]
26 IoError(#[from] io::Error),
27
28 #[error("Keystore has not been decrypted yet")]
29 KeyNotDecrypted,
30
31 #[error("Serialization error: {0}")]
32 SerializationError(#[from] serde_json::Error),
33
34 #[error("Unsupported chain: {0}")]
35 UnsupportedChain(String),
36
37 #[error("Unsupported cipher: {0}")]
38 UnsupportedCipher(String),
39
40 #[error("Unsupported KDF type: {0}")]
41 UnsupportedKdf(String),
42
43 #[error("Keystore version {0} not supported")]
44 UnsupportedVersion(u32),
45}
46
47pub type Result<T> = std::result::Result<T, KeystoreError>;