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}
29
30#[derive(Debug, Clone, Deserialize)]
32#[serde(rename_all = "camelCase")]
33#[non_exhaustive]
34pub struct SetPositionModeResult {
35 #[serde(default)]
37 pub pos_mode: String,
38}
39
40#[derive(Debug, Clone, Deserialize)]
42#[serde(rename_all = "camelCase")]
43#[non_exhaustive]
44pub struct LeverageInfo {
45 #[serde(default)]
47 pub inst_id: String,
48 pub mgn_mode: TradeMode,
50 pub pos_side: PositionSide,
52 #[serde(default)]
54 pub lever: NumberString,
55}
56
57#[derive(Debug, Clone, Deserialize)]
59#[serde(rename_all = "camelCase")]
60#[non_exhaustive]
61pub struct MaxOrderSize {
62 pub inst_id: String,
64 #[serde(default)]
66 pub max_buy: NumberString,
67 #[serde(default)]
69 pub max_sell: NumberString,
70}
71
72#[derive(Debug, Clone, Deserialize)]
74#[serde(rename_all = "camelCase")]
75#[non_exhaustive]
76pub struct MaxAvailableSize {
77 pub inst_id: String,
79 #[serde(default)]
81 pub avail_buy: NumberString,
82 #[serde(default)]
84 pub avail_sell: NumberString,
85}
86
87#[derive(Debug, Clone, Deserialize)]
89#[serde(rename_all = "camelCase")]
90#[non_exhaustive]
91pub struct FeeRate {
92 pub inst_type: InstType,
94 #[serde(default)]
96 pub inst_id: String,
97 #[serde(default)]
99 pub category: String,
100 #[serde(default)]
102 pub maker: NumberString,
103 #[serde(default)]
105 pub taker: NumberString,
106 #[serde(default)]
108 pub ts: NumberString,
109}
110
111#[derive(Debug, Clone, Deserialize)]
113#[serde(rename_all = "camelCase")]
114#[non_exhaustive]
115pub struct MaxWithdrawal {
116 pub ccy: String,
118 #[serde(default)]
120 pub max_wd: NumberString,
121 #[serde(default)]
123 pub max_wd_ex: NumberString,
124}
125
126#[derive(Debug, Clone, Deserialize)]
128#[serde(rename_all = "camelCase")]
129#[non_exhaustive]
130pub struct AdjustMarginResult {
131 #[serde(default)]
133 pub inst_id: String,
134 #[serde(default)]
136 pub pos_side: String,
137 #[serde(default)]
139 pub amt: NumberString,
140 #[serde(rename = "type", default)]
142 pub adjustment_type: String,
143}
144
145#[derive(Debug, Clone, Deserialize)]
147#[serde(rename_all = "camelCase")]
148#[non_exhaustive]
149pub struct AccountInstrument {
150 #[serde(default)]
152 pub inst_type: String,
153 #[serde(default)]
155 pub inst_id: String,
156 #[serde(default)]
158 pub uly: String,
159 #[serde(default)]
161 pub inst_family: String,
162 #[serde(default)]
164 pub base_ccy: String,
165 #[serde(default)]
167 pub quote_ccy: String,
168 #[serde(default)]
170 pub settle_ccy: String,
171}
172
173#[derive(Debug, Clone, Deserialize)]
175#[serde(rename_all = "camelCase")]
176#[non_exhaustive]
177pub struct SetGreeksResult {
178 #[serde(default)]
180 pub greeks_type: String,
181}
182
183#[derive(Debug, Clone, Deserialize)]
185#[serde(rename_all = "camelCase")]
186#[non_exhaustive]
187pub struct SetIsolatedModeResult {
188 #[serde(default)]
190 pub iso_mode: String,
191 #[serde(rename = "type", default)]
193 pub mode_type: String,
194}
195
196#[derive(Debug, Clone, Deserialize)]
198#[serde(rename_all = "camelCase")]
199#[non_exhaustive]
200pub struct SetAutoLoanResult {
201 #[serde(default)]
203 pub auto_loan: String,
204}
205
206#[derive(Debug, Clone, Deserialize)]
208#[serde(rename_all = "camelCase")]
209#[non_exhaustive]
210pub struct SetAccountLevelResult {
211 #[serde(default)]
213 pub acct_lv: String,
214}
215
216#[derive(Debug, Clone, Deserialize)]
218#[serde(rename_all = "camelCase")]
219#[non_exhaustive]
220pub struct ActivateOptionResult {
221 #[serde(default)]
223 pub result: String,
224}