openlimits_binance/model/websocket/
user_order_update.rs1use serde::Deserialize;
2use serde::Serialize;
3use rust_decimal::prelude::Decimal;
4use super::shared::string_to_decimal;
5use super::OrderExecType;
6use super::OrderRejectReason;
7use super::OrderStatus;
8use super::OrderType;
9use super::Side;
10use super::TimeInForce;
11
12#[derive(Debug, Serialize, Deserialize, Clone)]
14#[serde(rename_all = "camelCase")]
15pub struct UserOrderUpdate {
16 #[serde(rename = "e")]
17 pub event_type: String,
18 #[serde(rename = "E")]
19 pub event_time: u64,
20 #[serde(rename = "s")]
21 pub symbol: String,
22 #[serde(rename = "c")]
23 pub new_client_order_id: String,
24 #[serde(rename = "S")]
25 pub side: Side,
26 #[serde(rename = "o")]
27 pub order_type: OrderType,
28 #[serde(rename = "f")]
29 pub time_in_force: TimeInForce,
30 #[serde(rename = "q", with = "string_to_decimal")]
31 pub qty: Decimal,
32 #[serde(rename = "p", with = "string_to_decimal")]
33 pub price: Decimal,
34 #[serde(rename = "P", with = "string_to_decimal")]
35 pub stop_price: Decimal,
36 #[serde(rename = "F", with = "string_to_decimal")]
37 pub iceberg_qty: Decimal,
38 #[serde(skip_serializing)]
39 pub g: i32,
40 #[serde(skip_serializing, rename = "C")]
41 pub c_ignore: Option<String>,
42 #[serde(rename = "x")]
43 pub execution_type: OrderExecType,
44 #[serde(rename = "X")]
45 pub order_status: OrderStatus,
46 #[serde(rename = "r")]
47 pub order_reject_reason: OrderRejectReason,
48 #[serde(rename = "i")]
49 pub order_id: u64,
50 #[serde(rename = "l", with = "string_to_decimal")]
51 pub qty_last_filled_trade: Decimal,
52 #[serde(rename = "z", with = "string_to_decimal")]
53 pub accumulated_qty_filled_trades: Decimal,
54 #[serde(rename = "L", with = "string_to_decimal")]
55 pub price_last_filled_trade: Decimal,
56 #[serde(rename = "n", with = "string_to_decimal")]
57 pub commission: Decimal,
58 #[serde(skip_serializing, rename = "N")]
59 pub asset_commisioned: Option<String>,
60 #[serde(rename = "T")]
61 pub trade_order_time: u64,
62 #[serde(rename = "t")]
63 pub trade_id: i64,
64 #[serde(skip_serializing, rename = "I")]
65 pub i_ignore: u64,
66 #[serde(skip_serializing)]
67 pub w: bool,
68 #[serde(rename = "m")]
69 pub is_buyer_maker: bool,
70 #[serde(skip_serializing, rename = "M")]
71 pub m_ignore: bool,
72 #[serde(skip_serializing, rename = "O")]
73 pub order_creation_time: u64,
74 #[serde(skip_serializing, rename = "Z", with = "string_to_decimal")]
75 pub cumulative_quote_asset_transacted_qty: Decimal,
76}