fireblocks_sdk/models/
token_response.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 TokenResponse {
16    /// The Fireblocks NFT asset id
17    #[serde(rename = "id")]
18    pub id: String,
19    /// Token id within the contract/collection
20    #[serde(rename = "tokenId")]
21    pub token_id: String,
22    /// ERC721 / ERC1155
23    #[serde(rename = "standard")]
24    pub standard: String,
25    /// URL of the original token JSON metadata
26    #[serde(rename = "metadataURI", skip_serializing_if = "Option::is_none")]
27    pub metadata_uri: Option<String>,
28    /// URL of the cached token JSON metadata
29    #[serde(rename = "cachedMetadataURI", skip_serializing_if = "Option::is_none")]
30    pub cached_metadata_uri: Option<String>,
31    /// Media items extracted from metadata JSON
32    #[serde(rename = "media", skip_serializing_if = "Option::is_none")]
33    pub media: Option<Vec<models::MediaEntityResponse>>,
34    /// Token spam status
35    #[serde(rename = "spam", skip_serializing_if = "Option::is_none")]
36    pub spam: Option<models::SpamTokenResponse>,
37    /// Parent collection information
38    #[serde(rename = "collection", skip_serializing_if = "Option::is_none")]
39    pub collection: Option<models::TokenCollectionResponse>,
40    #[serde(rename = "blockchainDescriptor")]
41    pub blockchain_descriptor: BlockchainDescriptor,
42    /// Token's metadata description
43    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
44    pub description: Option<String>,
45    /// Token's metadata name
46    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
47    pub name: Option<String>,
48}
49
50impl TokenResponse {
51    pub fn new(
52        id: String,
53        token_id: String,
54        standard: String,
55        blockchain_descriptor: BlockchainDescriptor,
56    ) -> TokenResponse {
57        TokenResponse {
58            id,
59            token_id,
60            standard,
61            metadata_uri: None,
62            cached_metadata_uri: None,
63            media: None,
64            spam: None,
65            collection: None,
66            blockchain_descriptor,
67            description: None,
68            name: None,
69        }
70    }
71}
72///
73#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
74pub enum BlockchainDescriptor {
75    #[serde(rename = "ETH")]
76    Eth,
77    #[serde(rename = "ETH_TEST3")]
78    EthTest3,
79    #[serde(rename = "ETH_TEST5")]
80    EthTest5,
81    #[serde(rename = "ETH_TEST6")]
82    EthTest6,
83    #[serde(rename = "POLYGON")]
84    Polygon,
85    #[serde(rename = "POLYGON_TEST_MUMBAI")]
86    PolygonTestMumbai,
87    #[serde(rename = "AMOY_POLYGON_TEST")]
88    AmoyPolygonTest,
89    #[serde(rename = "XTZ")]
90    Xtz,
91    #[serde(rename = "XTZ_TEST")]
92    XtzTest,
93    #[serde(rename = "BASECHAIN_ETH")]
94    BasechainEth,
95    #[serde(rename = "BASECHAIN_ETH_TEST3")]
96    BasechainEthTest3,
97    #[serde(rename = "BASECHAIN_ETH_TEST5")]
98    BasechainEthTest5,
99    #[serde(rename = "ETHERLINK")]
100    Etherlink,
101    #[serde(rename = "ETHERLINK_TEST")]
102    EtherlinkTest,
103    #[serde(rename = "MANTLE")]
104    Mantle,
105    #[serde(rename = "MANTLE_TEST")]
106    MantleTest,
107    #[serde(rename = "GUN_GUNZILLA_TEST")]
108    GunGunzillaTest,
109    #[serde(rename = "ETH_SONEIUM")]
110    EthSoneium,
111    #[serde(rename = "SONEIUM_MINATO_TEST")]
112    SoneiumMinatoTest,
113    #[serde(rename = "IOTX_IOTEX")]
114    IotxIotex,
115}
116
117impl Default for BlockchainDescriptor {
118    fn default() -> BlockchainDescriptor {
119        Self::Eth
120    }
121}