Skip to main content

Crate digdigdig3

Crate digdigdig3 

Source
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 трейты

ТрейтОписание
MarketDataprice, orderbook, klines, ticker, ping
Tradingmarket_order, limit_order, cancel, get_order, open_orders
Accountbalance, account_info
Positionspositions, funding_rate, set_leverage
ExchangeAuthsign_request (каждая биржа реализует свою логику)

§Утилиты

  • utils::crypto - hmac_sha256, hmac_sha512
  • utils::encoding - encode_base64, encode_hex
  • utils::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