pub mod approve_collection_authority_row;
pub mod approve_use_authority_row;
pub mod bubblegum_set_collection_size_row;
pub mod burn_edition_nft_row;
pub mod burn_nft_row;
pub mod burn_row;
pub mod close_accounts_row;
pub mod close_escrow_account_row;
pub mod collect_row;
pub mod convert_master_edition_v1_to_v2_row;
pub mod create_escrow_account_row;
pub mod create_master_edition_row;
pub mod create_master_edition_v3_row;
pub mod create_metadata_account_row;
pub mod create_metadata_account_v2_row;
pub mod create_metadata_account_v3_row;
pub mod create_row;
pub mod delegate_row;
pub mod deprecated_create_master_edition_row;
pub mod deprecated_create_reservation_list_row;
pub mod deprecated_mint_new_edition_from_master_edition_via_printing_token_row;
pub mod deprecated_mint_printing_tokens_row;
pub mod deprecated_mint_printing_tokens_via_token_row;
pub mod deprecated_set_reservation_list_row;
pub mod freeze_delegated_account_row;
pub mod lock_row;
pub mod migrate_row;
pub mod mint_new_edition_from_master_edition_via_token_row;
pub mod mint_new_edition_from_master_edition_via_vault_proxy_row;
pub mod mint_row;
pub mod print_row;
pub mod puff_metadata_row;
pub mod remove_creator_verification_row;
pub mod resize_row;
pub mod revoke_collection_authority_row;
pub mod revoke_row;
pub mod revoke_use_authority_row;
pub mod set_and_verify_collection_row;
pub mod set_and_verify_sized_collection_item_row;
pub mod set_collection_size_row;
pub mod set_token_standard_row;
pub mod sign_metadata_row;
pub mod thaw_delegated_account_row;
pub mod transfer_out_of_escrow_row;
pub mod transfer_row;
pub mod unlock_row;
pub mod unverify_collection_row;
pub mod unverify_row;
pub mod unverify_sized_collection_item_row;
pub mod update_metadata_account_row;
pub mod update_metadata_account_v2_row;
pub mod update_primary_sale_happened_via_token_row;
pub mod update_row;
pub mod r#use_row;
pub mod utilize_row;
pub mod verify_collection_row;
pub mod verify_row;
pub mod verify_sized_collection_item_row;
pub use self::{
approve_collection_authority_row::*, approve_use_authority_row::*,
bubblegum_set_collection_size_row::*, burn_edition_nft_row::*, burn_nft_row::*, burn_row::*,
close_accounts_row::*, close_escrow_account_row::*, collect_row::*,
convert_master_edition_v1_to_v2_row::*, create_escrow_account_row::*,
create_master_edition_row::*, create_master_edition_v3_row::*, create_metadata_account_row::*,
create_metadata_account_v2_row::*, create_metadata_account_v3_row::*, create_row::*,
delegate_row::*, deprecated_create_master_edition_row::*,
deprecated_create_reservation_list_row::*,
deprecated_mint_new_edition_from_master_edition_via_printing_token_row::*,
deprecated_mint_printing_tokens_row::*, deprecated_mint_printing_tokens_via_token_row::*,
deprecated_set_reservation_list_row::*, freeze_delegated_account_row::*, lock_row::*,
migrate_row::*, mint_new_edition_from_master_edition_via_token_row::*,
mint_new_edition_from_master_edition_via_vault_proxy_row::*, mint_row::*, print_row::*,
puff_metadata_row::*, r#use_row::*, remove_creator_verification_row::*, resize_row::*,
revoke_collection_authority_row::*, revoke_row::*, revoke_use_authority_row::*,
set_and_verify_collection_row::*, set_and_verify_sized_collection_item_row::*,
set_collection_size_row::*, set_token_standard_row::*, sign_metadata_row::*,
thaw_delegated_account_row::*, transfer_out_of_escrow_row::*, transfer_row::*, unlock_row::*,
unverify_collection_row::*, unverify_row::*, unverify_sized_collection_item_row::*,
update_metadata_account_row::*, update_metadata_account_v2_row::*,
update_primary_sale_happened_via_token_row::*, update_row::*, utilize_row::*,
verify_collection_row::*, verify_row::*, verify_sized_collection_item_row::*,
};
use super::MplTokenMetadataInstruction;
pub struct MplTokenMetadataInstructionsMigration;
impl sqlx_migrator::Migration<sqlx::Postgres> for MplTokenMetadataInstructionsMigration {
fn app(&self) -> &str {
"mpl-token-metadata"
}
fn name(&self) -> &str {
"mpl_token_metadata_instructions"
}
fn operations(&self) -> Vec<Box<dyn sqlx_migrator::Operation<sqlx::Postgres>>> {
vec![
Box::new(ApproveCollectionAuthorityMigrationOperation),
Box::new(ApproveUseAuthorityMigrationOperation),
Box::new(BubblegumSetCollectionSizeMigrationOperation),
Box::new(BurnMigrationOperation),
Box::new(BurnEditionNftMigrationOperation),
Box::new(BurnNftMigrationOperation),
Box::new(CloseAccountsMigrationOperation),
Box::new(CloseEscrowAccountMigrationOperation),
Box::new(CollectMigrationOperation),
Box::new(ConvertMasterEditionV1ToV2MigrationOperation),
Box::new(CreateMigrationOperation),
Box::new(CreateEscrowAccountMigrationOperation),
Box::new(CreateMasterEditionMigrationOperation),
Box::new(CreateMasterEditionV3MigrationOperation),
Box::new(CreateMetadataAccountMigrationOperation),
Box::new(CreateMetadataAccountV2MigrationOperation),
Box::new(CreateMetadataAccountV3MigrationOperation),
Box::new(DelegateMigrationOperation),
Box::new(DeprecatedCreateMasterEditionMigrationOperation),
Box::new(DeprecatedCreateReservationListMigrationOperation),
Box::new(DeprecatedMintNewEditionFromMasterEditionViaPrintingTokenMigrationOperation),
Box::new(DeprecatedMintPrintingTokensMigrationOperation),
Box::new(DeprecatedMintPrintingTokensViaTokenMigrationOperation),
Box::new(DeprecatedSetReservationListMigrationOperation),
Box::new(FreezeDelegatedAccountMigrationOperation),
Box::new(LockMigrationOperation),
Box::new(MigrateMigrationOperation),
Box::new(MintMigrationOperation),
Box::new(MintNewEditionFromMasterEditionViaTokenMigrationOperation),
Box::new(MintNewEditionFromMasterEditionViaVaultProxyMigrationOperation),
Box::new(PrintMigrationOperation),
Box::new(PuffMetadataMigrationOperation),
Box::new(RemoveCreatorVerificationMigrationOperation),
Box::new(ResizeMigrationOperation),
Box::new(RevokeMigrationOperation),
Box::new(RevokeCollectionAuthorityMigrationOperation),
Box::new(RevokeUseAuthorityMigrationOperation),
Box::new(SetAndVerifyCollectionMigrationOperation),
Box::new(SetAndVerifySizedCollectionItemMigrationOperation),
Box::new(SetCollectionSizeMigrationOperation),
Box::new(SetTokenStandardMigrationOperation),
Box::new(SignMetadataMigrationOperation),
Box::new(ThawDelegatedAccountMigrationOperation),
Box::new(TransferMigrationOperation),
Box::new(TransferOutOfEscrowMigrationOperation),
Box::new(UnlockMigrationOperation),
Box::new(UnverifyMigrationOperation),
Box::new(UnverifyCollectionMigrationOperation),
Box::new(UnverifySizedCollectionItemMigrationOperation),
Box::new(UpdateMigrationOperation),
Box::new(UpdateMetadataAccountMigrationOperation),
Box::new(UpdateMetadataAccountV2MigrationOperation),
Box::new(UpdatePrimarySaleHappenedViaTokenMigrationOperation),
Box::new(UseMigrationOperation),
Box::new(UtilizeMigrationOperation),
Box::new(VerifyMigrationOperation),
Box::new(VerifyCollectionMigrationOperation),
Box::new(VerifySizedCollectionItemMigrationOperation),
]
}
fn parents(&self) -> Vec<Box<dyn sqlx_migrator::Migration<sqlx::Postgres>>> {
vec![]
}
}
pub struct MplTokenMetadataInstructionWithMetadata(
pub MplTokenMetadataInstruction,
pub carbon_core::instruction::InstructionMetadata,
pub Vec<solana_instruction::AccountMeta>,
);
impl
From<(
MplTokenMetadataInstruction,
carbon_core::instruction::InstructionMetadata,
Vec<solana_instruction::AccountMeta>,
)> for MplTokenMetadataInstructionWithMetadata
{
fn from(
value: (
MplTokenMetadataInstruction,
carbon_core::instruction::InstructionMetadata,
Vec<solana_instruction::AccountMeta>,
),
) -> Self {
MplTokenMetadataInstructionWithMetadata(value.0, value.1, value.2)
}
}
#[async_trait::async_trait]
impl carbon_core::postgres::operations::Insert for MplTokenMetadataInstructionWithMetadata {
async fn insert(&self, pool: &sqlx::PgPool) -> carbon_core::error::CarbonResult<()> {
let MplTokenMetadataInstructionWithMetadata(decoded_instruction, metadata, raw_accounts) =
self;
match decoded_instruction {
MplTokenMetadataInstruction::CreateMetadataAccount { data, .. } => {
let row = create_metadata_account_row::CreateMetadataAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::UpdateMetadataAccount { data, .. } => {
let row = update_metadata_account_row::UpdateMetadataAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::DeprecatedCreateMasterEdition { data, .. } => {
let row = deprecated_create_master_edition_row::DeprecatedCreateMasterEditionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::DeprecatedMintNewEditionFromMasterEditionViaPrintingToken { data, .. } => {
let row = deprecated_mint_new_edition_from_master_edition_via_printing_token_row::DeprecatedMintNewEditionFromMasterEditionViaPrintingTokenRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::UpdatePrimarySaleHappenedViaToken { data, .. } => {
let row = update_primary_sale_happened_via_token_row::UpdatePrimarySaleHappenedViaTokenRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::DeprecatedSetReservationList { data, .. } => {
let row = deprecated_set_reservation_list_row::DeprecatedSetReservationListRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::DeprecatedCreateReservationList { data, .. } => {
let row = deprecated_create_reservation_list_row::DeprecatedCreateReservationListRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::SignMetadata { data, .. } => {
let row = sign_metadata_row::SignMetadataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::DeprecatedMintPrintingTokensViaToken { data, .. } => {
let row = deprecated_mint_printing_tokens_via_token_row::DeprecatedMintPrintingTokensViaTokenRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::DeprecatedMintPrintingTokens { data, .. } => {
let row = deprecated_mint_printing_tokens_row::DeprecatedMintPrintingTokensRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CreateMasterEdition { data, .. } => {
let row = create_master_edition_row::CreateMasterEditionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::MintNewEditionFromMasterEditionViaToken { data, .. } => {
let row = mint_new_edition_from_master_edition_via_token_row::MintNewEditionFromMasterEditionViaTokenRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::ConvertMasterEditionV1ToV2 { data, .. } => {
let row = convert_master_edition_v1_to_v2_row::ConvertMasterEditionV1ToV2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::MintNewEditionFromMasterEditionViaVaultProxy { data, .. } => {
let row = mint_new_edition_from_master_edition_via_vault_proxy_row::MintNewEditionFromMasterEditionViaVaultProxyRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::PuffMetadata { data, .. } => {
let row = puff_metadata_row::PuffMetadataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::UpdateMetadataAccountV2 { data, .. } => {
let row = update_metadata_account_v2_row::UpdateMetadataAccountV2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CreateMetadataAccountV2 { data, .. } => {
let row = create_metadata_account_v2_row::CreateMetadataAccountV2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CreateMasterEditionV3 { data, .. } => {
let row = create_master_edition_v3_row::CreateMasterEditionV3Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::VerifyCollection { data, .. } => {
let row = verify_collection_row::VerifyCollectionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Utilize { data, .. } => {
let row = utilize_row::UtilizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::ApproveUseAuthority { data, .. } => {
let row = approve_use_authority_row::ApproveUseAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::RevokeUseAuthority { data, .. } => {
let row = revoke_use_authority_row::RevokeUseAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::UnverifyCollection { data, .. } => {
let row = unverify_collection_row::UnverifyCollectionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::ApproveCollectionAuthority { data, .. } => {
let row = approve_collection_authority_row::ApproveCollectionAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::RevokeCollectionAuthority { data, .. } => {
let row = revoke_collection_authority_row::RevokeCollectionAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::SetAndVerifyCollection { data, .. } => {
let row = set_and_verify_collection_row::SetAndVerifyCollectionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::FreezeDelegatedAccount { data, .. } => {
let row = freeze_delegated_account_row::FreezeDelegatedAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::ThawDelegatedAccount { data, .. } => {
let row = thaw_delegated_account_row::ThawDelegatedAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::RemoveCreatorVerification { data, .. } => {
let row = remove_creator_verification_row::RemoveCreatorVerificationRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::BurnNft { data, .. } => {
let row = burn_nft_row::BurnNftRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::VerifySizedCollectionItem { data, .. } => {
let row = verify_sized_collection_item_row::VerifySizedCollectionItemRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::UnverifySizedCollectionItem { data, .. } => {
let row = unverify_sized_collection_item_row::UnverifySizedCollectionItemRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::SetAndVerifySizedCollectionItem { data, .. } => {
let row = set_and_verify_sized_collection_item_row::SetAndVerifySizedCollectionItemRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CreateMetadataAccountV3 { data, .. } => {
let row = create_metadata_account_v3_row::CreateMetadataAccountV3Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::SetCollectionSize { data, .. } => {
let row = set_collection_size_row::SetCollectionSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::SetTokenStandard { data, .. } => {
let row = set_token_standard_row::SetTokenStandardRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::BubblegumSetCollectionSize { data, .. } => {
let row = bubblegum_set_collection_size_row::BubblegumSetCollectionSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::BurnEditionNft { data, .. } => {
let row = burn_edition_nft_row::BurnEditionNftRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CreateEscrowAccount { data, .. } => {
let row = create_escrow_account_row::CreateEscrowAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CloseEscrowAccount { data, .. } => {
let row = close_escrow_account_row::CloseEscrowAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::TransferOutOfEscrow { data, .. } => {
let row = transfer_out_of_escrow_row::TransferOutOfEscrowRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Burn { data, .. } => {
let row = burn_row::BurnRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Create { data, .. } => {
let row = create_row::CreateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Mint { data, .. } => {
let row = mint_row::MintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Delegate { data, .. } => {
let row = delegate_row::DelegateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Revoke { data, .. } => {
let row = revoke_row::RevokeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Lock { data, .. } => {
let row = lock_row::LockRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Unlock { data, .. } => {
let row = unlock_row::UnlockRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Migrate { data, .. } => {
let row = migrate_row::MigrateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Transfer { data, .. } => {
let row = transfer_row::TransferRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Update { data, .. } => {
let row = update_row::UpdateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Use { data, .. } => {
let row = r#use_row::UseRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Verify { data, .. } => {
let row = verify_row::VerifyRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Unverify { data, .. } => {
let row = unverify_row::UnverifyRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Collect { data, .. } => {
let row = collect_row::CollectRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Print { data, .. } => {
let row = print_row::PrintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Resize { data, .. } => {
let row = resize_row::ResizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CloseAccounts { data, .. } => {
let row = close_accounts_row::CloseAccountsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
}
}
}
#[async_trait::async_trait]
impl carbon_core::postgres::operations::Upsert for MplTokenMetadataInstructionWithMetadata {
async fn upsert(&self, pool: &sqlx::PgPool) -> carbon_core::error::CarbonResult<()> {
let MplTokenMetadataInstructionWithMetadata(decoded_instruction, metadata, raw_accounts) =
self;
match decoded_instruction {
MplTokenMetadataInstruction::CreateMetadataAccount { data, .. } => {
let row = create_metadata_account_row::CreateMetadataAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::UpdateMetadataAccount { data, .. } => {
let row = update_metadata_account_row::UpdateMetadataAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::DeprecatedCreateMasterEdition { data, .. } => {
let row = deprecated_create_master_edition_row::DeprecatedCreateMasterEditionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::DeprecatedMintNewEditionFromMasterEditionViaPrintingToken { data, .. } => {
let row = deprecated_mint_new_edition_from_master_edition_via_printing_token_row::DeprecatedMintNewEditionFromMasterEditionViaPrintingTokenRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::UpdatePrimarySaleHappenedViaToken { data, .. } => {
let row = update_primary_sale_happened_via_token_row::UpdatePrimarySaleHappenedViaTokenRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::DeprecatedSetReservationList { data, .. } => {
let row = deprecated_set_reservation_list_row::DeprecatedSetReservationListRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::DeprecatedCreateReservationList { data, .. } => {
let row = deprecated_create_reservation_list_row::DeprecatedCreateReservationListRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::SignMetadata { data, .. } => {
let row = sign_metadata_row::SignMetadataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::DeprecatedMintPrintingTokensViaToken { data, .. } => {
let row = deprecated_mint_printing_tokens_via_token_row::DeprecatedMintPrintingTokensViaTokenRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::DeprecatedMintPrintingTokens { data, .. } => {
let row = deprecated_mint_printing_tokens_row::DeprecatedMintPrintingTokensRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CreateMasterEdition { data, .. } => {
let row = create_master_edition_row::CreateMasterEditionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::MintNewEditionFromMasterEditionViaToken { data, .. } => {
let row = mint_new_edition_from_master_edition_via_token_row::MintNewEditionFromMasterEditionViaTokenRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::ConvertMasterEditionV1ToV2 { data, .. } => {
let row = convert_master_edition_v1_to_v2_row::ConvertMasterEditionV1ToV2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::MintNewEditionFromMasterEditionViaVaultProxy { data, .. } => {
let row = mint_new_edition_from_master_edition_via_vault_proxy_row::MintNewEditionFromMasterEditionViaVaultProxyRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::PuffMetadata { data, .. } => {
let row = puff_metadata_row::PuffMetadataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::UpdateMetadataAccountV2 { data, .. } => {
let row = update_metadata_account_v2_row::UpdateMetadataAccountV2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CreateMetadataAccountV2 { data, .. } => {
let row = create_metadata_account_v2_row::CreateMetadataAccountV2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CreateMasterEditionV3 { data, .. } => {
let row = create_master_edition_v3_row::CreateMasterEditionV3Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::VerifyCollection { data, .. } => {
let row = verify_collection_row::VerifyCollectionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Utilize { data, .. } => {
let row = utilize_row::UtilizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::ApproveUseAuthority { data, .. } => {
let row = approve_use_authority_row::ApproveUseAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::RevokeUseAuthority { data, .. } => {
let row = revoke_use_authority_row::RevokeUseAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::UnverifyCollection { data, .. } => {
let row = unverify_collection_row::UnverifyCollectionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::ApproveCollectionAuthority { data, .. } => {
let row = approve_collection_authority_row::ApproveCollectionAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::RevokeCollectionAuthority { data, .. } => {
let row = revoke_collection_authority_row::RevokeCollectionAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::SetAndVerifyCollection { data, .. } => {
let row = set_and_verify_collection_row::SetAndVerifyCollectionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::FreezeDelegatedAccount { data, .. } => {
let row = freeze_delegated_account_row::FreezeDelegatedAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::ThawDelegatedAccount { data, .. } => {
let row = thaw_delegated_account_row::ThawDelegatedAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::RemoveCreatorVerification { data, .. } => {
let row = remove_creator_verification_row::RemoveCreatorVerificationRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::BurnNft { data, .. } => {
let row = burn_nft_row::BurnNftRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::VerifySizedCollectionItem { data, .. } => {
let row = verify_sized_collection_item_row::VerifySizedCollectionItemRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::UnverifySizedCollectionItem { data, .. } => {
let row = unverify_sized_collection_item_row::UnverifySizedCollectionItemRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::SetAndVerifySizedCollectionItem { data, .. } => {
let row = set_and_verify_sized_collection_item_row::SetAndVerifySizedCollectionItemRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CreateMetadataAccountV3 { data, .. } => {
let row = create_metadata_account_v3_row::CreateMetadataAccountV3Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::SetCollectionSize { data, .. } => {
let row = set_collection_size_row::SetCollectionSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::SetTokenStandard { data, .. } => {
let row = set_token_standard_row::SetTokenStandardRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::BubblegumSetCollectionSize { data, .. } => {
let row = bubblegum_set_collection_size_row::BubblegumSetCollectionSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::BurnEditionNft { data, .. } => {
let row = burn_edition_nft_row::BurnEditionNftRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CreateEscrowAccount { data, .. } => {
let row = create_escrow_account_row::CreateEscrowAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CloseEscrowAccount { data, .. } => {
let row = close_escrow_account_row::CloseEscrowAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::TransferOutOfEscrow { data, .. } => {
let row = transfer_out_of_escrow_row::TransferOutOfEscrowRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Burn { data, .. } => {
let row = burn_row::BurnRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Create { data, .. } => {
let row = create_row::CreateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Mint { data, .. } => {
let row = mint_row::MintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Delegate { data, .. } => {
let row = delegate_row::DelegateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Revoke { data, .. } => {
let row = revoke_row::RevokeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Lock { data, .. } => {
let row = lock_row::LockRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Unlock { data, .. } => {
let row = unlock_row::UnlockRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Migrate { data, .. } => {
let row = migrate_row::MigrateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Transfer { data, .. } => {
let row = transfer_row::TransferRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Update { data, .. } => {
let row = update_row::UpdateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Use { data, .. } => {
let row = r#use_row::UseRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Verify { data, .. } => {
let row = verify_row::VerifyRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Unverify { data, .. } => {
let row = unverify_row::UnverifyRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Collect { data, .. } => {
let row = collect_row::CollectRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Print { data, .. } => {
let row = print_row::PrintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::Resize { data, .. } => {
let row = resize_row::ResizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
MplTokenMetadataInstruction::CloseAccounts { data, .. } => {
let row = close_accounts_row::CloseAccountsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
}
}
}