fireblocks_sdk/models/
smart_transfer_approve_term.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 SmartTransferApproveTerm {
16    /// Asset name
17    #[serde(rename = "asset")]
18    pub asset: String,
19    /// Amount
20    #[serde(rename = "amount")]
21    pub amount: String,
22    /// Id of the vault that is used as the source of the asset.
23    #[serde(rename = "srcId")]
24    pub src_id: String,
25    /// Transaction fee
26    #[serde(rename = "fee", skip_serializing_if = "Option::is_none")]
27    pub fee: Option<String>,
28    /// Transaction fee level.
29    #[serde(rename = "feeLevel", skip_serializing_if = "Option::is_none")]
30    pub fee_level: Option<FeeLevel>,
31    /// Transaction note
32    #[serde(rename = "note", skip_serializing_if = "Option::is_none")]
33    pub note: Option<String>,
34}
35
36impl SmartTransferApproveTerm {
37    pub fn new(asset: String, amount: String, src_id: String) -> SmartTransferApproveTerm {
38        SmartTransferApproveTerm {
39            asset,
40            amount,
41            src_id,
42            fee: None,
43            fee_level: None,
44            note: None,
45        }
46    }
47}
48/// Transaction fee level.
49#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
50pub enum FeeLevel {
51    #[serde(rename = "LOW")]
52    Low,
53    #[serde(rename = "MEDIUM")]
54    Medium,
55    #[serde(rename = "HIGH")]
56    High,
57}
58
59impl Default for FeeLevel {
60    fn default() -> FeeLevel {
61        Self::Low
62    }
63}