barter_data/exchange/bybit/futures/
mod.rs

1use super::{Bybit, ExchangeServer};
2use barter_instrument::exchange::ExchangeId;
3use std::fmt::Display;
4
5/// [`BybitPerpetualsUsd`] WebSocket server base url.
6///
7/// See docs: <https://bybit-exchange.github.io/docs/v5/ws/connect>
8pub const WEBSOCKET_BASE_URL_BYBIT_PERPETUALS_USD: &str = "wss://stream.bybit.com/v5/public/linear";
9
10/// [`Bybit`] perpetual execution.
11pub type BybitPerpetualsUsd = Bybit<BybitServerPerpetualsUsd>;
12
13/// [`Bybit`] perpetual [`ExchangeServer`].
14#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Default)]
15pub struct BybitServerPerpetualsUsd;
16
17impl ExchangeServer for BybitServerPerpetualsUsd {
18    const ID: ExchangeId = ExchangeId::BybitPerpetualsUsd;
19
20    fn websocket_url() -> &'static str {
21        WEBSOCKET_BASE_URL_BYBIT_PERPETUALS_USD
22    }
23}
24
25impl Display for BybitPerpetualsUsd {
26    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
27        write!(f, "BybitPerpetualsUsd")
28    }
29}