Skip to main content

binance_sdk/margin_trading/websocket_streams/models/
execution_report.rs

1/*
2 * Margin WebSocket Market Streams
3 *
4 * Access account information, borrow and repay assets, and trade with Binance Margin.
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::margin_trading::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; will be an error code.
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    /// Ignore
91    #[serde(rename = "I", skip_serializing_if = "Option::is_none")]
92    pub i_uppercase: Option<i64>,
93    /// Is the order on the book?
94    #[serde(rename = "w", skip_serializing_if = "Option::is_none")]
95    pub w: Option<bool>,
96    /// Is this trade the maker side?
97    #[serde(rename = "m", skip_serializing_if = "Option::is_none")]
98    pub m: Option<bool>,
99    /// Ignore
100    #[serde(rename = "M", skip_serializing_if = "Option::is_none")]
101    pub m_uppercase: Option<bool>,
102    /// Order creation time
103    #[serde(rename = "O", skip_serializing_if = "Option::is_none")]
104    pub o_uppercase: Option<i64>,
105    /// Cumulative quote asset transacted quantity
106    #[serde(rename = "Z", skip_serializing_if = "Option::is_none")]
107    pub z_uppercase: Option<String>,
108    /// Last quote asset transacted quantity (i.e. lastPrice * lastQty)
109    #[serde(rename = "Y", skip_serializing_if = "Option::is_none")]
110    pub y_uppercase: Option<String>,
111    /// Quote Order Quantity
112    #[serde(rename = "Q", skip_serializing_if = "Option::is_none")]
113    pub q_uppercase: Option<String>,
114    /// Working Time; This is only visible if the order has been placed on the book.
115    #[serde(rename = "W", skip_serializing_if = "Option::is_none")]
116    pub w_uppercase: Option<i64>,
117    /// selfTradePreventionMode
118    #[serde(rename = "V", skip_serializing_if = "Option::is_none")]
119    pub v_uppercase: Option<String>,
120    /// Trailing Delta; This is only visible if the order was a trailing stop order.
121    #[serde(rename = "d", skip_serializing_if = "Option::is_none")]
122    pub d: Option<String>,
123    /// Trailing Time
124    #[serde(rename = "D", skip_serializing_if = "Option::is_none")]
125    pub d_uppercase: Option<String>,
126    /// Strategy Id
127    #[serde(rename = "j", skip_serializing_if = "Option::is_none")]
128    pub j: Option<String>,
129    /// Strategy Type
130    #[serde(rename = "J", skip_serializing_if = "Option::is_none")]
131    pub j_uppercase: Option<String>,
132    /// Prevented Match Id
133    #[serde(rename = "v", skip_serializing_if = "Option::is_none")]
134    pub v: Option<String>,
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<String>,
144    /// Counter Order Id
145    #[serde(rename = "U", skip_serializing_if = "Option::is_none")]
146    pub u_uppercase: Option<String>,
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<String>,
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}
172
173impl ExecutionReport {
174    #[must_use]
175    pub fn new() -> ExecutionReport {
176        ExecutionReport {
177            e_uppercase: None,
178            s: None,
179            c: None,
180            s_uppercase: None,
181            o: None,
182            f: None,
183            q: None,
184            p: None,
185            p_uppercase: None,
186            f_uppercase: None,
187            g: None,
188            c_uppercase: None,
189            x: None,
190            x_uppercase: None,
191            r: None,
192            i: None,
193            l: None,
194            z: None,
195            l_uppercase: None,
196            n: None,
197            n_uppercase: None,
198            t_uppercase: None,
199            t: None,
200            i_uppercase: None,
201            w: None,
202            m: None,
203            m_uppercase: None,
204            o_uppercase: None,
205            z_uppercase: None,
206            y_uppercase: None,
207            q_uppercase: None,
208            w_uppercase: None,
209            v_uppercase: None,
210            d: None,
211            d_uppercase: None,
212            j: None,
213            j_uppercase: None,
214            v: None,
215            a_uppercase: None,
216            b_uppercase: None,
217            u: None,
218            u_uppercase: None,
219            cs: None,
220            pl: None,
221            p_l: None,
222            p_y: None,
223            b: None,
224            a: None,
225            k: None,
226            u_s: None,
227        }
228    }
229}