1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! # Crypto.com Exchange Connector
//!
//! Complete implementation of Crypto.com Exchange API v1 connector.
//!
//! ## Structure
//!
//! - `endpoints` - URL'ы and endpoint enum
//! - `auth` - Request signing (HMAC-SHA256)
//! - `parser` - JSON response parsing
//! - `connector` - CryptoComConnector + trait implementations
//! - `websocket` - WebSocket client (stub)
//!
//! ## Usage
//!
//! ```ignore
//! use connectors_v5::exchanges::crypto_com::CryptoComConnector;
//! use connectors_v5::core::{Credentials, AccountType};
//!
//! let credentials = Credentials::new("api_key", "api_secret");
//! let connector = CryptoComConnector::new(Some(credentials), false).await?;
//!
//! // Core methods (from traits)
//! let price = connector.get_price(symbol, AccountType::Spot).await?;
//! let order = connector.market_order(symbol, side, qty, AccountType::Spot).await?;
//! ```
//!
//! ## Key Differences from Other Exchanges
//!
//! - **All numeric values are strings** in API responses (e.g., "50000.00")
//! - **Spot symbols use underscore**: `BTC_USDT`
//! - **Perpetual symbols**: `BTCUSD-PERP` (no underscore)
//! - **Signature algorithm**: `method + id + api_key + params_string + nonce`
//! - **WebSocket**: 1-second delay after connection is REQUIRED
pub use ;
pub use CryptoComAuth;
pub use CryptoComParser;
pub use CryptoComConnector;
pub use CryptoComWebSocket;
// Research docs are in research/ directory (not exported)