Skip to main content

claw_crypto/
error.rs

1use thiserror::Error;
2
3/// Errors returned by Claw VCS cryptographic helpers.
4#[derive(Debug, Error)]
5pub enum CryptoError {
6    /// Key generation failed.
7    #[error("keypair generation failed: {0}")]
8    KeyGeneration(String),
9    /// Signing failed.
10    #[error("signing failed: {0}")]
11    SigningFailed(String),
12    /// Signature verification failed or could not be evaluated.
13    #[error("verification failed: {0}")]
14    VerificationFailed(String),
15    /// Private-field encryption failed.
16    #[error("encryption failed: {0}")]
17    EncryptionFailed(String),
18    /// Private-field decryption failed.
19    #[error("decryption failed: {0}")]
20    DecryptionFailed(String),
21    /// Key material was malformed or unsupported.
22    #[error("invalid key: {0}")]
23    InvalidKey(String),
24    /// File I/O failed while loading or storing key material.
25    #[error("io error: {0}")]
26    Io(#[from] std::io::Error),
27    /// Core object or serialization logic failed.
28    #[error("core error: {0}")]
29    Core(#[from] claw_core::CoreError),
30}