openlimits_binance/model/websocket/
aggregate_trade.rs1use serde::Deserialize;
2use serde::Serialize;
3use rust_decimal::prelude::Decimal;
4use super::shared::string_to_decimal;
5
6#[derive(Debug, Serialize, Deserialize, Clone)]
8#[serde(rename_all = "camelCase")]
9pub struct AggregateTrade {
10 #[serde(rename = "e")]
11 pub event_type: String,
12 #[serde(rename = "E")]
13 pub event_time: u64,
14 #[serde(rename = "s")]
15 pub symbol: String,
16 #[serde(rename = "a")]
17 pub aggregated_trade_id: u64,
18 #[serde(rename = "p", with = "string_to_decimal")]
19 pub price: Decimal,
20 #[serde(rename = "q", with = "string_to_decimal")]
21 pub qty: Decimal,
22 #[serde(rename = "f")]
23 pub first_break_trade_id: u64,
24 #[serde(rename = "l")]
25 pub last_break_trade_id: u64,
26 #[serde(rename = "T")]
27 pub trade_order_time: u64,
28 #[serde(rename = "m")]
29 pub is_buyer_maker: bool,
30 #[serde(skip_serializing, rename = "M")]
31 pub m_ignore: bool,
32}