bluefin_api 1.5.0

Bluefin API
Documentation
/*
 * Bluefin API
 *
 * Bluefin API
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// OrderCancelReason : The reason for an order cancellation.
/// The reason for an order cancellation.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum OrderCancelReason {
    #[serde(rename = "UNSPECIFIED")]
    Unspecified,
    #[serde(rename = "INSUFFICIENT_MARGIN")]
    InsufficientMargin,
    #[serde(rename = "DUPLICATE_ORDER")]
    DuplicateOrder,
    #[serde(rename = "POST_ONLY_WOULD_TRADE")]
    PostOnlyWouldTrade,
    #[serde(rename = "INVALID_SYMBOL")]
    InvalidSymbol,
    #[serde(rename = "SIGNED_AT_TOO_OLD")]
    SignedAtTooOld,
    #[serde(rename = "ORDER_EXPIRED")]
    OrderExpired,
    #[serde(rename = "INVALID_LEVERAGE")]
    InvalidLeverage,
    #[serde(rename = "INVALID_INPUT")]
    InvalidInput,
    #[serde(rename = "PRICE_OUT_OF_BOUND")]
    PriceOutOfBound,
    #[serde(rename = "QUANTITY_OUT_OF_BOUND")]
    QuantityOutOfBound,
    #[serde(rename = "PRICE_OUT_OF_TICK_SIZE")]
    PriceOutOfTickSize,
    #[serde(rename = "QUANTITY_OUT_OF_STEP_SIZE")]
    QuantityOutOfStepSize,
    #[serde(rename = "REDUCE_ONLY_WOULD_OPEN")]
    ReduceOnlyWouldOpen,
    #[serde(rename = "TOO_MANY_OPEN_ORDERS_ON_MARKET")]
    TooManyOpenOrdersOnMarket,
    #[serde(rename = "USER_CANCELLED")]
    UserCancelled,
    #[serde(rename = "USER_CANCELLED_ALL_ON_MARKET")]
    UserCancelledAllOnMarket,
    #[serde(rename = "SELF_TRADE_PREVENTION")]
    SelfTradePrevention,
    #[serde(rename = "LEVERAGE_UPDATE")]
    LeverageUpdate,
    #[serde(rename = "ACCOUNT_NOT_FOUND")]
    AccountNotFound,
    #[serde(rename = "MARKET_NOT_TRADING")]
    MarketNotTrading,
    #[serde(rename = "INSUFFICIENT_LIQUIDITY")]
    InsufficientLiquidity,
    #[serde(rename = "POSITION_NOT_FOUND")]
    PositionNotFound,
    #[serde(rename = "LIQUIDATION_OUT_OF_ORDER")]
    LiquidationOutOfOrder,
    #[serde(rename = "ACCOUNT_NOT_LIQUIDATABLE")]
    AccountNotLiquidatable,
    #[serde(rename = "ORDER_NOT_REDUCING_POSITION")]
    OrderNotReducingPosition,
    #[serde(rename = "USER_CANCELLED_ALL_STANDBY_ON_MARKET")]
    UserCancelledAllStandbyOnMarket,
    #[serde(rename = "POSITION_EXCEEDS_MAX_OPEN_INTEREST")]
    PositionExceedsMaxOpenInterest,
    #[serde(rename = "ACCOUNT_DEAUTHORIZED")]
    AccountDeauthorized,
    #[serde(rename = "TOO_MANY_MATCHES")]
    TooManyMatches,
    #[serde(rename = "MARGIN_CALL")]
    MarginCall,
    #[serde(rename = "INSUFFICIENT_BALANCE")]
    InsufficientBalance,
    #[serde(rename = "TRADE_QUANTITY_OUT_OF_BOUND")]
    TradeQuantityOutOfBound,
    #[serde(rename = "MARKET_TAKE_BOUND_BREACHED")]
    MarketTakeBoundBreached,
    #[serde(rename = "ORDERS_EXCEED_MAX_OPEN_INTEREST")]
    OrdersExceedMaxOpenInterest,

}

impl std::fmt::Display for OrderCancelReason {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Unspecified => write!(f, "UNSPECIFIED"),
            Self::InsufficientMargin => write!(f, "INSUFFICIENT_MARGIN"),
            Self::DuplicateOrder => write!(f, "DUPLICATE_ORDER"),
            Self::PostOnlyWouldTrade => write!(f, "POST_ONLY_WOULD_TRADE"),
            Self::InvalidSymbol => write!(f, "INVALID_SYMBOL"),
            Self::SignedAtTooOld => write!(f, "SIGNED_AT_TOO_OLD"),
            Self::OrderExpired => write!(f, "ORDER_EXPIRED"),
            Self::InvalidLeverage => write!(f, "INVALID_LEVERAGE"),
            Self::InvalidInput => write!(f, "INVALID_INPUT"),
            Self::PriceOutOfBound => write!(f, "PRICE_OUT_OF_BOUND"),
            Self::QuantityOutOfBound => write!(f, "QUANTITY_OUT_OF_BOUND"),
            Self::PriceOutOfTickSize => write!(f, "PRICE_OUT_OF_TICK_SIZE"),
            Self::QuantityOutOfStepSize => write!(f, "QUANTITY_OUT_OF_STEP_SIZE"),
            Self::ReduceOnlyWouldOpen => write!(f, "REDUCE_ONLY_WOULD_OPEN"),
            Self::TooManyOpenOrdersOnMarket => write!(f, "TOO_MANY_OPEN_ORDERS_ON_MARKET"),
            Self::UserCancelled => write!(f, "USER_CANCELLED"),
            Self::UserCancelledAllOnMarket => write!(f, "USER_CANCELLED_ALL_ON_MARKET"),
            Self::SelfTradePrevention => write!(f, "SELF_TRADE_PREVENTION"),
            Self::LeverageUpdate => write!(f, "LEVERAGE_UPDATE"),
            Self::AccountNotFound => write!(f, "ACCOUNT_NOT_FOUND"),
            Self::MarketNotTrading => write!(f, "MARKET_NOT_TRADING"),
            Self::InsufficientLiquidity => write!(f, "INSUFFICIENT_LIQUIDITY"),
            Self::PositionNotFound => write!(f, "POSITION_NOT_FOUND"),
            Self::LiquidationOutOfOrder => write!(f, "LIQUIDATION_OUT_OF_ORDER"),
            Self::AccountNotLiquidatable => write!(f, "ACCOUNT_NOT_LIQUIDATABLE"),
            Self::OrderNotReducingPosition => write!(f, "ORDER_NOT_REDUCING_POSITION"),
            Self::UserCancelledAllStandbyOnMarket => write!(f, "USER_CANCELLED_ALL_STANDBY_ON_MARKET"),
            Self::PositionExceedsMaxOpenInterest => write!(f, "POSITION_EXCEEDS_MAX_OPEN_INTEREST"),
            Self::AccountDeauthorized => write!(f, "ACCOUNT_DEAUTHORIZED"),
            Self::TooManyMatches => write!(f, "TOO_MANY_MATCHES"),
            Self::MarginCall => write!(f, "MARGIN_CALL"),
            Self::InsufficientBalance => write!(f, "INSUFFICIENT_BALANCE"),
            Self::TradeQuantityOutOfBound => write!(f, "TRADE_QUANTITY_OUT_OF_BOUND"),
            Self::MarketTakeBoundBreached => write!(f, "MARKET_TAKE_BOUND_BREACHED"),
            Self::OrdersExceedMaxOpenInterest => write!(f, "ORDERS_EXCEED_MAX_OPEN_INTEREST"),
        }
    }
}

impl Default for OrderCancelReason {
    fn default() -> OrderCancelReason {
        Self::Unspecified
    }
}