fireblocks_sdk/models/
order_summary.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct OrderSummary {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "via")]
19 pub via: models::AccessType,
20 #[serde(rename = "side")]
22 pub side: Side,
23 #[serde(rename = "baseAmount")]
24 pub base_amount: String,
25 #[serde(rename = "quoteAmount", skip_serializing_if = "Option::is_none")]
26 pub quote_amount: Option<String>,
27 #[serde(rename = "baseAssetId")]
28 pub base_asset_id: String,
29 #[serde(rename = "quoteAssetId")]
30 pub quote_asset_id: String,
31 #[serde(rename = "status")]
32 pub status: models::OrderStatus,
33 #[serde(rename = "destination")]
34 pub destination: models::AccountReference,
35 #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
36 pub source: Option<models::SettlementSourceAccount>,
37 #[serde(rename = "createdAt")]
38 pub created_at: String,
39}
40
41impl OrderSummary {
42 pub fn new(
43 id: String,
44 via: models::AccessType,
45 side: Side,
46 base_amount: String,
47 base_asset_id: String,
48 quote_asset_id: String,
49 status: models::OrderStatus,
50 destination: models::AccountReference,
51 created_at: String,
52 ) -> OrderSummary {
53 OrderSummary {
54 id,
55 via,
56 side,
57 base_amount,
58 quote_amount: None,
59 base_asset_id,
60 quote_asset_id,
61 status,
62 destination,
63 source: None,
64 created_at,
65 }
66 }
67}
68#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
70pub enum Side {
71 #[serde(rename = "BUY")]
72 Buy,
73 #[serde(rename = "SELL")]
74 Sell,
75}
76
77impl Default for Side {
78 fn default() -> Side {
79 Self::Buy
80 }
81}