binance_common/spot/model/response/
trade.rs1use serde::{Deserialize, Serialize};
2use serde_with::{DisplayFromStr, serde_as};
3
4#[derive(Clone, Debug, Deserialize, Serialize)]
5#[serde(rename_all = "camelCase")]
6pub struct AckResponse {
7 symbol: String,
8 order_id: u64,
9 order_list_id: i64,
10 client_order_id: String,
11 transact_time: u64,
12}
13
14#[derive(Clone, Debug)]
15pub enum NewOrderResponse {
16 Ack(AckResponse),
17 Result(ResultResponse),
18 Full(FullResponse),
19}
20
21#[serde_as]
22#[derive(Debug, Clone, Deserialize, Serialize)]
23#[serde(rename_all = "camelCase")]
24pub struct ResultResponse {
25 pub symbol: String,
26 pub order_id: u64,
27 pub order_list_id: i64,
28 pub client_order_id: String,
29 pub transact_time: u64,
30
31 #[serde_as(as = "DisplayFromStr")]
32 pub price: f64,
33
34 #[serde_as(as = "DisplayFromStr")]
35 pub orig_qty: f64,
36
37 #[serde_as(as = "DisplayFromStr")]
38 pub executed_qty: f64,
39
40 #[serde_as(as = "DisplayFromStr")]
41 pub orig_quote_order_qty: f64,
42
43 #[serde_as(as = "DisplayFromStr")]
44 pub cummulative_quote_qty: f64,
45
46 pub status: String,
47 pub time_in_force: String,
48 pub r#type: String,
49 pub side: String,
50 pub working_time: u64,
51 pub self_trade_prevention_mode: String,
52}
53
54#[serde_as]
55#[derive(Debug, Clone, Deserialize, Serialize)]
56#[serde(rename_all = "camelCase")]
57pub struct FullResponse {
58 pub symbol: String,
59 pub order_id: u64,
60 pub order_list_id: i64,
61 pub client_order_id: String,
62 pub transact_time: u64,
63
64 #[serde_as(as = "DisplayFromStr")]
65 pub price: f64,
66
67 #[serde_as(as = "DisplayFromStr")]
68 pub orig_qty: f64,
69
70 #[serde_as(as = "DisplayFromStr")]
71 pub executed_qty: f64,
72
73 #[serde_as(as = "DisplayFromStr")]
74 pub orig_quote_order_qty: f64,
75
76 #[serde_as(as = "DisplayFromStr")]
77 pub cummulative_quote_qty: f64,
78
79 pub status: String,
80 pub time_in_force: String,
81 pub r#type: String,
82 pub side: String,
83 pub working_time: u64,
84 pub self_trade_prevention_mode: String,
85 pub fills: Vec<Fill>,
86}
87
88#[serde_as]
89#[derive(Debug, Clone, Deserialize, Serialize)]
90#[serde(rename_all = "camelCase")]
91pub struct Fill {
92 #[serde_as(as = "DisplayFromStr")]
93 pub price: f64,
94
95 #[serde_as(as = "DisplayFromStr")]
96 pub qty: f64,
97
98 #[serde_as(as = "DisplayFromStr")]
99 pub commission: f64,
100
101 pub commission_asset: String,
102 pub trade_id: u64,
103}
104
105#[serde_as]
106#[derive(Debug, Clone, Deserialize, Serialize)]
107#[serde(rename_all = "camelCase")]
108pub struct OrderIdResponse {
109 pub symbol: String,
110 pub order_id: u64,
111 pub order_list_id: i64,
112 pub client_order_id: String,
113
114 #[serde_as(as = "DisplayFromStr")]
115 pub price: f64,
116
117 #[serde_as(as = "DisplayFromStr")]
118 pub orig_qty: f64,
119
120 #[serde_as(as = "DisplayFromStr")]
121 pub executed_qty: f64,
122
123 #[serde_as(as = "DisplayFromStr")]
124 pub cummulative_quote_qty: f64,
125
126 pub status: String,
127 pub time_in_force: String,
128
129 #[serde(rename = "type")]
130 pub order_type: String,
131
132 pub side: String,
133 pub time: u64,
134 pub update_time: u64,
135 pub is_working: bool,
136 pub working_time: u64,
137 }
174
175#[serde_as]
176#[derive(Clone, Debug, Deserialize, Serialize)]
177#[serde(rename_all = "camelCase")]
178pub struct CancelOrderResponse {
179 pub symbol: String,
180 pub orig_client_order_id: String,
181 pub order_id: u64,
182 pub order_list_id: i64,
183 pub client_order_id: String,
184 pub transact_time: u64,
185
186 #[serde_as(as = "DisplayFromStr")]
187 pub price: f64,
188
189 #[serde_as(as = "DisplayFromStr")]
190 pub orig_qty: f64,
191
192 #[serde_as(as = "DisplayFromStr")]
193 pub executed_qty: f64,
194
195 #[serde_as(as = "DisplayFromStr")]
196 pub cummulative_quote_qty: f64,
197
198 pub status: String,
199 pub time_in_force: String,
200 pub r#type: String,
201 pub side: String,
202 pub self_trade_prevention_mode: String,
203}
204
205#[serde_as]
206#[derive(Clone, Debug, Deserialize, Serialize)]
207#[serde(rename_all = "camelCase")]
208pub struct OrderResponse {
209 pub symbol: String,
210 pub order_id: u64,
211 pub order_list_id: i64,
212 pub client_order_id: String,
213
214 #[serde_as(as = "DisplayFromStr")]
215 pub price: f64,
216
217 #[serde_as(as = "DisplayFromStr")]
218 pub orig_qty: f64,
219
220 #[serde_as(as = "DisplayFromStr")]
221 pub executed_qty: f64,
222
223 #[serde_as(as = "DisplayFromStr")]
224 pub cummulative_quote_qty: f64,
225
226 pub status: String,
227 pub time_in_force: String,
228 pub r#type: String,
229 pub side: String,
230
231 #[serde_as(as = "DisplayFromStr")]
232 pub stop_price: f64,
233
234 #[serde_as(as = "DisplayFromStr")]
235 pub iceberg_qty: f64,
236
237 pub time: u64,
238 pub update_time: u64,
239 pub is_working: bool,
240
241 #[serde_as(as = "DisplayFromStr")]
242 pub orig_quote_order_qty: f64,
243
244 pub working_time: u64,
245 pub self_trade_prevention_mode: String,
246}