bpx_api_types/
trade.rs

1use rust_decimal::Decimal;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5#[serde(rename_all = "camelCase")]
6pub struct Trade {
7    pub id: i64,
8    pub price: Decimal,
9    pub quantity: Decimal,
10    pub quote_quantity: Decimal,
11    pub timestamp: i64,
12    pub is_buyer_maker: bool,
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize)]
16#[serde(rename_all = "camelCase")]
17pub struct TradeUpdate {
18    /// Event type.
19    #[serde(rename = "e")]
20    pub event_type: String,
21
22    /// Event timestamp in microseconds.
23    #[serde(rename = "E")]
24    pub event_time: i64,
25
26    /// Symbol.
27    #[serde(rename = "s")]
28    pub symbol: String,
29
30    /// Price.
31    #[serde(rename = "p")]
32    pub price: Decimal,
33
34    /// Quantity.
35    #[serde(rename = "q")]
36    pub quantity: Decimal,
37
38    /// Buyer order ID.
39    #[serde(rename = "b")]
40    pub buyer_order_id: String,
41
42    /// Seller order ID.
43    #[serde(rename = "a")]
44    pub seller_order_id: String,
45
46    /// Trade ID.
47    #[serde(rename = "t")]
48    pub trade_id: u64,
49
50    /// Engine timestamp in microseconds.
51    #[serde(rename = "T")]
52    pub timestamp: i64,
53
54    /// Is the buyer the maker?
55    #[serde(rename = "m")]
56    pub buyer_is_maker: bool,
57}