use {
crate::types::{
MetaplexCollection, MetaplexCollectionDetails, MetaplexData, MetaplexProgrammableConfig,
MetaplexTokenStandard, MetaplexUses,
},
solana_pubkey::Pubkey,
};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, Clone, borsh::BorshSerialize, borsh::BorshDeserialize, PartialEq)]
pub struct MetaplexMetadata {
pub discriminator: u8,
pub update_authority: Pubkey,
pub mint: Pubkey,
pub data: MetaplexData,
pub primary_sale_happened: bool,
pub mutable: bool,
pub edition_nonce: Option<u8>,
pub token_standard: Option<MetaplexTokenStandard>,
pub collection: Option<MetaplexCollection>,
pub uses: Option<MetaplexUses>,
pub collection_details: Option<MetaplexCollectionDetails>,
pub programmable_config: Option<MetaplexProgrammableConfig>,
}