fireblocks_sdk/models/
token_response.rs1use {
10 crate::models,
11 serde::{Deserialize, Serialize},
12};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct TokenResponse {
16 #[serde(rename = "id")]
18 pub id: String,
19 #[serde(rename = "tokenId")]
21 pub token_id: String,
22 #[serde(rename = "standard")]
24 pub standard: String,
25 #[serde(rename = "metadataURI", skip_serializing_if = "Option::is_none")]
27 pub metadata_uri: Option<String>,
28 #[serde(rename = "cachedMetadataURI", skip_serializing_if = "Option::is_none")]
30 pub cached_metadata_uri: Option<String>,
31 #[serde(rename = "media", skip_serializing_if = "Option::is_none")]
33 pub media: Option<Vec<models::MediaEntityResponse>>,
34 #[serde(rename = "spam", skip_serializing_if = "Option::is_none")]
36 pub spam: Option<models::SpamTokenResponse>,
37 #[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 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
44 pub description: Option<String>,
45 #[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#[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}