rust_okx/api/account/responses/
config.rs1use serde::Deserialize;
2
3use crate::model::{InstType, NumberString, PositionSide, TradeMode};
4
5#[derive(Debug, Clone, Deserialize)]
7#[serde(rename_all = "camelCase")]
8#[non_exhaustive]
9pub struct AccountConfig {
10 #[serde(default)]
12 pub uid: String,
13 #[serde(default)]
15 pub acct_lv: String,
16 #[serde(default)]
18 pub pos_mode: String,
19 #[serde(default)]
21 pub greeks_type: String,
22 #[serde(default)]
24 pub auto_loan: bool,
25 #[serde(default)]
27 pub perm: String,
28 #[serde(default)]
30 pub level: String,
31 #[serde(default)]
33 pub level_tmp: String,
34 #[serde(default)]
36 pub ct_iso_mode: String,
37 #[serde(default)]
39 pub mgn_iso_mode: String,
40 #[serde(default)]
42 pub spot_offset_type: String,
43 #[serde(default)]
45 pub role_type: String,
46 #[serde(default)]
48 pub trader_insts: Vec<String>,
49 #[serde(default)]
51 pub spot_role_type: String,
52 #[serde(default)]
54 pub spot_trader_insts: Vec<String>,
55 #[serde(default)]
57 pub op_auth: String,
58 #[serde(default)]
60 pub ip: String,
61 #[serde(default)]
63 pub main_uid: String,
64 #[serde(default)]
66 pub kyc_lv: String,
67 #[serde(default)]
69 pub label: String,
70}
71
72#[derive(Debug, Clone, Deserialize)]
74#[serde(rename_all = "camelCase")]
75#[non_exhaustive]
76pub struct SetPositionModeResult {
77 #[serde(default)]
79 pub pos_mode: String,
80}
81
82#[derive(Debug, Clone, Deserialize)]
84#[serde(rename_all = "camelCase")]
85#[non_exhaustive]
86pub struct LeverageInfo {
87 #[serde(default)]
89 pub inst_id: String,
90 pub mgn_mode: TradeMode,
92 pub pos_side: PositionSide,
94 #[serde(default)]
96 pub lever: NumberString,
97}
98
99#[derive(Debug, Clone, Deserialize)]
101#[serde(rename_all = "camelCase")]
102#[non_exhaustive]
103pub struct AdjustLeverageInfo {
104 #[serde(default)]
106 pub est_avail_quote_trans: NumberString,
107 #[serde(default)]
109 pub est_avail_trans: NumberString,
110 #[serde(default)]
112 pub est_liq_px: NumberString,
113 #[serde(default)]
115 pub est_max_amt: NumberString,
116 #[serde(default)]
118 pub est_mgn: NumberString,
119 #[serde(default)]
121 pub est_quote_mgn: NumberString,
122 #[serde(default)]
124 pub est_quote_max_amt: NumberString,
125 #[serde(default)]
127 pub exist_ord: bool,
128 #[serde(default)]
130 pub max_lever: NumberString,
131 #[serde(default)]
133 pub min_lever: NumberString,
134}
135
136#[derive(Debug, Clone, Deserialize)]
138#[serde(rename_all = "camelCase")]
139#[non_exhaustive]
140pub struct MaxOrderSize {
141 pub inst_id: String,
143 #[serde(default)]
145 pub max_buy: NumberString,
146 #[serde(default)]
148 pub max_sell: NumberString,
149}
150
151#[derive(Debug, Clone, Deserialize)]
153#[serde(rename_all = "camelCase")]
154#[non_exhaustive]
155pub struct MaxAvailableSize {
156 pub inst_id: String,
158 #[serde(default)]
160 pub avail_buy: NumberString,
161 #[serde(default)]
163 pub avail_sell: NumberString,
164}
165
166#[derive(Debug, Clone, Deserialize)]
168#[serde(rename_all = "camelCase")]
169#[non_exhaustive]
170pub struct FeeRate {
171 #[serde(default)]
173 pub level: String,
174 #[serde(default)]
176 pub fee_group: Vec<FeeGroup>,
177 #[serde(default)]
179 pub delivery: NumberString,
180 #[serde(default)]
182 pub exercise: NumberString,
183 pub inst_type: InstType,
185 #[serde(default)]
187 pub ts: NumberString,
188 #[serde(default)]
190 pub taker: NumberString,
191 #[serde(default)]
193 pub maker: NumberString,
194 #[serde(rename = "takerUSDC", default)]
196 pub taker_usdc: NumberString,
197 #[serde(rename = "makerUSDC", default)]
199 pub maker_usdc: NumberString,
200 #[serde(default)]
202 pub rule_type: String,
203 #[serde(default)]
205 pub settle: NumberString,
206}
207
208#[derive(Debug, Clone, Deserialize)]
210#[serde(rename_all = "camelCase")]
211#[non_exhaustive]
212pub struct FeeGroup {
213 #[serde(default)]
215 pub taker: NumberString,
216 #[serde(default)]
218 pub maker: NumberString,
219 #[serde(default)]
221 pub group_id: String,
222 #[serde(default)]
224 pub elp_maker: NumberString,
225}
226
227#[derive(Debug, Clone, Deserialize)]
229#[serde(rename_all = "camelCase")]
230#[non_exhaustive]
231pub struct MaxWithdrawal {
232 pub ccy: String,
234 #[serde(default)]
236 pub max_wd: NumberString,
237 #[serde(default)]
239 pub max_wd_ex: NumberString,
240}
241
242#[derive(Debug, Clone, Deserialize)]
244#[serde(rename_all = "camelCase")]
245#[non_exhaustive]
246pub struct AdjustMarginResult {
247 #[serde(default)]
249 pub inst_id: String,
250 #[serde(default)]
252 pub pos_side: String,
253 #[serde(default)]
255 pub amt: NumberString,
256 #[serde(rename = "type", default)]
258 pub adjustment_type: String,
259}
260
261#[derive(Debug, Clone, Deserialize)]
263#[serde(rename_all = "camelCase")]
264#[non_exhaustive]
265pub struct AccountInstrument {
266 #[serde(default)]
268 pub inst_type: String,
269 #[serde(default)]
271 pub inst_id: String,
272 #[serde(default)]
274 pub uly: String,
275 #[serde(default)]
277 pub inst_family: String,
278 #[serde(default)]
280 pub base_ccy: String,
281 #[serde(default)]
283 pub quote_ccy: String,
284 #[serde(default)]
286 pub settle_ccy: String,
287}
288
289#[derive(Debug, Clone, Deserialize)]
291#[serde(rename_all = "camelCase")]
292#[non_exhaustive]
293pub struct SetCollateralAssetsResult {
294 #[serde(rename = "type", default)]
296 pub collateral_type: String,
297 #[serde(default)]
299 pub ccy_list: Vec<String>,
300 #[serde(default)]
302 pub collateral_enabled: bool,
303}
304
305#[derive(Debug, Clone, Deserialize)]
307#[serde(rename_all = "camelCase")]
308#[non_exhaustive]
309pub struct SetGreeksResult {
310 #[serde(default)]
312 pub greeks_type: String,
313}
314
315#[derive(Debug, Clone, Deserialize)]
317#[serde(rename_all = "camelCase")]
318#[non_exhaustive]
319pub struct SetIsolatedModeResult {
320 #[serde(default)]
322 pub iso_mode: String,
323 #[serde(rename = "type", default)]
325 pub mode_type: String,
326}
327
328#[derive(Debug, Clone, Deserialize)]
330#[serde(rename_all = "camelCase")]
331#[non_exhaustive]
332pub struct SetAutoLoanResult {
333 #[serde(default)]
335 pub auto_loan: bool,
336}
337
338#[derive(Debug, Clone, Deserialize)]
340#[serde(rename_all = "camelCase")]
341#[non_exhaustive]
342pub struct SetAccountLevelResult {
343 #[serde(default)]
345 pub acct_lv: String,
346}
347
348#[derive(Debug, Clone, Deserialize)]
350#[serde(rename_all = "camelCase")]
351#[non_exhaustive]
352pub struct ActivateOptionResult {
353 #[serde(default)]
355 pub ts: NumberString,
356}