carbon-mpl-token-metadata-decoder 1.0.0

MPL Token Metadata Decoder
Documentation
//! This code was AUTOGENERATED using the Codama library.
pub mod collection_authority_record_schema;
pub mod edition_marker_schema;
pub mod edition_marker_v2_schema;
pub mod edition_schema;
pub mod holder_delegate_record_schema;
pub mod master_edition_v1_schema;
pub mod master_edition_v2_schema;
pub mod metadata_delegate_record_schema;
pub mod metadata_schema;
pub mod reservation_list_v1_schema;
pub mod reservation_list_v2_schema;
pub mod token_owned_escrow_schema;
pub mod token_record_schema;
pub mod use_authority_record_schema;

use juniper::GraphQLObject;
pub use {
    collection_authority_record_schema::*, edition_marker_schema::*, edition_marker_v2_schema::*,
    edition_schema::*, holder_delegate_record_schema::*, master_edition_v1_schema::*,
    master_edition_v2_schema::*, metadata_delegate_record_schema::*, metadata_schema::*,
    reservation_list_v1_schema::*, reservation_list_v2_schema::*, token_owned_escrow_schema::*,
    token_record_schema::*, use_authority_record_schema::*,
};

#[derive(Debug, Clone, GraphQLObject)]
#[graphql(name = "AccountMetadata")]
pub struct AccountMetadataGraphQL {
    pub pubkey: carbon_core::graphql::primitives::Pubkey,
    pub slot: Option<carbon_core::graphql::primitives::U64>,
}

impl From<carbon_core::postgres::metadata::AccountRowMetadata> for AccountMetadataGraphQL {
    fn from(metadata: carbon_core::postgres::metadata::AccountRowMetadata) -> Self {
        Self {
            pubkey: carbon_core::graphql::primitives::Pubkey(*metadata.pubkey),
            slot: metadata
                .slot
                .map(|v| carbon_core::graphql::primitives::U64(*v)),
        }
    }
}