fireblocks_sdk/models/
quote_execution_with_requote_response_details.rs

1// Fireblocks API
2//
3// Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
4//
5// The version of the OpenAPI document: 1.8.0
6// Contact: developers@fireblocks.com
7// Generated by: https://openapi-generator.tech
8
9use {
10    crate::models,
11    serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct QuoteExecutionWithRequoteResponseDetails {
16    /// Order type for quote orders
17    #[serde(rename = "type")]
18    pub r#type: Type,
19    /// Quote ID for quote orders
20    #[serde(rename = "quoteId")]
21    pub quote_id: String,
22    /// Quote amount for quote orders
23    #[serde(rename = "quoteAmount")]
24    pub quote_amount: String,
25    /// Side of the order
26    #[serde(rename = "side")]
27    pub side: Side,
28    /// Amount to convert
29    #[serde(rename = "baseAmount")]
30    pub base_amount: String,
31    /// Source asset identifier
32    #[serde(rename = "baseAssetId")]
33    pub base_asset_id: String,
34    #[serde(rename = "baseAssetRail", skip_serializing_if = "Option::is_none")]
35    pub base_asset_rail: Option<models::TransferRail>,
36    /// Target asset identifier
37    #[serde(rename = "quoteAssetId")]
38    pub quote_asset_id: String,
39    #[serde(rename = "quoteAssetRail", skip_serializing_if = "Option::is_none")]
40    pub quote_asset_rail: Option<models::TransferRail>,
41    #[serde(rename = "reQuote", skip_serializing_if = "Option::is_none")]
42    pub re_quote: Option<models::QuoteExecutionWithRequoteResponseDetailsAllOfReQuote>,
43}
44
45impl QuoteExecutionWithRequoteResponseDetails {
46    pub fn new(
47        r#type: Type,
48        quote_id: String,
49        quote_amount: String,
50        side: Side,
51        base_amount: String,
52        base_asset_id: String,
53        quote_asset_id: String,
54    ) -> QuoteExecutionWithRequoteResponseDetails {
55        QuoteExecutionWithRequoteResponseDetails {
56            r#type,
57            quote_id,
58            quote_amount,
59            side,
60            base_amount,
61            base_asset_id,
62            base_asset_rail: None,
63            quote_asset_id,
64            quote_asset_rail: None,
65            re_quote: None,
66        }
67    }
68}
69/// Order type for quote orders
70#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
71pub enum Type {
72    #[serde(rename = "QUOTE")]
73    Quote,
74}
75
76impl Default for Type {
77    fn default() -> Type {
78        Self::Quote
79    }
80}
81/// Side of the order
82#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
83pub enum Side {
84    #[serde(rename = "BUY")]
85    Buy,
86    #[serde(rename = "SELL")]
87    Sell,
88}
89
90impl Default for Side {
91    fn default() -> Side {
92        Self::Buy
93    }
94}