cxmr-exchanges 0.0.1

Exchanges identifiers.
Documentation
//! Crypto-bank exchanges markets filters primitives.

/// Market order filters.
#[derive(Debug, Serialize)]
pub enum MarketFilter {
    Rate(RateFilter),
    Percent(PercentFilter),
    LotSize(LotSizeFilter),
    MarketLotSize(LotSizeFilter),
    Notional(NotionalFilter),
    IcebergParts(IcebergPartsFilter),
    MaxNumAlgoOrders(MaxNumAlgoOrdersFilter),
}

/// Market order rate filter.
#[derive(Debug, Serialize)]
pub struct RateFilter {
    pub min_points: u64,
    pub max_points: u64,
    pub tick_points_size: u64,
}

/// Market order rate percent filter.
#[derive(Debug, Serialize)]
pub struct PercentFilter {
    pub multiplier_up: f64,
    pub multiplier_down: f64,
    pub avg_price_mins: u64,
}

/// Market order rate amount filter.
#[derive(Debug, Serialize)]
pub struct LotSizeFilter {
    pub min_qty_points: u64,
    pub max_qty_points: u64,
    pub step_size_points: u64,
}

/// Market order notional rate filter.
#[derive(Debug, Serialize)]
pub struct NotionalFilter {
    pub min_notional_points: u64,
    pub apply_to_market: bool,
    pub avg_price_mins: u64,
}

/// Market iceberg parts filter.
#[derive(Debug, Serialize)]
pub struct IcebergPartsFilter {
    pub limit: u64,
}

/// Market maximum algo orders filter.
#[derive(Debug, Serialize)]
pub struct MaxNumAlgoOrdersFilter {
    pub max_num_algo_orders: u64,
}