#[derive(ShankAccount)] pub struct Metadata { pub key: Key, pub update_authority: Pubkey, pub mint: Pubkey, pub data: Data, // Immutable, once flipped, all sales of this metadata are considered secondary. pub primary_sale_happened: bool, // Whether or not the data struct is mutable, default is not pub is_mutable: bool, /// nonce for easy calculation of editions, if present pub edition_nonce: Option, /// Since we cannot easily change Metadata, we add the new DataV2 fields here at the end. pub token_standard: Option, /// Collection pub collection: Option, /// Uses pub uses: Option, }