fireblocks_sdk/models/
smart_transfer_ticket_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/// SmartTransferTicketTerm : Data object with result data
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct SmartTransferTicketTerm {
17    /// Unique id of Smart Transfer ticket term
18    #[serde(rename = "id")]
19    pub id: String,
20    /// Unique id of Smart Transfer ticket
21    #[serde(rename = "ticketId")]
22    pub ticket_id: String,
23    /// Asset name
24    #[serde(rename = "asset")]
25    pub asset: String,
26    /// Amount
27    #[serde(rename = "amount")]
28    pub amount: String,
29    /// Amount USD
30    #[serde(rename = "amountUsd", skip_serializing_if = "Option::is_none")]
31    pub amount_usd: Option<String>,
32    /// Identifier of the origination Network Profile
33    #[serde(rename = "fromNetworkId")]
34    pub from_network_id: String,
35    /// Source network name
36    #[serde(rename = "fromNetworkIdName")]
37    pub from_network_id_name: String,
38    /// Identifier of the destination Network Profile
39    #[serde(rename = "toNetworkId")]
40    pub to_network_id: String,
41    /// Destination network name
42    #[serde(rename = "toNetworkIdName")]
43    pub to_network_id_name: String,
44    /// Blockchain TX hash
45    #[serde(rename = "txHash", deserialize_with = "Option::deserialize")]
46    pub tx_hash: Option<String>,
47    /// Fireblocks transaction ID. It is set when the funding transaction is
48    /// created.
49    #[serde(rename = "fbTxId", deserialize_with = "Option::deserialize")]
50    pub fb_tx_id: Option<String>,
51    /// Ticket term transaction status
52    #[serde(rename = "txStatus", deserialize_with = "Option::deserialize")]
53    pub tx_status: Option<TxStatus>,
54    /// Ticket term status
55    #[serde(rename = "status")]
56    pub status: Status,
57    /// Date and time when the term is created.
58    #[serde(rename = "createdAt")]
59    pub created_at: String,
60    /// Date and time of last term update.
61    #[serde(rename = "updatedAt")]
62    pub updated_at: String,
63}
64
65impl SmartTransferTicketTerm {
66    /// Data object with result data
67    pub fn new(
68        id: String,
69        ticket_id: String,
70        asset: String,
71        amount: String,
72        from_network_id: String,
73        from_network_id_name: String,
74        to_network_id: String,
75        to_network_id_name: String,
76        tx_hash: Option<String>,
77        fb_tx_id: Option<String>,
78        tx_status: Option<TxStatus>,
79        status: Status,
80        created_at: String,
81        updated_at: String,
82    ) -> SmartTransferTicketTerm {
83        SmartTransferTicketTerm {
84            id,
85            ticket_id,
86            asset,
87            amount,
88            amount_usd: None,
89            from_network_id,
90            from_network_id_name,
91            to_network_id,
92            to_network_id_name,
93            tx_hash,
94            fb_tx_id,
95            tx_status,
96            status,
97            created_at,
98            updated_at,
99        }
100    }
101}
102/// Ticket term transaction status
103#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
104pub enum TxStatus {
105    #[serde(rename = "queued")]
106    Queued,
107    #[serde(rename = "submitted")]
108    Submitted,
109    #[serde(rename = "pendingSignature")]
110    PendingSignature,
111    #[serde(rename = "pendingAuthorization")]
112    PendingAuthorization,
113    #[serde(rename = "broadcasting")]
114    Broadcasting,
115    #[serde(rename = "confirming")]
116    Confirming,
117    #[serde(rename = "pendingAmlScreening")]
118    PendingAmlScreening,
119    #[serde(rename = "completed")]
120    Completed,
121    #[serde(rename = "cancelled")]
122    Cancelled,
123    #[serde(rename = "failed")]
124    Failed,
125    #[serde(rename = "rejected")]
126    Rejected,
127    #[serde(rename = "blocked")]
128    Blocked,
129    #[serde(rename = "thirdPartyPendingManualApproval")]
130    ThirdPartyPendingManualApproval,
131    #[serde(rename = "thirdPartyPending")]
132    ThirdPartyPending,
133    #[serde(rename = "partiallyCompleted")]
134    PartiallyCompleted,
135    #[serde(rename = "cancelling")]
136    Cancelling,
137}
138
139impl Default for TxStatus {
140    fn default() -> TxStatus {
141        Self::Queued
142    }
143}
144/// Ticket term status
145#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
146pub enum Status {
147    #[serde(rename = "CREATED")]
148    Created,
149    #[serde(rename = "FUNDING")]
150    Funding,
151    #[serde(rename = "FUNDING_FAILED")]
152    FundingFailed,
153    #[serde(rename = "FUNDED")]
154    Funded,
155    #[serde(rename = "REJECTED")]
156    Rejected,
157}
158
159impl Default for Status {
160    fn default() -> Status {
161        Self::Created
162    }
163}