1use serde_json;
4use std::result;
5use thiserror::Error;
6
7#[derive(Debug, Error, Clone)]
9pub enum Error {
10 #[error("DIDComm error: {0}")]
12 DIDComm(String),
13
14 #[error("Serialization error: {0}")]
16 SerializationError(String),
17
18 #[error("Parse error: {0}")]
20 ParseError(String),
21
22 #[error("Validation error: {0}")]
24 Validation(String),
25
26 #[error("Invalid message type: {0}")]
28 InvalidMessageType(String),
29
30 #[error("CAIP error: {0}")]
32 CaipError(#[from] tap_caip::error::Error),
33}
34
35impl From<serde_json::Error> for Error {
37 fn from(err: serde_json::Error) -> Self {
38 Error::SerializationError(err.to_string())
39 }
40}
41
42pub type Result<T> = result::Result<T, Error>;