rust_okx/api/trade/
responses.rs1use serde::Deserialize;
2
3use crate::{
4 NumberString,
5 model::{OrderSide, OrderState, OrderType, PositionSide, RestRow, TradeMode},
6};
7
8pub type AlgoOrderResult = RestRow;
10
11pub type AlgoOrder = RestRow;
13
14pub type EasyConvertCurrency = RestRow;
16
17pub type EasyConvertResult = RestRow;
19
20pub type EasyConvertHistory = RestRow;
22
23pub type OneClickRepayCurrency = RestRow;
25
26pub type OneClickRepayResult = RestRow;
28
29pub type OneClickRepayHistory = RestRow;
31
32#[derive(Debug, Clone, Deserialize)]
34#[serde(rename_all = "camelCase")]
35#[non_exhaustive]
36pub struct PlaceOrderResult {
37 #[serde(default)]
39 pub ord_id: String,
40 #[serde(default)]
42 pub cl_ord_id: String,
43 #[serde(default)]
45 pub tag: String,
46 pub s_code: String,
48 #[serde(default)]
50 pub s_msg: String,
51 #[serde(default)]
53 pub ts: NumberString,
54}
55
56#[derive(Debug, Clone, Deserialize)]
58#[serde(rename_all = "camelCase")]
59#[non_exhaustive]
60pub struct CancelOrderResult {
61 #[serde(default)]
63 pub ord_id: String,
64 #[serde(default)]
66 pub cl_ord_id: String,
67 pub s_code: String,
69 #[serde(default)]
71 pub s_msg: String,
72}
73
74#[derive(Debug, Clone, Deserialize)]
76#[serde(rename_all = "camelCase")]
77#[non_exhaustive]
78pub struct AmendOrderResult {
79 #[serde(default)]
81 pub ord_id: String,
82 #[serde(default)]
84 pub cl_ord_id: String,
85 #[serde(default)]
87 pub req_id: String,
88 pub s_code: String,
90 #[serde(default)]
92 pub s_msg: String,
93}
94
95#[derive(Debug, Clone, Deserialize)]
97#[serde(rename_all = "camelCase")]
98#[non_exhaustive]
99pub struct ClosePositionResult {
100 #[serde(default)]
102 pub inst_id: String,
103 #[serde(default)]
105 pub pos_side: String,
106 #[serde(default)]
108 pub cl_ord_id: String,
109 #[serde(default)]
111 pub tag: String,
112}
113
114#[derive(Debug, Clone, Deserialize)]
116#[serde(rename_all = "camelCase")]
117#[non_exhaustive]
118pub struct Order {
119 pub inst_id: String,
121 pub ord_id: String,
123 #[serde(default)]
125 pub cl_ord_id: String,
126 #[serde(default)]
128 pub px: NumberString,
129 #[serde(default)]
131 pub sz: NumberString,
132 pub ord_type: OrderType,
134 pub side: OrderSide,
136 pub pos_side: PositionSide,
138 pub td_mode: TradeMode,
140 #[serde(default)]
142 pub acc_fill_sz: NumberString,
143 #[serde(default)]
145 pub avg_px: NumberString,
146 pub state: OrderState,
148 #[serde(default)]
150 pub c_time: NumberString,
151}
152
153#[derive(Debug, Clone, Deserialize)]
155#[serde(rename_all = "camelCase")]
156#[non_exhaustive]
157pub struct Fill {
158 #[serde(default)]
160 pub inst_type: String,
161 pub inst_id: String,
163 #[serde(default)]
165 pub trade_id: String,
166 #[serde(default)]
168 pub ord_id: String,
169 #[serde(default)]
171 pub fill_px: NumberString,
172 #[serde(default)]
174 pub fill_sz: NumberString,
175 pub side: OrderSide,
177 pub ord_type: OrderType,
179 #[serde(default)]
181 pub fee_ccy: String,
182 #[serde(default)]
184 pub fee: NumberString,
185 #[serde(default)]
187 pub ts: NumberString,
188}