fireblocks_sdk/models/
execution_request_base_details.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ExecutionRequestBaseDetails {
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}
33
34impl ExecutionRequestBaseDetails {
35 pub fn new(
36 side: Side,
37 base_amount: String,
38 base_asset_id: String,
39 quote_asset_id: String,
40 ) -> ExecutionRequestBaseDetails {
41 ExecutionRequestBaseDetails {
42 side,
43 base_amount,
44 base_asset_id,
45 base_asset_rail: None,
46 quote_asset_id,
47 quote_asset_rail: None,
48 }
49 }
50}
51#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
53pub enum Side {
54 #[serde(rename = "BUY")]
55 Buy,
56 #[serde(rename = "SELL")]
57 Sell,
58}
59
60impl Default for Side {
61 fn default() -> Side {
62 Self::Buy
63 }
64}