Skip to main content

rust_okx/api/finance/responses/
savings.rs

1use crate::model::NumberString;
2use serde::Deserialize;
3
4/// Savings balance row.
5#[derive(Debug, Clone, Deserialize)]
6#[serde(rename_all = "camelCase")]
7#[non_exhaustive]
8pub struct SavingBalance {
9    /// Value returned by OKX in the `ccy` field.
10    #[serde(default)]
11    pub ccy: String,
12    /// Value returned by OKX in the `amt` field.
13    #[serde(default)]
14    pub amt: NumberString,
15    /// Value returned by OKX in the `loanAmt` field.
16    #[serde(default)]
17    pub loan_amt: NumberString,
18    /// Value returned by OKX in the `pendingAmt` field.
19    #[serde(default)]
20    pub pending_amt: NumberString,
21    /// Value returned by OKX in the `earnings` field.
22    #[serde(default)]
23    pub earnings: NumberString,
24    /// Value returned by OKX in the `rate` field.
25    #[serde(default)]
26    pub rate: NumberString,
27}
28
29/// Savings purchase/redemption result.
30#[derive(Debug, Clone, Deserialize)]
31#[serde(rename_all = "camelCase")]
32#[non_exhaustive]
33pub struct SavingsPurchaseRedemptionResult {
34    /// Value returned by OKX in the `ccy` field.
35    #[serde(default)]
36    pub ccy: String,
37    /// Value returned by OKX in the `amt` field.
38    #[serde(default)]
39    pub amt: NumberString,
40    /// Value returned by OKX in the `side` field.
41    #[serde(default)]
42    pub side: String,
43    /// Value returned by OKX in the `rate` field.
44    #[serde(default)]
45    pub rate: NumberString,
46}
47
48/// Set-lending-rate result.
49#[derive(Debug, Clone, Deserialize)]
50#[serde(rename_all = "camelCase")]
51#[non_exhaustive]
52pub struct SetLendingRateResult {
53    /// Value returned by OKX in the `ccy` field.
54    #[serde(default)]
55    pub ccy: String,
56    /// Value returned by OKX in the `rate` field.
57    #[serde(default)]
58    pub rate: NumberString,
59}
60
61/// Lending history row.
62#[derive(Debug, Clone, Deserialize)]
63#[serde(rename_all = "camelCase")]
64#[non_exhaustive]
65pub struct LendingHistory {
66    /// Value returned by OKX in the `ccy` field.
67    #[serde(default)]
68    pub ccy: String,
69    /// Value returned by OKX in the `amt` field.
70    #[serde(default)]
71    pub amt: NumberString,
72    /// Value returned by OKX in the `earnings` field.
73    #[serde(default)]
74    pub earnings: NumberString,
75    /// Value returned by OKX in the `rate` field.
76    #[serde(default)]
77    pub rate: NumberString,
78    /// Value returned by OKX in the `ts` field.
79    #[serde(default)]
80    pub ts: NumberString,
81}
82
83/// Public borrow-history row.
84#[derive(Debug, Clone, Deserialize)]
85#[serde(rename_all = "camelCase")]
86#[non_exhaustive]
87pub struct PublicBorrowHistory {
88    /// Value returned by OKX in the `ccy` field.
89    #[serde(default)]
90    pub ccy: String,
91    /// Value returned by OKX in the `amt` field.
92    #[serde(default)]
93    pub amt: NumberString,
94    /// Value returned by OKX in the `rate` field.
95    #[serde(default)]
96    pub rate: NumberString,
97    /// Value returned by OKX in the `ts` field.
98    #[serde(default)]
99    pub ts: NumberString,
100}
101
102/// Public borrow-info row.
103#[derive(Debug, Clone, Deserialize)]
104#[serde(rename_all = "camelCase")]
105#[non_exhaustive]
106pub struct PublicBorrowInfo {
107    /// Value returned by OKX in the `ccy` field.
108    #[serde(default)]
109    pub ccy: String,
110    /// Value returned by OKX in the `avgAmt` field.
111    #[serde(default)]
112    pub avg_amt: NumberString,
113    /// Value returned by OKX in the `avgRate` field.
114    #[serde(default)]
115    pub avg_rate: NumberString,
116    /// Value returned by OKX in the `preRate` field.
117    #[serde(default)]
118    pub pre_rate: NumberString,
119}