use didwebvh_rs::DIDWebVHError;
use thiserror::Error;
#[derive(Error, Debug)]
#[non_exhaustive]
pub enum DIDSCIDError {
#[error("did:webs error: {0}")]
WebsError(String),
#[error("unknown did:scid format: {0}")]
UnknownFormat(String),
#[error("unsupported did:scid version: {0}")]
UnsupportedVersion(String),
#[error("Unsupported format")]
UnsupportedFormat,
#[error("DID URL Error: {0}")]
DidUrlError(String),
#[error("Invalid src parameter: {0}")]
InvalidSrc(String),
#[error("WebVH error")]
WebVHError(#[from] DIDWebVHError),
#[error("Cheqd error: {0}")]
CheqdError(String),
#[error("Is a peer SCID DID, but no peer source information provided")]
MissingPeerSource,
#[error("Serialization/Deserializaton error occurred")]
SerdeError(#[from] serde_json::Error),
}