use thiserror::Error;
pub use yldfi_common::api::ApiError;
#[derive(Error, Debug)]
pub enum DomainError {
#[error("RPC error ({code}): {message}")]
Rpc { code: i64, message: String },
#[error("Invalid API key")]
InvalidApiKey,
}
pub type Error = ApiError<DomainError>;
pub type Result<T> = std::result::Result<T, Error>;
pub fn rpc(code: i64, message: impl Into<String>) -> Error {
ApiError::domain(DomainError::Rpc {
code,
message: message.into(),
})
}
pub fn invalid_api_key() -> Error {
ApiError::domain(DomainError::InvalidApiKey)
}