use serde::{Deserialize, Serialize};
use strum::{AsRefStr, Display, EnumIter, EnumString};
#[derive(
Clone,
Debug,
Display,
PartialEq,
Eq,
Hash,
AsRefStr,
EnumIter,
EnumString,
Serialize,
Deserialize,
)]
#[serde(rename_all = "lowercase")]
#[strum(serialize_all = "lowercase")]
pub enum BybitWsOperation {
Subscribe,
Unsubscribe,
Auth,
Ping,
Pong,
}
#[derive(
Clone,
Debug,
Display,
PartialEq,
Eq,
Hash,
AsRefStr,
EnumIter,
EnumString,
Serialize,
Deserialize,
)]
#[serde(rename_all = "lowercase")]
#[strum(serialize_all = "lowercase")]
pub enum BybitWsPrivateChannel {
Order,
Execution,
Position,
Wallet,
}
#[derive(
Clone,
Debug,
Display,
PartialEq,
Eq,
Hash,
AsRefStr,
EnumIter,
EnumString,
Serialize,
Deserialize,
)]
#[serde(rename_all = "lowercase")]
#[strum(serialize_all = "lowercase")]
pub enum BybitWsPublicChannel {
#[serde(rename = "orderbook")]
#[strum(serialize = "orderbook")]
OrderBook,
#[serde(rename = "publicTrade")]
#[strum(serialize = "publicTrade")]
PublicTrade,
Trade,
Kline,
Tickers,
}