mpl_token_metadata/state/
data.rs1use super::*;
2
3#[repr(C)]
4#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))]
5#[derive(BorshSerialize, BorshDeserialize, Default, PartialEq, Eq, Debug, Clone)]
6pub struct Data {
7 pub name: String,
9 pub symbol: String,
11 pub uri: String,
13 pub seller_fee_basis_points: u16,
15 pub creators: Option<Vec<Creator>>,
17}
18
19#[repr(C)]
20#[cfg_attr(feature = "serde-feature", derive(Serialize, Deserialize))]
21#[derive(BorshSerialize, BorshDeserialize, PartialEq, Eq, Debug, Clone)]
22pub struct DataV2 {
23 pub name: String,
25 pub symbol: String,
27 pub uri: String,
29 pub seller_fee_basis_points: u16,
31 pub creators: Option<Vec<Creator>>,
33 pub collection: Option<Collection>,
35 pub uses: Option<Uses>,
37}
38
39impl DataV2 {
40 pub fn to_v1(&self) -> Data {
41 let ns = self.clone();
42 Data {
43 name: ns.name,
44 symbol: ns.symbol,
45 uri: ns.uri,
46 seller_fee_basis_points: ns.seller_fee_basis_points,
47 creators: ns.creators,
48 }
49 }
50}