use crate::dto::market_dto::TickerOkxResDto;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug)]
pub struct CandleArg {
pub channel: String,
#[serde(rename = "instId")]
pub inst_id: String,
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct CandleOkxWsResDto {
#[serde(rename = "arg")]
pub arg: CandleArg,
#[serde(rename = "data")]
pub data: Vec<Vec<String>>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct TickerArgData {
#[serde(rename = "instId")]
pub inst_id: String,
pub channel: String,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct TickerOkxResWsDto {
#[serde(rename = "arg")]
pub arg: TickerArgData,
#[serde(rename = "data")]
pub data: Vec<TickerOkxResDto>,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct CommonOkxWsResDto {
pub code: String,
#[serde(rename = "connId")]
pub conn_id: String,
pub event: String,
pub msg: String,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct WsArg {
pub channel: String,
#[serde(rename = "instId")]
pub inst_id: String,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct OkxWsResDto<T> {
pub arg: WsArg,
pub data: Vec<T>,
}