fireblocks_sdk/models/
quote_execution_response_details.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct QuoteExecutionResponseDetails {
16 #[serde(rename = "side")]
18 pub side: Side,
19 #[serde(rename = "baseAmount")]
21 pub base_amount: String,
22 #[serde(rename = "baseAssetId")]
24 pub base_asset_id: String,
25 #[serde(rename = "baseAssetRail", skip_serializing_if = "Option::is_none")]
26 pub base_asset_rail: Option<models::TransferRail>,
27 #[serde(rename = "quoteAssetId")]
29 pub quote_asset_id: String,
30 #[serde(rename = "quoteAssetRail", skip_serializing_if = "Option::is_none")]
31 pub quote_asset_rail: Option<models::TransferRail>,
32 #[serde(rename = "type")]
34 pub r#type: Type,
35 #[serde(rename = "quoteId")]
37 pub quote_id: String,
38 #[serde(rename = "quoteAmount")]
40 pub quote_amount: String,
41}
42
43impl QuoteExecutionResponseDetails {
44 pub fn new(
45 side: Side,
46 base_amount: String,
47 base_asset_id: String,
48 quote_asset_id: String,
49 r#type: Type,
50 quote_id: String,
51 quote_amount: String,
52 ) -> QuoteExecutionResponseDetails {
53 QuoteExecutionResponseDetails {
54 side,
55 base_amount,
56 base_asset_id,
57 base_asset_rail: None,
58 quote_asset_id,
59 quote_asset_rail: None,
60 r#type,
61 quote_id,
62 quote_amount,
63 }
64 }
65}
66#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
68pub enum Side {
69 #[serde(rename = "BUY")]
70 Buy,
71 #[serde(rename = "SELL")]
72 Sell,
73}
74
75impl Default for Side {
76 fn default() -> Side {
77 Self::Buy
78 }
79}
80#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
82pub enum Type {
83 #[serde(rename = "QUOTE")]
84 Quote,
85}
86
87impl Default for Type {
88 fn default() -> Type {
89 Self::Quote
90 }
91}