Skip to main content

polyester/models/
balances.rs

1//! Ledger / balance SDK models (Go `models` parity).
2
3#[derive(Debug, Clone, PartialEq, Eq)]
4pub struct AssetBalance {
5    pub asset_id: u32,
6    pub trading: String,
7    pub funding: String,
8    pub reserved: String,
9    pub available: String,
10    /// Orders the atomic trading/reserved/available state.
11    pub trading_revision: u64,
12    /// Orders funding state independently of trading.
13    pub funding_revision: u64,
14}
15
16#[derive(Debug, Clone, PartialEq, Eq)]
17pub struct BalancesList {
18    pub balances: Vec<AssetBalance>,
19}
20
21#[derive(Debug, Clone, PartialEq, Eq)]
22pub struct BalanceHistorySeries {
23    pub asset_id: u32,
24    /// Raw protobuf enum value; unknown/negative future values are preserved.
25    pub account_code: i32,
26    /// Unsigned scaled balance values from the ledger protocol.
27    pub balance_q: Vec<u64>,
28}
29
30#[derive(Debug, Clone, PartialEq, Eq)]
31pub struct BalanceHistory {
32    pub range: String,
33    pub bucket: String,
34    pub start_ts_sec: i64,
35    pub end_ts_sec: i64,
36    pub points: u32,
37    pub series: Vec<BalanceHistorySeries>,
38}
39
40#[derive(Debug, Clone, PartialEq, Eq)]
41pub struct EquityHistorySeries {
42    pub account_code: u32,
43    pub account_name: String,
44    pub asset_id: u32,
45    pub asset_symbol: String,
46    pub equity_q: Vec<i64>,
47}
48
49#[derive(Debug, Clone, PartialEq, Eq)]
50pub struct EquityHistory {
51    pub range: String,
52    pub bucket: String,
53    pub start_ts_sec: i64,
54    pub end_ts_sec: i64,
55    pub quote_asset: String,
56    pub points: u32,
57    pub series: Vec<EquityHistorySeries>,
58}
59
60#[derive(Debug, Clone, PartialEq, Eq)]
61pub struct Hold {
62    pub hold_id: String,
63    pub asset_id: u32,
64    pub amount_reserved: String,
65    pub expires_at_ns: String,
66}
67
68#[derive(Debug, Clone, PartialEq, Eq)]
69pub struct HoldsList {
70    pub holds: Vec<Hold>,
71}
72
73#[derive(Debug, Clone, PartialEq, Eq)]
74pub struct LedgerTransfer {
75    pub asset_id: u32,
76    pub amount: String,
77    pub transfer_type: i32,
78    pub account_code: i32,
79    pub timestamp: i64,
80    pub tx_id: String,
81    pub is_debit: bool,
82}
83
84#[derive(Debug, Clone, PartialEq, Eq)]
85pub struct TransfersList {
86    pub transfers: Vec<LedgerTransfer>,
87    pub next_cursor: Option<i64>,
88}