openlimits_coinbase/model/websocket/
done.rs1use rust_decimal::prelude::Decimal;
2use serde::Deserialize;
3use super::OrderSide;
4use super::Reason;
5use super::shared::string_to_decimal;
6
7#[derive(Deserialize, Debug, Clone, PartialEq)]
8#[serde(untagged)]
9pub enum Done {
10 Limit {
11 time: String,
12 product_id: String,
13 sequence: Option<usize>,
14 #[serde(with = "string_to_decimal")]
15 price: Decimal,
16 order_id: String,
17 reason: Reason,
18 side: OrderSide,
19 #[serde(with = "string_to_decimal")]
20 remaining_size: Decimal,
21 user_id: Option<String>,
22 #[serde(default)]
23 profile_id: Option<String>,
24 },
25 Market {
26 time: String,
27 product_id: String,
28 sequence: usize,
29 order_id: String,
30 reason: Reason,
31 side: OrderSide,
32 },
33}