1use serde::Deserialize;
2
3use crate::model::NumberString;
4
5#[derive(Debug, Clone, Default, Deserialize)]
7#[serde(rename_all = "camelCase")]
8#[non_exhaustive]
9pub struct Currency {
10 #[serde(default)]
12 pub ccy: String,
13 #[serde(default)]
15 pub name: String,
16 #[serde(default)]
18 pub chain: String,
19 #[serde(default, rename = "minWd")]
21 pub min_wd: NumberString,
22 #[serde(default, rename = "minDep")]
24 pub min_dep: NumberString,
25 #[serde(default, rename = "minFee")]
27 pub min_fee: NumberString,
28 #[serde(default, rename = "canDep")]
30 pub can_dep: bool,
31 #[serde(default, rename = "canWd")]
33 pub can_wd: bool,
34 #[serde(default, rename = "canInternal")]
36 pub can_internal: bool,
37}
38
39#[derive(Debug, Clone, Default, Deserialize)]
41#[serde(rename_all = "camelCase")]
42#[non_exhaustive]
43pub struct FundingBalance {
44 #[serde(default)]
46 pub ccy: String,
47 #[serde(default)]
49 pub bal: NumberString,
50 #[serde(default)]
52 pub frozen_bal: NumberString,
53 #[serde(default)]
55 pub avail_bal: NumberString,
56}
57
58#[derive(Debug, Clone, Default, Deserialize)]
60#[serde(rename_all = "camelCase")]
61#[non_exhaustive]
62pub struct NonTradableAsset {
63 #[serde(default)]
65 pub ccy: String,
66 #[serde(default)]
68 pub amt: NumberString,
69 #[serde(default, rename = "type")]
71 pub asset_type: String,
72}
73
74#[derive(Debug, Clone, Default, Deserialize)]
76#[serde(rename_all = "camelCase")]
77#[non_exhaustive]
78pub struct DepositAddress {
79 #[serde(default)]
81 pub ccy: String,
82 #[serde(default)]
84 pub chain: String,
85 #[serde(default)]
87 pub addr: String,
88 #[serde(default)]
90 pub tag: String,
91 #[serde(default)]
93 pub selected: bool,
94}
95
96#[derive(Debug, Clone, Default, Deserialize)]
98#[serde(rename_all = "camelCase")]
99#[non_exhaustive]
100pub struct TransferResult {
101 #[serde(default, rename = "transId")]
103 pub trans_id: String,
104 #[serde(default)]
106 pub ccy: String,
107 #[serde(default)]
109 pub amt: NumberString,
110}
111
112#[derive(Debug, Clone, Default, Deserialize)]
114#[serde(rename_all = "camelCase")]
115#[non_exhaustive]
116pub struct TransferState {
117 #[serde(default, rename = "transId")]
119 pub trans_id: String,
120 #[serde(default)]
122 pub state: String,
123 #[serde(default)]
125 pub ccy: String,
126 #[serde(default)]
128 pub amt: NumberString,
129 #[serde(default, rename = "from")]
131 pub from_account: String,
132 #[serde(default)]
134 pub to: String,
135}
136
137#[derive(Debug, Clone, Default, Deserialize)]
139#[serde(rename_all = "camelCase")]
140#[non_exhaustive]
141pub struct WithdrawalResult {
142 #[serde(default, rename = "wdId")]
144 pub wd_id: String,
145 #[serde(default, rename = "clientId")]
147 pub client_id: String,
148 #[serde(default)]
150 pub ccy: String,
151 #[serde(default)]
153 pub amt: NumberString,
154}
155
156#[derive(Debug, Clone, Default, Deserialize)]
158#[serde(rename_all = "camelCase")]
159#[non_exhaustive]
160pub struct DepositRecord {
161 #[serde(default, rename = "depId")]
163 pub dep_id: String,
164 #[serde(default, rename = "txId")]
166 pub tx_id: String,
167 #[serde(default)]
169 pub ccy: String,
170 #[serde(default)]
172 pub chain: String,
173 #[serde(default)]
175 pub amt: NumberString,
176 #[serde(default)]
178 pub state: String,
179 #[serde(default)]
181 pub ts: NumberString,
182}
183
184#[derive(Debug, Clone, Default, Deserialize)]
186#[serde(rename_all = "camelCase")]
187#[non_exhaustive]
188pub struct WithdrawalRecord {
189 #[serde(default, rename = "wdId")]
191 pub wd_id: String,
192 #[serde(default, rename = "clientId")]
194 pub client_id: String,
195 #[serde(default, rename = "txId")]
197 pub tx_id: String,
198 #[serde(default)]
200 pub ccy: String,
201 #[serde(default)]
203 pub chain: String,
204 #[serde(default)]
206 pub amt: NumberString,
207 #[serde(default)]
209 pub fee: NumberString,
210 #[serde(default)]
212 pub state: String,
213 #[serde(default)]
215 pub ts: NumberString,
216}
217
218#[derive(Debug, Clone, Default, Deserialize)]
220#[serde(rename_all = "camelCase")]
221#[non_exhaustive]
222pub struct FundingBill {
223 #[serde(default, rename = "billId")]
225 pub bill_id: String,
226 #[serde(default)]
228 pub ccy: String,
229 #[serde(default)]
231 pub bal_chg: NumberString,
232 #[serde(default)]
234 pub bal: NumberString,
235 #[serde(default, rename = "type")]
237 pub bill_type: String,
238 #[serde(default)]
240 pub ts: NumberString,
241}
242
243#[derive(Debug, Clone, Default, Deserialize)]
245#[serde(rename_all = "camelCase")]
246#[non_exhaustive]
247pub struct DepositLightning {
248 #[serde(default)]
250 pub ccy: String,
251 #[serde(default)]
253 pub amt: NumberString,
254 #[serde(default)]
256 pub invoice: String,
257 #[serde(default)]
259 pub to: String,
260}
261
262#[derive(Debug, Clone, Default, Deserialize)]
264#[serde(rename_all = "camelCase")]
265#[non_exhaustive]
266pub struct WithdrawalLightning {
267 #[serde(default)]
269 pub ccy: String,
270 #[serde(default)]
272 pub amt: NumberString,
273 #[serde(default, rename = "wdId")]
275 pub wd_id: String,
276}
277
278#[derive(Debug, Clone, Default, Deserialize)]
280#[serde(rename_all = "camelCase")]
281#[non_exhaustive]
282pub struct AssetValuation {
283 #[serde(default)]
285 pub details: AssetValuationDetails,
286 #[serde(default, rename = "totalBal")]
288 pub total_bal: NumberString,
289}
290
291#[derive(Debug, Clone, Default, Deserialize)]
293#[serde(rename_all = "camelCase")]
294#[non_exhaustive]
295pub struct AssetValuationDetails {
296 #[serde(default)]
298 pub funding: NumberString,
299 #[serde(default)]
301 pub trading: NumberString,
302 #[serde(default)]
304 pub earn: NumberString,
305 #[serde(default)]
307 pub classic: NumberString,
308}
309
310#[derive(Debug, Clone, Default, Deserialize)]
312#[serde(rename_all = "camelCase")]
313#[non_exhaustive]
314pub struct DepositWithdrawStatus {
315 #[serde(default, rename = "wdId")]
317 pub wd_id: String,
318 #[serde(default, rename = "txId")]
320 pub tx_id: String,
321 #[serde(default)]
323 pub ccy: String,
324 #[serde(default)]
326 pub chain: String,
327 #[serde(default)]
329 pub to: String,
330 #[serde(default)]
332 pub state: String,
333}
334
335#[derive(Debug, Clone, Default, Deserialize)]
337#[serde(rename_all = "camelCase")]
338#[non_exhaustive]
339pub struct ConvertDustAssetsResult {
340 #[serde(default)]
342 pub ccy: String,
343 #[serde(default)]
345 pub amt: NumberString,
346}
347
348#[derive(Debug, Clone, Default, Deserialize)]
350#[serde(rename_all = "camelCase")]
351#[non_exhaustive]
352pub struct PurchaseRedemptResult {
353 #[serde(default)]
355 pub ccy: String,
356 #[serde(default)]
358 pub amt: NumberString,
359 #[serde(default)]
361 pub side: String,
362}