carbon-mpl-token-metadata-decoder 1.0.0

MPL Token Metadata Decoder
Documentation
//! This code was AUTOGENERATED using the Codama library.
use {
    crate::types::{
        AuthorizationData, CollectionDetailsToggle, CollectionToggle, Data, RuleSetToggle,
        TokenStandard, UsesToggle,
    },
    solana_pubkey::Pubkey,
};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, Clone, borsh::BorshSerialize, borsh::BorshDeserialize, PartialEq)]
pub enum UpdateArgs {
    V1 {
        new_update_authority: Option<Pubkey>,
        data: Option<Data>,
        primary_sale_happened: Option<bool>,
        is_mutable: Option<bool>,
        collection: CollectionToggle,
        collection_details: CollectionDetailsToggle,
        uses: UsesToggle,
        rule_set: RuleSetToggle,
        authorization_data: Option<AuthorizationData>,
    },
    AsUpdateAuthorityV2 {
        new_update_authority: Option<Pubkey>,
        data: Option<Data>,
        primary_sale_happened: Option<bool>,
        is_mutable: Option<bool>,
        collection: CollectionToggle,
        collection_details: CollectionDetailsToggle,
        uses: UsesToggle,
        rule_set: RuleSetToggle,
        token_standard: Option<TokenStandard>,
        authorization_data: Option<AuthorizationData>,
    },
    AsAuthorityItemDelegateV2 {
        new_update_authority: Option<Pubkey>,
        primary_sale_happened: Option<bool>,
        is_mutable: Option<bool>,
        token_standard: Option<TokenStandard>,
        authorization_data: Option<AuthorizationData>,
    },
    AsCollectionDelegateV2 {
        collection: CollectionToggle,
        authorization_data: Option<AuthorizationData>,
    },
    AsDataDelegateV2 {
        data: Option<Data>,
        authorization_data: Option<AuthorizationData>,
    },
    AsProgrammableConfigDelegateV2 {
        rule_set: RuleSetToggle,
        authorization_data: Option<AuthorizationData>,
    },
    AsDataItemDelegateV2 {
        data: Option<Data>,
        authorization_data: Option<AuthorizationData>,
    },
    AsCollectionItemDelegateV2 {
        collection: CollectionToggle,
        authorization_data: Option<AuthorizationData>,
    },
    AsProgrammableConfigItemDelegateV2 {
        rule_set: RuleSetToggle,
        authorization_data: Option<AuthorizationData>,
    },
}