openlimits_coinbase/model/
fill.rs

1use serde::Deserialize;
2use serde::Serialize;
3use chrono::naive::NaiveDateTime;
4use rust_decimal::prelude::Decimal;
5use super::shared::string_to_decimal;
6use super::shared::naive_datetime_from_string;
7
8/// This struct represents a fill order
9#[derive(Debug, Serialize, Deserialize, Clone)]
10pub struct Fill {
11    pub trade_id: u64,
12    pub product_id: String,
13    #[serde(with = "string_to_decimal")]
14    pub price: Decimal,
15    #[serde(with = "string_to_decimal")]
16    pub size: Decimal,
17    pub order_id: String,
18    #[serde(with = "naive_datetime_from_string")]
19    pub created_at: NaiveDateTime,
20    pub liquidity: String,
21    #[serde(with = "string_to_decimal")]
22    pub fee: Decimal,
23    pub settled: bool,
24    pub side: String,
25}