1#![allow(unused_imports)]
20use crate::spot::websocket_api::models;
21use serde::{Deserialize, Deserializer, Serialize, de::Error};
22use serde_json::Value;
23
24#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
25pub struct ExecutionReport {
26 #[serde(rename = "E", skip_serializing_if = "Option::is_none")]
27 pub e_uppercase: Option<i64>,
28 #[serde(rename = "s", skip_serializing_if = "Option::is_none")]
29 pub s: Option<String>,
30 #[serde(rename = "c", skip_serializing_if = "Option::is_none")]
31 pub c: Option<String>,
32 #[serde(rename = "S", skip_serializing_if = "Option::is_none")]
33 pub s_uppercase: Option<String>,
34 #[serde(rename = "o", skip_serializing_if = "Option::is_none")]
35 pub o: Option<String>,
36 #[serde(rename = "f", skip_serializing_if = "Option::is_none")]
37 pub f: Option<String>,
38 #[serde(rename = "q", skip_serializing_if = "Option::is_none")]
39 pub q: Option<String>,
40 #[serde(rename = "p", skip_serializing_if = "Option::is_none")]
41 pub p: Option<String>,
42 #[serde(rename = "P", skip_serializing_if = "Option::is_none")]
43 pub p_uppercase: Option<String>,
44 #[serde(rename = "F", skip_serializing_if = "Option::is_none")]
45 pub f_uppercase: Option<String>,
46 #[serde(rename = "g", skip_serializing_if = "Option::is_none")]
47 pub g: Option<i64>,
48 #[serde(rename = "C", skip_serializing_if = "Option::is_none")]
49 pub c_uppercase: Option<String>,
50 #[serde(rename = "x", skip_serializing_if = "Option::is_none")]
51 pub x: Option<String>,
52 #[serde(rename = "X", skip_serializing_if = "Option::is_none")]
53 pub x_uppercase: Option<String>,
54 #[serde(rename = "r", skip_serializing_if = "Option::is_none")]
55 pub r: Option<String>,
56 #[serde(rename = "i", skip_serializing_if = "Option::is_none")]
57 pub i: Option<i64>,
58 #[serde(rename = "l", skip_serializing_if = "Option::is_none")]
59 pub l: Option<String>,
60 #[serde(rename = "z", skip_serializing_if = "Option::is_none")]
61 pub z: Option<String>,
62 #[serde(rename = "L", skip_serializing_if = "Option::is_none")]
63 pub l_uppercase: Option<String>,
64 #[serde(rename = "n", skip_serializing_if = "Option::is_none")]
65 pub n: Option<String>,
66 #[serde(rename = "N", skip_serializing_if = "Option::is_none")]
67 pub n_uppercase: Option<String>,
68 #[serde(rename = "T", skip_serializing_if = "Option::is_none")]
69 pub t_uppercase: Option<i64>,
70 #[serde(rename = "t", skip_serializing_if = "Option::is_none")]
71 pub t: Option<i64>,
72 #[serde(rename = "v", skip_serializing_if = "Option::is_none")]
73 pub v: Option<i64>,
74 #[serde(rename = "I", skip_serializing_if = "Option::is_none")]
75 pub i_uppercase: Option<i64>,
76 #[serde(rename = "w", skip_serializing_if = "Option::is_none")]
77 pub w: Option<bool>,
78 #[serde(rename = "m", skip_serializing_if = "Option::is_none")]
79 pub m: Option<bool>,
80 #[serde(rename = "M", skip_serializing_if = "Option::is_none")]
81 pub m_uppercase: Option<bool>,
82 #[serde(rename = "O", skip_serializing_if = "Option::is_none")]
83 pub o_uppercase: Option<i64>,
84 #[serde(rename = "Z", skip_serializing_if = "Option::is_none")]
85 pub z_uppercase: Option<String>,
86 #[serde(rename = "Y", skip_serializing_if = "Option::is_none")]
87 pub y_uppercase: Option<String>,
88 #[serde(rename = "Q", skip_serializing_if = "Option::is_none")]
89 pub q_uppercase: Option<String>,
90 #[serde(rename = "W", skip_serializing_if = "Option::is_none")]
91 pub w_uppercase: Option<i64>,
92 #[serde(rename = "V", skip_serializing_if = "Option::is_none")]
93 pub v_uppercase: Option<String>,
94 #[serde(rename = "d", skip_serializing_if = "Option::is_none")]
95 pub d: Option<i64>,
96 #[serde(rename = "D", skip_serializing_if = "Option::is_none")]
97 pub d_uppercase: Option<i64>,
98 #[serde(rename = "j", skip_serializing_if = "Option::is_none")]
99 pub j: Option<i64>,
100 #[serde(rename = "J", skip_serializing_if = "Option::is_none")]
101 pub j_uppercase: Option<i64>,
102 #[serde(rename = "A", skip_serializing_if = "Option::is_none")]
103 pub a_uppercase: Option<String>,
104 #[serde(rename = "B", skip_serializing_if = "Option::is_none")]
105 pub b_uppercase: Option<String>,
106 #[serde(rename = "u", skip_serializing_if = "Option::is_none")]
107 pub u: Option<i64>,
108 #[serde(rename = "U", skip_serializing_if = "Option::is_none")]
109 pub u_uppercase: Option<i64>,
110 #[serde(rename = "Cs", skip_serializing_if = "Option::is_none")]
111 pub cs: Option<String>,
112 #[serde(rename = "pl", skip_serializing_if = "Option::is_none")]
113 pub pl: Option<String>,
114 #[serde(rename = "pL", skip_serializing_if = "Option::is_none")]
115 pub p_l: Option<String>,
116 #[serde(rename = "pY", skip_serializing_if = "Option::is_none")]
117 pub p_y: Option<String>,
118 #[serde(rename = "b", skip_serializing_if = "Option::is_none")]
119 pub b: Option<String>,
120 #[serde(rename = "a", skip_serializing_if = "Option::is_none")]
121 pub a: Option<i64>,
122 #[serde(rename = "k", skip_serializing_if = "Option::is_none")]
123 pub k: Option<String>,
124 #[serde(rename = "uS", skip_serializing_if = "Option::is_none")]
125 pub u_s: Option<bool>,
126 #[serde(rename = "gP", skip_serializing_if = "Option::is_none")]
127 pub g_p: Option<String>,
128 #[serde(rename = "gOT", skip_serializing_if = "Option::is_none")]
129 pub g_ot: Option<String>,
130 #[serde(rename = "gOV", skip_serializing_if = "Option::is_none")]
131 pub g_ov: Option<i64>,
132 #[serde(rename = "gp", skip_serializing_if = "Option::is_none")]
133 pub gp: Option<String>,
134 #[serde(rename = "eR", skip_serializing_if = "Option::is_none")]
135 pub e_r: Option<String>,
136}
137
138impl ExecutionReport {
139 #[must_use]
140 pub fn new() -> ExecutionReport {
141 ExecutionReport {
142 e_uppercase: None,
143 s: None,
144 c: None,
145 s_uppercase: None,
146 o: None,
147 f: None,
148 q: None,
149 p: None,
150 p_uppercase: None,
151 f_uppercase: None,
152 g: None,
153 c_uppercase: None,
154 x: None,
155 x_uppercase: None,
156 r: None,
157 i: None,
158 l: None,
159 z: None,
160 l_uppercase: None,
161 n: None,
162 n_uppercase: None,
163 t_uppercase: None,
164 t: None,
165 v: None,
166 i_uppercase: None,
167 w: None,
168 m: None,
169 m_uppercase: None,
170 o_uppercase: None,
171 z_uppercase: None,
172 y_uppercase: None,
173 q_uppercase: None,
174 w_uppercase: None,
175 v_uppercase: None,
176 d: None,
177 d_uppercase: None,
178 j: None,
179 j_uppercase: None,
180 a_uppercase: None,
181 b_uppercase: None,
182 u: None,
183 u_uppercase: None,
184 cs: None,
185 pl: None,
186 p_l: None,
187 p_y: None,
188 b: None,
189 a: None,
190 k: None,
191 u_s: None,
192 g_p: None,
193 g_ot: None,
194 g_ov: None,
195 gp: None,
196 e_r: None,
197 }
198 }
199}