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}
26
27#[derive(Debug, Clone, Deserialize)]
29#[serde(rename_all = "camelCase")]
30#[non_exhaustive]
31pub struct SetPositionModeResult {
32 #[serde(default)]
34 pub pos_mode: String,
35}
36
37#[derive(Debug, Clone, Deserialize)]
39#[serde(rename_all = "camelCase")]
40#[non_exhaustive]
41pub struct LeverageInfo {
42 #[serde(default)]
44 pub inst_id: String,
45 pub mgn_mode: TradeMode,
47 pub pos_side: PositionSide,
49 #[serde(default)]
51 pub lever: NumberString,
52}
53
54#[derive(Debug, Clone, Deserialize)]
56#[serde(rename_all = "camelCase")]
57#[non_exhaustive]
58pub struct MaxOrderSize {
59 pub inst_id: String,
61 #[serde(default)]
63 pub max_buy: NumberString,
64 #[serde(default)]
66 pub max_sell: NumberString,
67}
68
69#[derive(Debug, Clone, Deserialize)]
71#[serde(rename_all = "camelCase")]
72#[non_exhaustive]
73pub struct MaxAvailableSize {
74 pub inst_id: String,
76 #[serde(default)]
78 pub avail_buy: NumberString,
79 #[serde(default)]
81 pub avail_sell: NumberString,
82}
83
84#[derive(Debug, Clone, Deserialize)]
86#[serde(rename_all = "camelCase")]
87#[non_exhaustive]
88pub struct FeeRate {
89 pub inst_type: InstType,
91 #[serde(default)]
93 pub inst_id: String,
94 #[serde(default)]
96 pub category: String,
97 #[serde(default)]
99 pub maker: NumberString,
100 #[serde(default)]
102 pub taker: NumberString,
103 #[serde(default)]
105 pub ts: NumberString,
106}
107
108#[derive(Debug, Clone, Deserialize)]
110#[serde(rename_all = "camelCase")]
111#[non_exhaustive]
112pub struct MaxWithdrawal {
113 pub ccy: String,
115 #[serde(default)]
117 pub max_wd: NumberString,
118 #[serde(default)]
120 pub max_wd_ex: NumberString,
121}
122
123#[derive(Debug, Clone, Deserialize)]
125#[serde(rename_all = "camelCase")]
126#[non_exhaustive]
127pub struct AdjustMarginResult {
128 #[serde(default)]
130 pub inst_id: String,
131 #[serde(default)]
133 pub pos_side: String,
134 #[serde(default)]
136 pub amt: NumberString,
137 #[serde(rename = "type", default)]
139 pub adjustment_type: String,
140}
141
142#[derive(Debug, Clone, Deserialize)]
144#[serde(rename_all = "camelCase")]
145#[non_exhaustive]
146pub struct AccountInstrument {
147 #[serde(default)]
149 pub inst_type: String,
150 #[serde(default)]
152 pub inst_id: String,
153 #[serde(default)]
155 pub uly: String,
156 #[serde(default)]
158 pub inst_family: String,
159 #[serde(default)]
161 pub base_ccy: String,
162 #[serde(default)]
164 pub quote_ccy: String,
165 #[serde(default)]
167 pub settle_ccy: String,
168}
169
170#[derive(Debug, Clone, Deserialize)]
172#[serde(rename_all = "camelCase")]
173#[non_exhaustive]
174pub struct SetGreeksResult {
175 #[serde(default)]
177 pub greeks_type: String,
178}
179
180#[derive(Debug, Clone, Deserialize)]
182#[serde(rename_all = "camelCase")]
183#[non_exhaustive]
184pub struct SetIsolatedModeResult {
185 #[serde(default)]
187 pub iso_mode: String,
188 #[serde(rename = "type", default)]
190 pub mode_type: String,
191}
192
193#[derive(Debug, Clone, Deserialize)]
195#[serde(rename_all = "camelCase")]
196#[non_exhaustive]
197pub struct SetRiskOffsetTypeResult {
198 #[serde(rename = "type", default)]
200 pub risk_offset_type: String,
201}
202
203#[derive(Debug, Clone, Deserialize)]
205#[serde(rename_all = "camelCase")]
206#[non_exhaustive]
207pub struct SetAutoLoanResult {
208 #[serde(default)]
210 pub auto_loan: String,
211}
212
213#[derive(Debug, Clone, Deserialize)]
215#[serde(rename_all = "camelCase")]
216#[non_exhaustive]
217pub struct SetAccountLevelResult {
218 #[serde(default)]
220 pub acct_lv: String,
221}
222
223#[derive(Debug, Clone, Deserialize)]
225#[serde(rename_all = "camelCase")]
226#[non_exhaustive]
227pub struct ActivateOptionResult {
228 #[serde(default)]
230 pub result: String,
231}