use serde::{Deserialize, Serialize};
pub const DEFAULT_URL: &str = "wss://stream.bybit.com/v5/public/spot";
pub const MAX_ARGS: usize = 10;
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
#[serde(rename_all = "snake_case", untagged)]
pub enum Response {
PublicMessage(PublicMessageResponse),
PublicTicker(PublicTickerResponse),
Ping,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
#[serde(rename_all = "snake_case")]
pub struct PublicMessageResponse {
pub success: bool,
pub ret_msg: String,
pub conn_id: String,
pub req_id: Option<String>,
pub op: String,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
#[serde(rename_all = "snake_case")]
pub struct PublicTickerResponse {
pub topic: String,
pub ts: i64,
#[serde(rename = "type")]
pub ticker_type: String,
pub cs: i64,
pub data: Ticker,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Ticker {
pub symbol: String,
pub last_price: String,
pub high_price24h: String,
pub low_price24h: String,
pub prev_price24h: String,
pub volume24h: String,
pub turnover24h: String,
pub price24h_pcnt: String,
pub usd_index_price: String,
}