fireblocks_sdk/models/
market_execution_request_details.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct MarketExecutionRequestDetails {
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}
36
37impl MarketExecutionRequestDetails {
38 pub fn new(
39 side: Side,
40 base_amount: String,
41 base_asset_id: String,
42 quote_asset_id: String,
43 r#type: Type,
44 ) -> MarketExecutionRequestDetails {
45 MarketExecutionRequestDetails {
46 side,
47 base_amount,
48 base_asset_id,
49 base_asset_rail: None,
50 quote_asset_id,
51 quote_asset_rail: None,
52 r#type,
53 }
54 }
55}
56#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
58pub enum Side {
59 #[serde(rename = "BUY")]
60 Buy,
61 #[serde(rename = "SELL")]
62 Sell,
63}
64
65impl Default for Side {
66 fn default() -> Side {
67 Self::Buy
68 }
69}
70#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
72pub enum Type {
73 #[serde(rename = "MARKET")]
74 Market,
75}
76
77impl Default for Type {
78 fn default() -> Type {
79 Self::Market
80 }
81}