Skip to main content

ExchangeIdentity

Trait ExchangeIdentity 

Source
pub trait ExchangeIdentity: Send + Sync {
    // Required methods
    fn exchange_id(&self) -> ExchangeId;
    fn is_testnet(&self) -> bool;
    fn supported_account_types(&self) -> Vec<AccountType>;

    // Provided methods
    fn exchange_name(&self) -> &'static str { ... }
    fn exchange_type(&self) -> ExchangeType { ... }
    fn metrics(&self) -> ConnectorStats { ... }
    fn rate_limit_capabilities(&self) -> RateLimitCapabilities { ... }
    fn orderbook_capabilities(
        &self,
        account_type: AccountType,
    ) -> OrderbookCapabilities { ... }
}
Expand description

Базовая идентификация биржи

Этот трейт определяет минимальный набор методов для идентификации биржи. Все коннекторы ДОЛЖНЫ реализовывать этот трейт.

§Примечания

  • НЕ требует авторизации
  • Все методы синхронные (не async)
  • Должен быть Send + Sync для многопоточного использования

Required Methods§

Source

fn exchange_id(&self) -> ExchangeId

Уникальный идентификатор биржи

§Возвращает

ExchangeId enum значение (Binance, Bybit, OKX, Hyperliquid, etc.)

Source

fn is_testnet(&self) -> bool

Работаем ли с тестовой сетью

§Возвращает
  • true - тестнет/демо режим
  • false - продакшн
Source

fn supported_account_types(&self) -> Vec<AccountType>

Список поддерживаемых типов аккаунтов

§Примеры
  • Binance: [Spot, Margin, FuturesCross, FuturesIsolated]
  • Bybit: [Spot, FuturesCross, FuturesIsolated]
  • OKX: [Spot, Margin, FuturesCross, FuturesIsolated]
  • Hyperliquid: [Spot, FuturesCross]

Provided Methods§

Source

fn exchange_name(&self) -> &'static str

Человекочитаемое имя биржи

§Дефолтная реализация

Делегирует в exchange_id().as_str()

Source

fn exchange_type(&self) -> ExchangeType

Тип биржи (централизованная, децентрализованная, гибрид)

§Дефолтная реализация

Делегирует в exchange_id().exchange_type()

Source

fn metrics(&self) -> ConnectorStats

Runtime metrics snapshot for this connector.

Returns HTTP request/error counters, last latency, and rate-limiter utilization. The default implementation returns zeroed metrics. Override this in connectors that have an HttpClient to expose live data.

Source

fn rate_limit_capabilities(&self) -> RateLimitCapabilities

Static rate limit capabilities for this exchange.

Returns the compile-time descriptor used to build runtime limiters. Default is permissive() (unlimited) — override in each connector.

Source

fn orderbook_capabilities( &self, account_type: AccountType, ) -> OrderbookCapabilities

Static L2 orderbook capabilities for the given account type.

Describes REST depth limits, WebSocket channels, checksum support, etc. Default is permissive() (unlimited) — override in each connector.

Implementors§

Source§

impl ExchangeIdentity for FinnhubConnector

Source§

impl ExchangeIdentity for KrxConnector

Source§

impl ExchangeIdentity for YahooFinanceConnector

Source§

impl ExchangeIdentity for AlphaVantageConnector

Source§

impl ExchangeIdentity for JQuantsConnector

Source§

impl ExchangeIdentity for TiingoConnector

Source§

impl ExchangeIdentity for TwelvedataConnector

Source§

impl ExchangeIdentity for MoexConnector

Source§

impl ExchangeIdentity for CryptoCompareConnector

Source§

impl ExchangeIdentity for PolygonConnector

Source§

impl ExchangeIdentity for DukascopyConnector

Source§

impl ExchangeIdentity for OandaConnector

Source§

impl ExchangeIdentity for IBConnector

Source§

impl ExchangeIdentity for FutuConnector

Source§

impl ExchangeIdentity for AngelOneConnector

Source§

impl ExchangeIdentity for DhanConnector

Source§

impl ExchangeIdentity for FyersConnector

Source§

impl ExchangeIdentity for UpstoxConnector

Source§

impl ExchangeIdentity for ZerodhaConnector

Source§

impl ExchangeIdentity for TinkoffConnector

Source§

impl ExchangeIdentity for AlpacaConnector

Source§

impl ExchangeIdentity for BinanceConnector

Source§

impl ExchangeIdentity for BingxConnector

Source§

impl ExchangeIdentity for BitfinexConnector

Source§

impl ExchangeIdentity for BitgetConnector

Source§

impl ExchangeIdentity for BitstampConnector

Source§

impl ExchangeIdentity for BybitConnector

Source§

impl ExchangeIdentity for CoinbaseConnector

Source§

impl ExchangeIdentity for CryptoComConnector

Source§

impl ExchangeIdentity for DeribitConnector

Source§

impl ExchangeIdentity for GateioConnector

Source§

impl ExchangeIdentity for GeminiConnector

Source§

impl ExchangeIdentity for HtxConnector

Source§

impl ExchangeIdentity for HyperliquidConnector

Source§

impl ExchangeIdentity for KrakenConnector

Source§

impl ExchangeIdentity for KuCoinConnector

Source§

impl ExchangeIdentity for MexcConnector

Source§

impl ExchangeIdentity for OkxConnector

Source§

impl ExchangeIdentity for UpbitConnector

Source§

impl ExchangeIdentity for DydxConnector

Source§

impl ExchangeIdentity for LighterConnector

Source§

impl ExchangeIdentity for PolymarketConnector