1#[derive(Debug, thiserror::Error)]
21pub enum MessagingError {
22 #[error("key exchange failed: {0}")]
23 KeyExchangeFailed(String),
24
25 #[error("encryption failed: {0}")]
26 EncryptionFailed(String),
27
28 #[error("decryption failed: ciphertext invalid or wrong key")]
29 DecryptionFailed,
30
31 #[error("signature verification failed")]
32 SignatureVerificationFailed,
33
34 #[error("death-trigger confirmation payload encoding failed: {0}")]
35 DeathConfirmationPayloadEncoding(String),
36
37 #[error("envelope signing payload encoding failed: {0}")]
38 EnvelopeSigningPayloadEncoding(String),
39
40 #[error("invalid envelope: {0}")]
41 InvalidEnvelope(String),
42
43 #[error("identity error: {0}")]
44 Identity(#[from] exo_identity::error::IdentityError),
45
46 #[error("death trigger already resolved")]
47 DeathTriggerAlreadyResolved,
48
49 #[error("invalid death verification: {0}")]
50 InvalidDeathVerification(String),
51
52 #[error("insufficient confirmations: need {need}, got {got}")]
53 InsufficientConfirmations { need: u8, got: u8 },
54
55 #[error("unauthorized death-trigger trustee: {0}")]
56 UnauthorizedTrustee(String),
57
58 #[error("duplicate confirmation from: {0}")]
59 DuplicateConfirmation(String),
60}