sandbox-quant 1.0.10

Exchange-truth trading core for Binance Spot and Futures
Documentation
use thiserror::Error;

#[derive(Debug, Error, Clone, PartialEq, Eq)]
pub enum ExchangeError {
    #[error("network timeout")]
    NetworkTimeout,
    #[error("rate limited: status={status} code={code:?} endpoint={endpoint} message={message}")]
    RateLimited {
        status: u16,
        code: Option<i64>,
        endpoint: String,
        message: String,
    },
    #[error("authentication failed: status={status} code={code:?} endpoint={endpoint} message={message}")]
    AuthenticationFailed {
        status: u16,
        code: Option<i64>,
        endpoint: String,
        message: String,
    },
    #[error("missing configuration: {0}")]
    MissingConfiguration(&'static str),
    #[error("invalid timestamp")]
    InvalidTimestamp,
    #[error("invalid response")]
    InvalidResponse,
    #[error("remote rejected request: code={code} message={message}")]
    RemoteReject { code: i64, message: String },
    #[error("transport failure")]
    TransportFailure,
    #[error("unsupported market operation")]
    UnsupportedMarketOperation,
}