#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error(transparent)]
GSdk(#[from] gsdk::result::Error),
#[error(transparent)]
Gclient(#[from] gclient::Error),
#[error(transparent)]
Anyhow(#[from] anyhow::Error),
#[error(transparent)]
Hex(#[from] hex::FromHexError),
#[error(transparent)]
Io(#[from] std::io::Error),
#[error(transparent)]
Keyring(#[from] keyring::Error),
#[error(transparent)]
Logger(#[from] log::SetLoggerError),
#[error("No available account was found in keystore, please run `gear login` first.")]
Logout,
#[error(transparent)]
SubxtPublic(#[from] gsdk::ext::sp_core::crypto::PublicError),
#[error("Type {0} not found in registry")]
TypeNotFound(String),
#[error(transparent)]
Codec(#[from] scale_info::scale::Error),
#[error("{0:?}")]
Code(gear_core::code::CodeError),
#[error(transparent)]
Etc(#[from] etc::Error),
}
impl From<gear_core::code::CodeError> for Error {
fn from(err: gear_core::code::CodeError) -> Self {
Self::Code(err)
}
}
pub type Result<T, E = Error> = std::result::Result<T, E>;