Expand description
§V5 Exchange Connectors - Traits + Utils Architecture
§Архитектура
┌─────────────────────────────────────────────────────────────────────────────┐
│ v5/core │
├─────────────────────────────────────────────────────────────────────────────┤
│ traits/ - Core трейты (MarketData, Trading, Account, ExchangeAuth) │
│ utils/ - Утилиты (crypto, encoding, time) │
│ http/ - HTTP клиент │
│ websocket/ - WebSocket │
│ types/ - Общие типы │
└─────────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────────┐
│ v5/exchanges │
├─────────────────────────────────────────────────────────────────────────────┤
│ kucoin/ - KuCoinConnector (impl MarketData, Trading, ExchangeAuth) │
│ binance/ - BinanceConnector │
│ ... │
└─────────────────────────────────────────────────────────────────────────────┘§Core трейты
| Трейт | Описание |
|---|---|
MarketData | price, orderbook, klines, ticker, ping |
Trading | market_order, limit_order, cancel, get_order, open_orders |
Account | balance, account_info |
Positions | positions, funding_rate, set_leverage |
ExchangeAuth | sign_request (каждая биржа реализует свою логику) |
§Утилиты
utils::crypto- hmac_sha256, hmac_sha512utils::encoding- encode_base64, encode_hexutils::time- timestamp_millis, timestamp_iso8601
Re-exports§
pub use core::ExchangeIdentity;pub use core::MarketData;pub use core::Trading;pub use core::Positions;pub use core::Account;pub use core::CoreConnector;pub use core::WebSocketConnector;pub use core::WebSocketExt;pub use core::Authenticated;pub use core::CredentialKind;pub use core::Credentials;pub use core::AuthRequest;pub use core::SignatureLocation;pub use core::ExchangeAuth;pub use core::CancelAll;pub use core::AmendOrder;pub use core::BatchOrders;pub use core::AccountTransfers;pub use core::CustodialFunds;pub use core::SubAccounts;pub use core::ExchangeId;pub use core::ExchangeType;pub use core::AccountType;pub use core::Symbol;pub use core::ExchangeError;pub use core::ExchangeResult;pub use core::Price;pub use core::Quantity;pub use core::Asset;pub use core::Timestamp;pub use core::OrderSide;pub use core::OrderType;pub use core::OrderStatus;pub use core::Order;pub use core::Position;pub use core::Balance;pub use core::ExchangeCredentials;pub use core::SymbolInfo;pub use core::ConnectionStatus;pub use core::StreamType;pub use core::SubscriptionRequest;pub use core::StreamEvent;pub use core::OrderUpdateEvent;pub use core::BalanceUpdateEvent;pub use core::PositionUpdateEvent;pub use core::hmac_sha256;pub use core::hmac_sha512;pub use core::sha256;pub use core::sha512;pub use core::encode_base64;pub use core::encode_hex;pub use core::encode_hex_lower;pub use core::timestamp_millis;pub use core::timestamp_seconds;pub use core::timestamp_iso8601;pub use core::safe_price;pub use core::safe_qty;pub use core::format_price;pub use core::format_qty;pub use core::PrecisionCache;pub use core::PrecisionInfo;pub use core::HttpClient;
Modules§
- brokers
- Brokers Module
- connector_
manager - Connector Manager
- core
- V5 Core - минимальная архитектура коннекторов
- crypto
- Crypto Connectors
- data_
feeds - Data Feeds Module
- forex
- Forex Brokers & Data Providers Module
- onchain
- On-Chain Module
- prediction
- Prediction Markets
- stocks
- Stock Market Data Providers
- testing
- Testing — Generic test harness for all connectors
Macros§
- impl_
async_ method - Generate an async trait method delegation for AnyConnector
- impl_
sync_ method - Generate a synchronous trait method delegation for AnyConnector