use {
crate::models,
serde::{Deserialize, Serialize},
};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CollectionOwnershipResponse {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "symbol", skip_serializing_if = "Option::is_none")]
pub symbol: Option<String>,
#[serde(rename = "standard", skip_serializing_if = "Option::is_none")]
pub standard: Option<String>,
#[serde(rename = "blockchainDescriptor")]
pub blockchain_descriptor: BlockchainDescriptor,
#[serde(rename = "contractAddress", skip_serializing_if = "Option::is_none")]
pub contract_address: Option<String>,
}
impl CollectionOwnershipResponse {
pub fn new(
id: String,
blockchain_descriptor: BlockchainDescriptor,
) -> CollectionOwnershipResponse {
CollectionOwnershipResponse {
id,
name: None,
symbol: None,
standard: None,
blockchain_descriptor,
contract_address: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum BlockchainDescriptor {
#[serde(rename = "ETH")]
Eth,
#[serde(rename = "ETH_TEST3")]
EthTest3,
#[serde(rename = "ETH_TEST5")]
EthTest5,
#[serde(rename = "ETH_TEST6")]
EthTest6,
#[serde(rename = "POLYGON")]
Polygon,
#[serde(rename = "POLYGON_TEST_MUMBAI")]
PolygonTestMumbai,
#[serde(rename = "AMOY_POLYGON_TEST")]
AmoyPolygonTest,
#[serde(rename = "XTZ")]
Xtz,
#[serde(rename = "XTZ_TEST")]
XtzTest,
#[serde(rename = "BASECHAIN_ETH")]
BasechainEth,
#[serde(rename = "BASECHAIN_ETH_TEST3")]
BasechainEthTest3,
#[serde(rename = "BASECHAIN_ETH_TEST5")]
BasechainEthTest5,
#[serde(rename = "ETHERLINK")]
Etherlink,
#[serde(rename = "ETHERLINK_TEST")]
EtherlinkTest,
#[serde(rename = "MANTLE")]
Mantle,
#[serde(rename = "MANTLE_TEST")]
MantleTest,
#[serde(rename = "GUN_GUNZILLA_TEST")]
GunGunzillaTest,
#[serde(rename = "ETH_SONEIUM")]
EthSoneium,
#[serde(rename = "SONEIUM_MINATO_TEST")]
SoneiumMinatoTest,
#[serde(rename = "IOTX_IOTEX")]
IotxIotex,
}
impl Default for BlockchainDescriptor {
fn default() -> BlockchainDescriptor {
Self::Eth
}
}