1pub mod encryption;
2pub mod format;
3pub mod hybrid_kem;
4pub mod hybrid_sign;
5pub mod kdf;
6pub mod seed;
7
8use std::fmt;
9
10pub use bson;
11use encryption::error::EncryptionError;
12use format::error::FormatError;
13use hybrid_kem::error::HybridKEMError;
14use kdf::error::KDFError;
15pub use pem;
16pub use sha3;
17
18use crate::hybrid_sign::error::HybridSignError;
19
20#[derive(Debug)]
21pub enum CoreErrorKind {
22 Format(FormatError),
23 Encryption(EncryptionError),
24 KDF(KDFError),
25 HybridKEM(HybridKEMError),
26 HybridSign(HybridSignError),
27}
28
29impl fmt::Display for CoreErrorKind {
30 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
31 match self {
32 CoreErrorKind::Format(err) => write!(f, "Format Error: {}", err),
33 CoreErrorKind::Encryption(err) => write!(f, "Encryption Error: {}", err),
34 CoreErrorKind::KDF(err) => write!(f, "KDF Error: {}", err),
35 CoreErrorKind::HybridKEM(err) => write!(f, "Hybrid KEM Error: {}", err),
36 CoreErrorKind::HybridSign(err) => write!(f, "Hybrid Sign Error: {}", err),
37 }
38 }
39}