cbat 0.0.19

The unofficial Rust crate for the Coinbase Advanced Trade API
Documentation
use serde::Deserialize;

#[derive(Debug, Clone, Deserialize)]
pub struct MarginWindowMeasure {
    pub margin_window_type: String,
    pub margin_level: String,
    pub initial_margin: String,
    pub maintenance_margin: String,
    pub liquidation_buffer_percentage: String,
    pub total_hold: String,
    pub futures_buying_power: String,
}

#[derive(Debug, Clone, Deserialize)]
pub struct FcmBalanceSummary {
    pub futures_buying_power: String,
    pub total_usd_balance: String,
    pub cbi_usd_balance: String,
    pub cfm_usd_balance: String,
    pub total_open_orders_hold_amount: String,
    pub unrealized_pnl: String,
    pub daily_realized_pnl: String,
    pub initial_margin: String,
    pub available_margin: String,
    pub liquidation_threshold: String,
    pub liquidation_buffer_amount: String,
    pub liquidation_buffer_percentage: String,
    pub intraday_margin_window_measure: MarginWindowMeasure,
    pub overnight_margin_window_measure: MarginWindowMeasure,
}

#[derive(Debug, Clone, Deserialize)]
pub struct FuturesBalanceEvent {
    #[serde(rename = "type")]
    pub event_type: String,
    pub fcm_balance_summary: FcmBalanceSummary,
}

#[derive(Debug, Clone, Deserialize)]
pub struct FuturesBalanceMessage {
    pub channel: String,
    pub client_id: String,
    pub timestamp: String,
    pub sequence_num: i64,
    pub events: Vec<FuturesBalanceEvent>,
}