openlimits_binance/model/
order.rs1use serde::Deserialize;
2use serde::Serialize;
3use rust_decimal::prelude::Decimal;
4use super::OrderStatus;
5use super::shared::string_to_decimal;
6use super::shared::string_to_opt_decimal;
7
8#[derive(Debug, Serialize, Deserialize, Clone)]
10#[serde(rename_all = "camelCase")]
11pub struct Order {
12 pub symbol: String,
13 pub order_id: u64,
14 pub client_order_id: String,
15 #[serde(default, with = "string_to_decimal")]
16 pub price: Decimal,
17 #[serde(default, with = "string_to_decimal")]
18 pub orig_qty: Decimal,
19 #[serde(default, with = "string_to_decimal")]
20 pub executed_qty: Decimal,
21 #[serde(default)]
22 pub status: OrderStatus,
23 #[serde(default)]
24 pub time_in_force: Option<String>,
25 #[serde(default, rename = "type")]
26 pub type_name: String,
27 #[serde(default)]
28 pub side: String,
29 #[serde(default, with = "string_to_opt_decimal")]
30 pub stop_price: Option<Decimal>,
31 #[serde(default)]
32 pub iceberg_qty: Option<String>,
33 #[serde(default)]
34 pub time: Option<u64>,
35}