rust_okx/api/account/responses/
borrowing.rs1use serde::Deserialize;
2
3use crate::model::NumberString;
4
5#[derive(Debug, Clone, Deserialize)]
7#[serde(rename_all = "camelCase")]
8#[non_exhaustive]
9pub struct MaxLoan {
10 #[serde(default)]
12 pub inst_id: String,
13 #[serde(default)]
15 pub mgn_mode: String,
16 #[serde(default)]
18 pub mgn_ccy: String,
19 #[serde(default)]
21 pub max_loan: NumberString,
22}
23
24#[derive(Debug, Clone, Deserialize)]
26#[serde(rename_all = "camelCase")]
27#[non_exhaustive]
28pub struct InterestAccrued {
29 #[serde(default)]
31 pub inst_id: String,
32 #[serde(default)]
34 pub ccy: String,
35 #[serde(default)]
37 pub mgn_mode: String,
38 #[serde(default)]
40 pub interest: NumberString,
41 #[serde(default)]
43 pub interest_rate: NumberString,
44 #[serde(default)]
46 pub liab: NumberString,
47 #[serde(default)]
49 pub ts: NumberString,
50}
51
52#[derive(Debug, Clone, Deserialize)]
54#[serde(rename_all = "camelCase")]
55#[non_exhaustive]
56pub struct InterestRate {
57 #[serde(default)]
59 pub ccy: String,
60 #[serde(default)]
62 pub interest_rate: NumberString,
63}
64
65#[derive(Debug, Clone, Deserialize)]
67#[serde(rename_all = "camelCase")]
68#[non_exhaustive]
69pub struct BorrowRepayResult {
70 #[serde(default)]
72 pub ccy: String,
73 #[serde(default)]
75 pub side: String,
76 #[serde(default)]
78 pub amt: NumberString,
79 #[serde(default)]
81 pub ord_id: String,
82}
83
84#[derive(Debug, Clone, Deserialize)]
86#[serde(rename_all = "camelCase")]
87#[non_exhaustive]
88pub struct BorrowRepayHistory {
89 #[serde(default)]
91 pub ccy: String,
92 #[serde(default)]
94 pub side: String,
95 #[serde(default)]
97 pub amt: NumberString,
98 #[serde(default)]
100 pub ord_id: String,
101 #[serde(default)]
103 pub state: String,
104 #[serde(default)]
106 pub ts: NumberString,
107}
108
109#[derive(Debug, Clone, Deserialize)]
112#[serde(rename_all = "camelCase")]
113#[non_exhaustive]
114pub struct InterestLimit {
115 #[serde(default)]
117 pub debt: NumberString,
118 #[serde(default)]
120 pub interest: NumberString,
121 #[serde(default)]
123 pub next_discount_time: NumberString,
124 #[serde(default)]
126 pub next_interest_time: NumberString,
127 #[serde(default)]
129 pub loan_alloc: String,
130 #[serde(default)]
132 pub records: Vec<LoanRecord>,
133}
134
135#[derive(Debug, Clone, Deserialize)]
137#[serde(rename_all = "camelCase")]
138#[non_exhaustive]
139pub struct LoanRecord {
140 #[serde(default)]
142 pub avail_loan: String,
143 #[serde(default)]
145 pub avg_rate: String,
146 #[serde(default)]
148 pub ccy: String,
149 #[serde(default)]
151 pub interest: NumberString,
152 #[serde(default)]
154 pub loan_quota: NumberString,
155 #[serde(default)]
157 pub pos_loan: String,
158 #[serde(default)]
160 pub rate: NumberString,
161 #[serde(default)]
163 pub surplus_lmt: NumberString,
164 #[serde(default)]
166 pub used_lmt: NumberString,
167 #[serde(default)]
169 pub used_loan: String,
170 #[serde(default)]
172 pub interest_free_liab: String,
173 #[serde(default)]
175 pub potential_borrowing_amt: String,
176}