mpl-token-metadata 1.2.5

Metaplex Metadata
Documentation
#![cfg(feature = "test-bpf")]
mod utils;

use mpl_token_metadata::state::MasterEditionV2 as ProgramME;
use mpl_token_metadata::{error::MetadataError, instruction, state::Key};
use mpl_token_metadata::{state::MAX_MASTER_EDITION_LEN, utils::try_from_slice_checked};
use num_traits::FromPrimitive;
use solana_program::borsh::try_from_slice_unchecked;
use solana_program_test::*;
use solana_sdk::{
    instruction::InstructionError,
    signature::{Keypair, Signer},
    transaction::{Transaction, TransactionError},
    transport::TransportError,
};
use utils::*;
mod serialization {

    use super::*;

    async fn setup(context: &mut ProgramTestContext) -> (Vec<u8>, Vec<u8>) {
        let test_metadata = Metadata::new();
        let test_master_edition = MasterEditionV2::new(&test_metadata);

        test_metadata
            .create(
                context,
                "Test".to_string(),
                "TST".to_string(),
                "uri".to_string(),
                None,
                10,
                false,
            )
            .await
            .unwrap();

        let mint = get_mint(context, &test_master_edition.mint_pubkey).await;

        test_master_edition.create(context, Some(10)).await.unwrap();

        let account = get_account(context, &test_metadata.pubkey).await;
        let me_account = get_account(context, &test_master_edition.pubkey).await;
        return (account.data, me_account.data);
    }
    #[tokio::test]
    async fn success() {
        let mut context = program_test().start_with_context().await;
        let (nft, master) = setup(&mut context).await;
        let otherbytes = master.clone();
        let me: ProgramME = try_from_slice_unchecked(&master).unwrap();
        let me2: ProgramME =
            try_from_slice_checked(&otherbytes, Key::MasterEditionV2, MAX_MASTER_EDITION_LEN)
                .unwrap();
        let me2: ProgramME =
            try_from_slice_checked(&otherbytes, Key::MasterEditionV2, MAX_MASTER_EDITION_LEN)
                .unwrap();
    }
}