Skip to main content

binance_sdk/spot/websocket_streams/models/
execution_report.rs

1/*
2 * Spot WebSocket Market Streams
3 *
4 * Access market data, manage accounts, and trade on Binance Spot.
5 *
6 * The version of the OpenAPI document: 1.0.0
7 *
8 *
9 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
10 * https://openapi-generator.tech
11 * Do not edit the class manually.
12 */
13
14#![allow(unused_imports)]
15use crate::spot::websocket_streams::models;
16use serde::{Deserialize, Deserializer, Serialize, de::Error};
17use serde_json::Value;
18
19#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
20pub struct ExecutionReport {
21    /// Event time
22    #[serde(rename = "E", skip_serializing_if = "Option::is_none")]
23    pub e_uppercase: Option<i64>,
24    /// Symbol
25    #[serde(rename = "s", skip_serializing_if = "Option::is_none")]
26    pub s: Option<String>,
27    /// Client order ID
28    #[serde(rename = "c", skip_serializing_if = "Option::is_none")]
29    pub c: Option<String>,
30    /// Side
31    #[serde(rename = "S", skip_serializing_if = "Option::is_none")]
32    pub s_uppercase: Option<String>,
33    /// Order type
34    #[serde(rename = "o", skip_serializing_if = "Option::is_none")]
35    pub o: Option<String>,
36    /// Time in force
37    #[serde(rename = "f", skip_serializing_if = "Option::is_none")]
38    pub f: Option<String>,
39    /// Order quantity
40    #[serde(rename = "q", skip_serializing_if = "Option::is_none")]
41    pub q: Option<String>,
42    /// Order price
43    #[serde(rename = "p", skip_serializing_if = "Option::is_none")]
44    pub p: Option<String>,
45    /// Stop price
46    #[serde(rename = "P", skip_serializing_if = "Option::is_none")]
47    pub p_uppercase: Option<String>,
48    /// Iceberg quantity
49    #[serde(rename = "F", skip_serializing_if = "Option::is_none")]
50    pub f_uppercase: Option<String>,
51    /// `OrderListId`
52    #[serde(rename = "g", skip_serializing_if = "Option::is_none")]
53    pub g: Option<i64>,
54    /// Original client order ID; This is the ID of the order being canceled
55    #[serde(rename = "C", skip_serializing_if = "Option::is_none")]
56    pub c_uppercase: Option<String>,
57    /// Current execution type
58    #[serde(rename = "x", skip_serializing_if = "Option::is_none")]
59    pub x: Option<String>,
60    /// Current order status
61    #[serde(rename = "X", skip_serializing_if = "Option::is_none")]
62    pub x_uppercase: Option<String>,
63    /// Order reject reason; Please see Order Reject Reason for more information.
64    #[serde(rename = "r", skip_serializing_if = "Option::is_none")]
65    pub r: Option<String>,
66    /// Order ID
67    #[serde(rename = "i", skip_serializing_if = "Option::is_none")]
68    pub i: Option<i64>,
69    /// Last executed quantity
70    #[serde(rename = "l", skip_serializing_if = "Option::is_none")]
71    pub l: Option<String>,
72    /// Cumulative filled quantity
73    #[serde(rename = "z", skip_serializing_if = "Option::is_none")]
74    pub z: Option<String>,
75    /// Last executed price
76    #[serde(rename = "L", skip_serializing_if = "Option::is_none")]
77    pub l_uppercase: Option<String>,
78    /// Commission amount
79    #[serde(rename = "n", skip_serializing_if = "Option::is_none")]
80    pub n: Option<String>,
81    /// Commission asset
82    #[serde(rename = "N", skip_serializing_if = "Option::is_none")]
83    pub n_uppercase: Option<String>,
84    /// Transaction time
85    #[serde(rename = "T", skip_serializing_if = "Option::is_none")]
86    pub t_uppercase: Option<i64>,
87    /// Trade ID
88    #[serde(rename = "t", skip_serializing_if = "Option::is_none")]
89    pub t: Option<i64>,
90    /// Prevented Match Id; This is only visible if the order expired due to STP
91    #[serde(rename = "v", skip_serializing_if = "Option::is_none")]
92    pub v: Option<i64>,
93    /// Execution Id
94    #[serde(rename = "I", skip_serializing_if = "Option::is_none")]
95    pub i_uppercase: Option<i64>,
96    /// Is the order on the book?
97    #[serde(rename = "w", skip_serializing_if = "Option::is_none")]
98    pub w: Option<bool>,
99    /// Is this trade the maker side?
100    #[serde(rename = "m", skip_serializing_if = "Option::is_none")]
101    pub m: Option<bool>,
102    /// Ignore
103    #[serde(rename = "M", skip_serializing_if = "Option::is_none")]
104    pub m_uppercase: Option<bool>,
105    /// Order creation time
106    #[serde(rename = "O", skip_serializing_if = "Option::is_none")]
107    pub o_uppercase: Option<i64>,
108    /// Cumulative quote asset transacted quantity
109    #[serde(rename = "Z", skip_serializing_if = "Option::is_none")]
110    pub z_uppercase: Option<String>,
111    /// Last quote asset transacted quantity (i.e. lastPrice * lastQty)
112    #[serde(rename = "Y", skip_serializing_if = "Option::is_none")]
113    pub y_uppercase: Option<String>,
114    /// Quote Order Quantity
115    #[serde(rename = "Q", skip_serializing_if = "Option::is_none")]
116    pub q_uppercase: Option<String>,
117    /// Working Time; This is only visible if the order has been placed on the book.
118    #[serde(rename = "W", skip_serializing_if = "Option::is_none")]
119    pub w_uppercase: Option<i64>,
120    /// `SelfTradePreventionMode`
121    #[serde(rename = "V", skip_serializing_if = "Option::is_none")]
122    pub v_uppercase: Option<String>,
123    /// Trailing Delta
124    #[serde(rename = "d", skip_serializing_if = "Option::is_none")]
125    pub d: Option<i64>,
126    /// Trailing Time
127    #[serde(rename = "D", skip_serializing_if = "Option::is_none")]
128    pub d_uppercase: Option<i64>,
129    /// Strategy Id
130    #[serde(rename = "j", skip_serializing_if = "Option::is_none")]
131    pub j: Option<i64>,
132    /// Strategy Type
133    #[serde(rename = "J", skip_serializing_if = "Option::is_none")]
134    pub j_uppercase: Option<i64>,
135    /// Prevented Quantity
136    #[serde(rename = "A", skip_serializing_if = "Option::is_none")]
137    pub a_uppercase: Option<String>,
138    /// Last Prevented Quantity
139    #[serde(rename = "B", skip_serializing_if = "Option::is_none")]
140    pub b_uppercase: Option<String>,
141    /// Trade Group Id
142    #[serde(rename = "u", skip_serializing_if = "Option::is_none")]
143    pub u: Option<i64>,
144    /// Counter Order Id
145    #[serde(rename = "U", skip_serializing_if = "Option::is_none")]
146    pub u_uppercase: Option<i64>,
147    /// Counter Symbol
148    #[serde(rename = "Cs", skip_serializing_if = "Option::is_none")]
149    pub cs: Option<String>,
150    /// Prevented Execution Quantity
151    #[serde(rename = "pl", skip_serializing_if = "Option::is_none")]
152    pub pl: Option<String>,
153    /// Prevented Execution Price
154    #[serde(rename = "pL", skip_serializing_if = "Option::is_none")]
155    pub p_l: Option<String>,
156    /// Prevented Execution Quote Qty
157    #[serde(rename = "pY", skip_serializing_if = "Option::is_none")]
158    pub p_y: Option<String>,
159    /// Match Type
160    #[serde(rename = "b", skip_serializing_if = "Option::is_none")]
161    pub b: Option<String>,
162    /// Allocation ID
163    #[serde(rename = "a", skip_serializing_if = "Option::is_none")]
164    pub a: Option<i64>,
165    /// Working Floor
166    #[serde(rename = "k", skip_serializing_if = "Option::is_none")]
167    pub k: Option<String>,
168    /// `UsedSor`
169    #[serde(rename = "uS", skip_serializing_if = "Option::is_none")]
170    pub u_s: Option<bool>,
171    /// Pegged Price Type
172    #[serde(rename = "gP", skip_serializing_if = "Option::is_none")]
173    pub g_p: Option<String>,
174    /// Pegged Offset Type
175    #[serde(rename = "gOT", skip_serializing_if = "Option::is_none")]
176    pub g_ot: Option<String>,
177    /// Pegged Offset Value
178    #[serde(rename = "gOV", skip_serializing_if = "Option::is_none")]
179    pub g_ov: Option<i64>,
180    /// Pegged Price
181    #[serde(rename = "gp", skip_serializing_if = "Option::is_none")]
182    pub gp: Option<String>,
183    /// Expiry Reason. Appears when the order has expired.
184    #[serde(rename = "eR", skip_serializing_if = "Option::is_none")]
185    pub e_r: Option<String>,
186}
187
188impl ExecutionReport {
189    #[must_use]
190    pub fn new() -> ExecutionReport {
191        ExecutionReport {
192            e_uppercase: None,
193            s: None,
194            c: None,
195            s_uppercase: None,
196            o: None,
197            f: None,
198            q: None,
199            p: None,
200            p_uppercase: None,
201            f_uppercase: None,
202            g: None,
203            c_uppercase: None,
204            x: None,
205            x_uppercase: None,
206            r: None,
207            i: None,
208            l: None,
209            z: None,
210            l_uppercase: None,
211            n: None,
212            n_uppercase: None,
213            t_uppercase: None,
214            t: None,
215            v: None,
216            i_uppercase: None,
217            w: None,
218            m: None,
219            m_uppercase: None,
220            o_uppercase: None,
221            z_uppercase: None,
222            y_uppercase: None,
223            q_uppercase: None,
224            w_uppercase: None,
225            v_uppercase: None,
226            d: None,
227            d_uppercase: None,
228            j: None,
229            j_uppercase: None,
230            a_uppercase: None,
231            b_uppercase: None,
232            u: None,
233            u_uppercase: None,
234            cs: None,
235            pl: None,
236            p_l: None,
237            p_y: None,
238            b: None,
239            a: None,
240            k: None,
241            u_s: None,
242            g_p: None,
243            g_ot: None,
244            g_ov: None,
245            gp: None,
246            e_r: None,
247        }
248    }
249}