use thiserror::Error;
use ring::error::Unspecified;
#[derive(Debug, Error)]
pub enum Error {
#[error("Transport error: {0}")]
Transport(#[from] TransportError),
#[error("Crypto error")]
Crypto(#[from] Unspecified),
#[error("Signature verify failed.")]
Signature,
#[error("Failed: {0}")]
Failed(String),
}
#[derive(Debug, Error)]
pub enum TransportError {
#[error("Failed to connect.")]
Connect,
#[error("Failed to push.")]
Push,
#[error("Failed to fetch.")]
Fetch,
#[error("Server error.")]
Server,
}
pub(crate) type Result<T> = core::result::Result<T, Error>;