1use hashbrown::HashMap;
4
5use cxmr_balances::Balance;
6use cxmr_currency::{Currency, CurrencyPair};
7
8use super::{Exchange, MarketFilter, MarketStatus, OrderType, RateLimit};
9
10#[derive(Serialize, Deserialize, Clone, Debug)]
12pub struct AccountInfo {
13 pub account: String,
15
16 pub can_trade: bool,
18
19 pub balances: HashMap<Currency, Balance>,
21
22 pub maker_fee_rate: u64,
24
25 pub taker_fee_rate: u64,
27
28 pub updated_at: u64,
30}
31
32#[derive(Debug, Serialize)]
34pub struct ExchangeInfo {
35 pub exchange: Exchange,
37
38 pub limits: Vec<RateLimit>,
40
41 pub markets: Vec<MarketInfo>,
43}
44
45#[derive(Debug, Serialize)]
47pub struct MarketInfo {
48 pub pair: CurrencyPair,
50
51 pub status: MarketStatus,
53
54 pub filters: Vec<MarketFilter>,
56
57 pub order_types: Vec<OrderType>,
59}