bluefin_api 1.8.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};

/// MarketStreamMessage : A market stream message containing an event type and a payload. The payload structure depends on the event type. 
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "event")]
pub enum MarketStreamMessage {
    #[serde(rename="CandlestickUpdate")]
    CandlestickUpdate {
        #[serde(rename = "payload")]
        payload: models::MarketStreamMessagePayload,
    },
    #[serde(rename="MarkPriceUpdate")]
    MarkPriceUpdate {
        #[serde(rename = "payload")]
        payload: models::MarketStreamMessagePayload,
    },
    #[serde(rename="MarketPriceUpdate")]
    MarketPriceUpdate {
        #[serde(rename = "payload")]
        payload: models::MarketStreamMessagePayload,
    },
    #[serde(rename="OraclePriceUpdate")]
    OraclePriceUpdate {
        #[serde(rename = "payload")]
        payload: models::MarketStreamMessagePayload,
    },
    #[serde(rename="OrderbookDiffDepthUpdate")]
    OrderbookDiffDepthUpdate {
        #[serde(rename = "payload")]
        payload: models::MarketStreamMessagePayload,
    },
    #[serde(rename="OrderbookPartialDepthUpdate")]
    OrderbookPartialDepthUpdate {
        #[serde(rename = "payload")]
        payload: models::MarketStreamMessagePayload,
    },
    #[serde(rename="RecentTradesUpdates")]
    RecentTradesUpdates {
        #[serde(rename = "payload")]
        payload: models::MarketStreamMessagePayload,
    },
    #[serde(rename="TickerAllUpdate")]
    TickerAllUpdate {
        #[serde(rename = "payload")]
        payload: models::MarketStreamMessagePayload,
    },
    #[serde(rename="TickerUpdate")]
    TickerUpdate {
        #[serde(rename = "payload")]
        payload: models::MarketStreamMessagePayload,
    },
}

impl Default for MarketStreamMessage {
    fn default() -> Self {
        Self::CandlestickUpdate {
            payload: Default::default(),
        }
        
    }
}