cxmr_feeds/
user_events.rs

1//! User feed events.
2
3use cxmr_exchanges::{AccountInfo, OrderStatus};
4
5/// User account event.
6#[derive(Serialize, Deserialize, Clone, Debug)]
7pub enum UserEvent {
8    /// Update account information.
9    UpdateAccount(AccountInfo),
10
11    /// Order execution report.
12    OrderExecution(ExecutionReport),
13}
14
15/// Market order execution report.
16#[derive(Serialize, Deserialize, Clone, Debug)]
17pub struct ExecutionReport {
18    /// Order ID.
19    pub id: String,
20
21    /// Internal account ID.
22    pub account: String,
23
24    /// Order status.
25    pub status: OrderStatus,
26
27    /// Order rate.
28    pub rate: u64,
29
30    /// Order stop rate.
31    #[serde(skip_serializing_if = "Option::is_none")]
32    pub stop: Option<u64>,
33
34    /// Cumulative order quantity.
35    pub amount: u64,
36
37    /// Cumulative executed quantity.
38    #[serde(skip_serializing_if = "Option::is_none")]
39    pub executed: Option<u64>,
40
41    /// Order update time.
42    pub updated_at: u64,
43}