pub mod amount_to_ui_amount_row;
pub mod apply_confidential_pending_balance_row;
pub mod approve_checked_row;
pub mod approve_confidential_transfer_account_row;
pub mod approve_row;
pub mod burn_checked_row;
pub mod burn_row;
pub mod close_account_row;
pub mod confidential_deposit_row;
pub mod confidential_transfer_row;
pub mod confidential_transfer_with_fee_row;
pub mod confidential_withdraw_row;
pub mod configure_confidential_transfer_account_row;
pub mod create_native_mint_row;
pub mod disable_confidential_credits_row;
pub mod disable_cpi_guard_row;
pub mod disable_harvest_to_mint_row;
pub mod disable_memo_transfers_row;
pub mod disable_non_confidential_credits_row;
pub mod emit_token_metadata_row;
pub mod empty_confidential_transfer_account_row;
pub mod enable_confidential_credits_row;
pub mod enable_cpi_guard_row;
pub mod enable_harvest_to_mint_row;
pub mod enable_memo_transfers_row;
pub mod enable_non_confidential_credits_row;
pub mod freeze_account_row;
pub mod get_account_data_size_row;
pub mod harvest_withheld_tokens_to_mint_for_confidential_transfer_fee_row;
pub mod harvest_withheld_tokens_to_mint_row;
pub mod initialize_account2_row;
pub mod initialize_account3_row;
pub mod initialize_account_row;
pub mod initialize_confidential_transfer_fee_row;
pub mod initialize_confidential_transfer_mint_row;
pub mod initialize_default_account_state_row;
pub mod initialize_group_member_pointer_row;
pub mod initialize_group_pointer_row;
pub mod initialize_immutable_owner_row;
pub mod initialize_interest_bearing_mint_row;
pub mod initialize_metadata_pointer_row;
pub mod initialize_mint2_row;
pub mod initialize_mint_close_authority_row;
pub mod initialize_mint_row;
pub mod initialize_multisig2_row;
pub mod initialize_multisig_row;
pub mod initialize_non_transferable_mint_row;
pub mod initialize_pausable_config_row;
pub mod initialize_permanent_delegate_row;
pub mod initialize_permissioned_burn_row;
pub mod initialize_scaled_ui_amount_mint_row;
pub mod initialize_token_group_member_row;
pub mod initialize_token_group_row;
pub mod initialize_token_metadata_row;
pub mod initialize_transfer_fee_config_row;
pub mod initialize_transfer_hook_row;
pub mod mint_to_checked_row;
pub mod mint_to_row;
pub mod pause_row;
pub mod permissioned_burn_checked_row;
pub mod permissioned_burn_row;
pub mod reallocate_row;
pub mod remove_token_metadata_key_row;
pub mod resume_row;
pub mod revoke_row;
pub mod set_authority_row;
pub mod set_transfer_fee_row;
pub mod sync_native_row;
pub mod thaw_account_row;
pub mod transfer_checked_row;
pub mod transfer_checked_with_fee_row;
pub mod transfer_row;
pub mod ui_amount_to_amount_row;
pub mod unwrap_lamports_row;
pub mod update_confidential_transfer_mint_row;
pub mod update_default_account_state_row;
pub mod update_group_member_pointer_row;
pub mod update_group_pointer_row;
pub mod update_metadata_pointer_row;
pub mod update_multiplier_scaled_ui_mint_row;
pub mod update_rate_interest_bearing_mint_row;
pub mod update_token_group_max_size_row;
pub mod update_token_group_update_authority_row;
pub mod update_token_metadata_field_row;
pub mod update_token_metadata_update_authority_row;
pub mod update_transfer_hook_row;
pub mod withdraw_excess_lamports_row;
pub mod withdraw_withheld_tokens_from_accounts_for_confidential_transfer_fee_row;
pub mod withdraw_withheld_tokens_from_accounts_row;
pub mod withdraw_withheld_tokens_from_mint_for_confidential_transfer_fee_row;
pub mod withdraw_withheld_tokens_from_mint_row;
pub use self::{
amount_to_ui_amount_row::*, apply_confidential_pending_balance_row::*, approve_checked_row::*,
approve_confidential_transfer_account_row::*, approve_row::*, burn_checked_row::*, burn_row::*,
close_account_row::*, confidential_deposit_row::*, confidential_transfer_row::*,
confidential_transfer_with_fee_row::*, confidential_withdraw_row::*,
configure_confidential_transfer_account_row::*, create_native_mint_row::*,
disable_confidential_credits_row::*, disable_cpi_guard_row::*, disable_harvest_to_mint_row::*,
disable_memo_transfers_row::*, disable_non_confidential_credits_row::*,
emit_token_metadata_row::*, empty_confidential_transfer_account_row::*,
enable_confidential_credits_row::*, enable_cpi_guard_row::*, enable_harvest_to_mint_row::*,
enable_memo_transfers_row::*, enable_non_confidential_credits_row::*, freeze_account_row::*,
get_account_data_size_row::*,
harvest_withheld_tokens_to_mint_for_confidential_transfer_fee_row::*,
harvest_withheld_tokens_to_mint_row::*, initialize_account2_row::*, initialize_account3_row::*,
initialize_account_row::*, initialize_confidential_transfer_fee_row::*,
initialize_confidential_transfer_mint_row::*, initialize_default_account_state_row::*,
initialize_group_member_pointer_row::*, initialize_group_pointer_row::*,
initialize_immutable_owner_row::*, initialize_interest_bearing_mint_row::*,
initialize_metadata_pointer_row::*, initialize_mint2_row::*,
initialize_mint_close_authority_row::*, initialize_mint_row::*, initialize_multisig2_row::*,
initialize_multisig_row::*, initialize_non_transferable_mint_row::*,
initialize_pausable_config_row::*, initialize_permanent_delegate_row::*,
initialize_permissioned_burn_row::*, initialize_scaled_ui_amount_mint_row::*,
initialize_token_group_member_row::*, initialize_token_group_row::*,
initialize_token_metadata_row::*, initialize_transfer_fee_config_row::*,
initialize_transfer_hook_row::*, mint_to_checked_row::*, mint_to_row::*, pause_row::*,
permissioned_burn_checked_row::*, permissioned_burn_row::*, reallocate_row::*,
remove_token_metadata_key_row::*, resume_row::*, revoke_row::*, set_authority_row::*,
set_transfer_fee_row::*, sync_native_row::*, thaw_account_row::*, transfer_checked_row::*,
transfer_checked_with_fee_row::*, transfer_row::*, ui_amount_to_amount_row::*,
unwrap_lamports_row::*, update_confidential_transfer_mint_row::*,
update_default_account_state_row::*, update_group_member_pointer_row::*,
update_group_pointer_row::*, update_metadata_pointer_row::*,
update_multiplier_scaled_ui_mint_row::*, update_rate_interest_bearing_mint_row::*,
update_token_group_max_size_row::*, update_token_group_update_authority_row::*,
update_token_metadata_field_row::*, update_token_metadata_update_authority_row::*,
update_transfer_hook_row::*, withdraw_excess_lamports_row::*,
withdraw_withheld_tokens_from_accounts_for_confidential_transfer_fee_row::*,
withdraw_withheld_tokens_from_accounts_row::*,
withdraw_withheld_tokens_from_mint_for_confidential_transfer_fee_row::*,
withdraw_withheld_tokens_from_mint_row::*,
};
use super::Token2022Instruction;
pub struct Token2022InstructionsMigration;
impl sqlx_migrator::Migration<sqlx::Postgres> for Token2022InstructionsMigration {
fn app(&self) -> &str {
"token-2022"
}
fn name(&self) -> &str {
"token_2022_instructions"
}
fn operations(&self) -> Vec<Box<dyn sqlx_migrator::Operation<sqlx::Postgres>>> {
vec![
Box::new(AmountToUiAmountMigrationOperation),
Box::new(ApplyConfidentialPendingBalanceMigrationOperation),
Box::new(ApproveMigrationOperation),
Box::new(ApproveCheckedMigrationOperation),
Box::new(ApproveConfidentialTransferAccountMigrationOperation),
Box::new(BurnMigrationOperation),
Box::new(BurnCheckedMigrationOperation),
Box::new(CloseAccountMigrationOperation),
Box::new(ConfidentialDepositMigrationOperation),
Box::new(ConfidentialTransferMigrationOperation),
Box::new(ConfidentialTransferWithFeeMigrationOperation),
Box::new(ConfidentialWithdrawMigrationOperation),
Box::new(ConfigureConfidentialTransferAccountMigrationOperation),
Box::new(CreateNativeMintMigrationOperation),
Box::new(DisableConfidentialCreditsMigrationOperation),
Box::new(DisableCpiGuardMigrationOperation),
Box::new(DisableHarvestToMintMigrationOperation),
Box::new(DisableMemoTransfersMigrationOperation),
Box::new(DisableNonConfidentialCreditsMigrationOperation),
Box::new(EmitTokenMetadataMigrationOperation),
Box::new(EmptyConfidentialTransferAccountMigrationOperation),
Box::new(EnableConfidentialCreditsMigrationOperation),
Box::new(EnableCpiGuardMigrationOperation),
Box::new(EnableHarvestToMintMigrationOperation),
Box::new(EnableMemoTransfersMigrationOperation),
Box::new(EnableNonConfidentialCreditsMigrationOperation),
Box::new(FreezeAccountMigrationOperation),
Box::new(GetAccountDataSizeMigrationOperation),
Box::new(HarvestWithheldTokensToMintMigrationOperation),
Box::new(HarvestWithheldTokensToMintForConfidentialTransferFeeMigrationOperation),
Box::new(InitializeAccountMigrationOperation),
Box::new(InitializeAccount2MigrationOperation),
Box::new(InitializeAccount3MigrationOperation),
Box::new(InitializeConfidentialTransferFeeMigrationOperation),
Box::new(InitializeConfidentialTransferMintMigrationOperation),
Box::new(InitializeDefaultAccountStateMigrationOperation),
Box::new(InitializeGroupMemberPointerMigrationOperation),
Box::new(InitializeGroupPointerMigrationOperation),
Box::new(InitializeImmutableOwnerMigrationOperation),
Box::new(InitializeInterestBearingMintMigrationOperation),
Box::new(InitializeMetadataPointerMigrationOperation),
Box::new(InitializeMintMigrationOperation),
Box::new(InitializeMint2MigrationOperation),
Box::new(InitializeMintCloseAuthorityMigrationOperation),
Box::new(InitializeMultisigMigrationOperation),
Box::new(InitializeMultisig2MigrationOperation),
Box::new(InitializeNonTransferableMintMigrationOperation),
Box::new(InitializePausableConfigMigrationOperation),
Box::new(InitializePermanentDelegateMigrationOperation),
Box::new(InitializePermissionedBurnMigrationOperation),
Box::new(InitializeScaledUiAmountMintMigrationOperation),
Box::new(InitializeTokenGroupMigrationOperation),
Box::new(InitializeTokenGroupMemberMigrationOperation),
Box::new(InitializeTokenMetadataMigrationOperation),
Box::new(InitializeTransferFeeConfigMigrationOperation),
Box::new(InitializeTransferHookMigrationOperation),
Box::new(MintToMigrationOperation),
Box::new(MintToCheckedMigrationOperation),
Box::new(PauseMigrationOperation),
Box::new(PermissionedBurnMigrationOperation),
Box::new(PermissionedBurnCheckedMigrationOperation),
Box::new(ReallocateMigrationOperation),
Box::new(RemoveTokenMetadataKeyMigrationOperation),
Box::new(ResumeMigrationOperation),
Box::new(RevokeMigrationOperation),
Box::new(SetAuthorityMigrationOperation),
Box::new(SetTransferFeeMigrationOperation),
Box::new(SyncNativeMigrationOperation),
Box::new(ThawAccountMigrationOperation),
Box::new(TransferMigrationOperation),
Box::new(TransferCheckedMigrationOperation),
Box::new(TransferCheckedWithFeeMigrationOperation),
Box::new(UiAmountToAmountMigrationOperation),
Box::new(UnwrapLamportsMigrationOperation),
Box::new(UpdateConfidentialTransferMintMigrationOperation),
Box::new(UpdateDefaultAccountStateMigrationOperation),
Box::new(UpdateGroupMemberPointerMigrationOperation),
Box::new(UpdateGroupPointerMigrationOperation),
Box::new(UpdateMetadataPointerMigrationOperation),
Box::new(UpdateMultiplierScaledUiMintMigrationOperation),
Box::new(UpdateRateInterestBearingMintMigrationOperation),
Box::new(UpdateTokenGroupMaxSizeMigrationOperation),
Box::new(UpdateTokenGroupUpdateAuthorityMigrationOperation),
Box::new(UpdateTokenMetadataFieldMigrationOperation),
Box::new(UpdateTokenMetadataUpdateAuthorityMigrationOperation),
Box::new(UpdateTransferHookMigrationOperation),
Box::new(WithdrawExcessLamportsMigrationOperation),
Box::new(WithdrawWithheldTokensFromAccountsMigrationOperation),
Box::new(
WithdrawWithheldTokensFromAccountsForConfidentialTransferFeeMigrationOperation,
),
Box::new(WithdrawWithheldTokensFromMintMigrationOperation),
Box::new(WithdrawWithheldTokensFromMintForConfidentialTransferFeeMigrationOperation),
]
}
fn parents(&self) -> Vec<Box<dyn sqlx_migrator::Migration<sqlx::Postgres>>> {
vec![]
}
}
pub struct Token2022InstructionWithMetadata(
pub Token2022Instruction,
pub carbon_core::instruction::InstructionMetadata,
pub Vec<solana_instruction::AccountMeta>,
);
impl
From<(
Token2022Instruction,
carbon_core::instruction::InstructionMetadata,
Vec<solana_instruction::AccountMeta>,
)> for Token2022InstructionWithMetadata
{
fn from(
value: (
Token2022Instruction,
carbon_core::instruction::InstructionMetadata,
Vec<solana_instruction::AccountMeta>,
),
) -> Self {
Token2022InstructionWithMetadata(value.0, value.1, value.2)
}
}
#[async_trait::async_trait]
impl carbon_core::postgres::operations::Insert for Token2022InstructionWithMetadata {
async fn insert(&self, pool: &sqlx::PgPool) -> carbon_core::error::CarbonResult<()> {
let Token2022InstructionWithMetadata(decoded_instruction, metadata, raw_accounts) = self;
match decoded_instruction {
Token2022Instruction::InitializeMint { data, .. } => {
let row = initialize_mint_row::InitializeMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeAccount { data, .. } => {
let row = initialize_account_row::InitializeAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeMultisig { data, .. } => {
let row = initialize_multisig_row::InitializeMultisigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::Transfer { data, .. } => {
let row = transfer_row::TransferRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::Approve { data, .. } => {
let row = approve_row::ApproveRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::Revoke { data, .. } => {
let row = revoke_row::RevokeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::SetAuthority { data, .. } => {
let row = set_authority_row::SetAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::MintTo { data, .. } => {
let row = mint_to_row::MintToRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::Burn { data, .. } => {
let row = burn_row::BurnRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::CloseAccount { data, .. } => {
let row = close_account_row::CloseAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::FreezeAccount { data, .. } => {
let row = freeze_account_row::FreezeAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::ThawAccount { data, .. } => {
let row = thaw_account_row::ThawAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::TransferChecked { data, .. } => {
let row = transfer_checked_row::TransferCheckedRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::ApproveChecked { data, .. } => {
let row = approve_checked_row::ApproveCheckedRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::MintToChecked { data, .. } => {
let row = mint_to_checked_row::MintToCheckedRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::BurnChecked { data, .. } => {
let row = burn_checked_row::BurnCheckedRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeAccount2 { data, .. } => {
let row = initialize_account2_row::InitializeAccount2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::SyncNative { data, .. } => {
let row = sync_native_row::SyncNativeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeAccount3 { data, .. } => {
let row = initialize_account3_row::InitializeAccount3Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeMultisig2 { data, .. } => {
let row = initialize_multisig2_row::InitializeMultisig2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeMint2 { data, .. } => {
let row = initialize_mint2_row::InitializeMint2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::GetAccountDataSize { data, .. } => {
let row = get_account_data_size_row::GetAccountDataSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeImmutableOwner { data, .. } => {
let row = initialize_immutable_owner_row::InitializeImmutableOwnerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::AmountToUiAmount { data, .. } => {
let row = amount_to_ui_amount_row::AmountToUiAmountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UiAmountToAmount { data, .. } => {
let row = ui_amount_to_amount_row::UiAmountToAmountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeMintCloseAuthority { data, .. } => {
let row = initialize_mint_close_authority_row::InitializeMintCloseAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeTransferFeeConfig { data, .. } => {
let row = initialize_transfer_fee_config_row::InitializeTransferFeeConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::TransferCheckedWithFee { data, .. } => {
let row = transfer_checked_with_fee_row::TransferCheckedWithFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::WithdrawWithheldTokensFromMint { data, .. } => {
let row = withdraw_withheld_tokens_from_mint_row::WithdrawWithheldTokensFromMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::WithdrawWithheldTokensFromAccounts { data, .. } => {
let row = withdraw_withheld_tokens_from_accounts_row::WithdrawWithheldTokensFromAccountsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::HarvestWithheldTokensToMint { data, .. } => {
let row = harvest_withheld_tokens_to_mint_row::HarvestWithheldTokensToMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::SetTransferFee { data, .. } => {
let row = set_transfer_fee_row::SetTransferFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeConfidentialTransferMint { data, .. } => {
let row = initialize_confidential_transfer_mint_row::InitializeConfidentialTransferMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateConfidentialTransferMint { data, .. } => {
let row = update_confidential_transfer_mint_row::UpdateConfidentialTransferMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::ConfigureConfidentialTransferAccount { data, .. } => {
let row = configure_confidential_transfer_account_row::ConfigureConfidentialTransferAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::ApproveConfidentialTransferAccount { data, .. } => {
let row = approve_confidential_transfer_account_row::ApproveConfidentialTransferAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::EmptyConfidentialTransferAccount { data, .. } => {
let row = empty_confidential_transfer_account_row::EmptyConfidentialTransferAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::ConfidentialDeposit { data, .. } => {
let row = confidential_deposit_row::ConfidentialDepositRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::ConfidentialWithdraw { data, .. } => {
let row = confidential_withdraw_row::ConfidentialWithdrawRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::ConfidentialTransfer { data, .. } => {
let row = confidential_transfer_row::ConfidentialTransferRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::ApplyConfidentialPendingBalance { data, .. } => {
let row = apply_confidential_pending_balance_row::ApplyConfidentialPendingBalanceRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::EnableConfidentialCredits { data, .. } => {
let row = enable_confidential_credits_row::EnableConfidentialCreditsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::DisableConfidentialCredits { data, .. } => {
let row = disable_confidential_credits_row::DisableConfidentialCreditsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::EnableNonConfidentialCredits { data, .. } => {
let row = enable_non_confidential_credits_row::EnableNonConfidentialCreditsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::DisableNonConfidentialCredits { data, .. } => {
let row = disable_non_confidential_credits_row::DisableNonConfidentialCreditsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::ConfidentialTransferWithFee { data, .. } => {
let row = confidential_transfer_with_fee_row::ConfidentialTransferWithFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeDefaultAccountState { data, .. } => {
let row = initialize_default_account_state_row::InitializeDefaultAccountStateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateDefaultAccountState { data, .. } => {
let row = update_default_account_state_row::UpdateDefaultAccountStateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::Reallocate { data, .. } => {
let row = reallocate_row::ReallocateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::EnableMemoTransfers { data, .. } => {
let row = enable_memo_transfers_row::EnableMemoTransfersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::DisableMemoTransfers { data, .. } => {
let row = disable_memo_transfers_row::DisableMemoTransfersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::CreateNativeMint { data, .. } => {
let row = create_native_mint_row::CreateNativeMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeNonTransferableMint { data, .. } => {
let row = initialize_non_transferable_mint_row::InitializeNonTransferableMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeInterestBearingMint { data, .. } => {
let row = initialize_interest_bearing_mint_row::InitializeInterestBearingMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateRateInterestBearingMint { data, .. } => {
let row = update_rate_interest_bearing_mint_row::UpdateRateInterestBearingMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::EnableCpiGuard { data, .. } => {
let row = enable_cpi_guard_row::EnableCpiGuardRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::DisableCpiGuard { data, .. } => {
let row = disable_cpi_guard_row::DisableCpiGuardRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializePermanentDelegate { data, .. } => {
let row = initialize_permanent_delegate_row::InitializePermanentDelegateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeTransferHook { data, .. } => {
let row = initialize_transfer_hook_row::InitializeTransferHookRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateTransferHook { data, .. } => {
let row = update_transfer_hook_row::UpdateTransferHookRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeConfidentialTransferFee { data, .. } => {
let row = initialize_confidential_transfer_fee_row::InitializeConfidentialTransferFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::WithdrawWithheldTokensFromMintForConfidentialTransferFee { data, .. } => {
let row = withdraw_withheld_tokens_from_mint_for_confidential_transfer_fee_row::WithdrawWithheldTokensFromMintForConfidentialTransferFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::WithdrawWithheldTokensFromAccountsForConfidentialTransferFee { data, .. } => {
let row = withdraw_withheld_tokens_from_accounts_for_confidential_transfer_fee_row::WithdrawWithheldTokensFromAccountsForConfidentialTransferFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::HarvestWithheldTokensToMintForConfidentialTransferFee { data, .. } => {
let row = harvest_withheld_tokens_to_mint_for_confidential_transfer_fee_row::HarvestWithheldTokensToMintForConfidentialTransferFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::EnableHarvestToMint { data, .. } => {
let row = enable_harvest_to_mint_row::EnableHarvestToMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::DisableHarvestToMint { data, .. } => {
let row = disable_harvest_to_mint_row::DisableHarvestToMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::WithdrawExcessLamports { data, .. } => {
let row = withdraw_excess_lamports_row::WithdrawExcessLamportsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeMetadataPointer { data, .. } => {
let row = initialize_metadata_pointer_row::InitializeMetadataPointerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateMetadataPointer { data, .. } => {
let row = update_metadata_pointer_row::UpdateMetadataPointerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeGroupPointer { data, .. } => {
let row = initialize_group_pointer_row::InitializeGroupPointerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateGroupPointer { data, .. } => {
let row = update_group_pointer_row::UpdateGroupPointerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeGroupMemberPointer { data, .. } => {
let row = initialize_group_member_pointer_row::InitializeGroupMemberPointerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateGroupMemberPointer { data, .. } => {
let row = update_group_member_pointer_row::UpdateGroupMemberPointerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeScaledUiAmountMint { data, .. } => {
let row = initialize_scaled_ui_amount_mint_row::InitializeScaledUiAmountMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateMultiplierScaledUiMint { data, .. } => {
let row = update_multiplier_scaled_ui_mint_row::UpdateMultiplierScaledUiMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializePausableConfig { data, .. } => {
let row = initialize_pausable_config_row::InitializePausableConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::Pause { data, .. } => {
let row = pause_row::PauseRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::Resume { data, .. } => {
let row = resume_row::ResumeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeTokenMetadata { data, .. } => {
let row = initialize_token_metadata_row::InitializeTokenMetadataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateTokenMetadataField { data, .. } => {
let row = update_token_metadata_field_row::UpdateTokenMetadataFieldRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::RemoveTokenMetadataKey { data, .. } => {
let row = remove_token_metadata_key_row::RemoveTokenMetadataKeyRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateTokenMetadataUpdateAuthority { data, .. } => {
let row = update_token_metadata_update_authority_row::UpdateTokenMetadataUpdateAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::EmitTokenMetadata { data, .. } => {
let row = emit_token_metadata_row::EmitTokenMetadataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeTokenGroup { data, .. } => {
let row = initialize_token_group_row::InitializeTokenGroupRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateTokenGroupMaxSize { data, .. } => {
let row = update_token_group_max_size_row::UpdateTokenGroupMaxSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateTokenGroupUpdateAuthority { data, .. } => {
let row = update_token_group_update_authority_row::UpdateTokenGroupUpdateAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeTokenGroupMember { data, .. } => {
let row = initialize_token_group_member_row::InitializeTokenGroupMemberRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::UnwrapLamports { data, .. } => {
let row = unwrap_lamports_row::UnwrapLamportsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::InitializePermissionedBurn { data, .. } => {
let row = initialize_permissioned_burn_row::InitializePermissionedBurnRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::PermissionedBurn { data, .. } => {
let row = permissioned_burn_row::PermissionedBurnRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
Token2022Instruction::PermissionedBurnChecked { data, .. } => {
let row = permissioned_burn_checked_row::PermissionedBurnCheckedRow::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 Token2022InstructionWithMetadata {
async fn upsert(&self, pool: &sqlx::PgPool) -> carbon_core::error::CarbonResult<()> {
let Token2022InstructionWithMetadata(decoded_instruction, metadata, raw_accounts) = self;
match decoded_instruction {
Token2022Instruction::InitializeMint { data, .. } => {
let row = initialize_mint_row::InitializeMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeAccount { data, .. } => {
let row = initialize_account_row::InitializeAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeMultisig { data, .. } => {
let row = initialize_multisig_row::InitializeMultisigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::Transfer { data, .. } => {
let row = transfer_row::TransferRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::Approve { data, .. } => {
let row = approve_row::ApproveRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::Revoke { data, .. } => {
let row = revoke_row::RevokeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::SetAuthority { data, .. } => {
let row = set_authority_row::SetAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::MintTo { data, .. } => {
let row = mint_to_row::MintToRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::Burn { data, .. } => {
let row = burn_row::BurnRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::CloseAccount { data, .. } => {
let row = close_account_row::CloseAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::FreezeAccount { data, .. } => {
let row = freeze_account_row::FreezeAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::ThawAccount { data, .. } => {
let row = thaw_account_row::ThawAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::TransferChecked { data, .. } => {
let row = transfer_checked_row::TransferCheckedRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::ApproveChecked { data, .. } => {
let row = approve_checked_row::ApproveCheckedRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::MintToChecked { data, .. } => {
let row = mint_to_checked_row::MintToCheckedRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::BurnChecked { data, .. } => {
let row = burn_checked_row::BurnCheckedRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeAccount2 { data, .. } => {
let row = initialize_account2_row::InitializeAccount2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::SyncNative { data, .. } => {
let row = sync_native_row::SyncNativeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeAccount3 { data, .. } => {
let row = initialize_account3_row::InitializeAccount3Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeMultisig2 { data, .. } => {
let row = initialize_multisig2_row::InitializeMultisig2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeMint2 { data, .. } => {
let row = initialize_mint2_row::InitializeMint2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::GetAccountDataSize { data, .. } => {
let row = get_account_data_size_row::GetAccountDataSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeImmutableOwner { data, .. } => {
let row = initialize_immutable_owner_row::InitializeImmutableOwnerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::AmountToUiAmount { data, .. } => {
let row = amount_to_ui_amount_row::AmountToUiAmountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UiAmountToAmount { data, .. } => {
let row = ui_amount_to_amount_row::UiAmountToAmountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeMintCloseAuthority { data, .. } => {
let row = initialize_mint_close_authority_row::InitializeMintCloseAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeTransferFeeConfig { data, .. } => {
let row = initialize_transfer_fee_config_row::InitializeTransferFeeConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::TransferCheckedWithFee { data, .. } => {
let row = transfer_checked_with_fee_row::TransferCheckedWithFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::WithdrawWithheldTokensFromMint { data, .. } => {
let row = withdraw_withheld_tokens_from_mint_row::WithdrawWithheldTokensFromMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::WithdrawWithheldTokensFromAccounts { data, .. } => {
let row = withdraw_withheld_tokens_from_accounts_row::WithdrawWithheldTokensFromAccountsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::HarvestWithheldTokensToMint { data, .. } => {
let row = harvest_withheld_tokens_to_mint_row::HarvestWithheldTokensToMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::SetTransferFee { data, .. } => {
let row = set_transfer_fee_row::SetTransferFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeConfidentialTransferMint { data, .. } => {
let row = initialize_confidential_transfer_mint_row::InitializeConfidentialTransferMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateConfidentialTransferMint { data, .. } => {
let row = update_confidential_transfer_mint_row::UpdateConfidentialTransferMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::ConfigureConfidentialTransferAccount { data, .. } => {
let row = configure_confidential_transfer_account_row::ConfigureConfidentialTransferAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::ApproveConfidentialTransferAccount { data, .. } => {
let row = approve_confidential_transfer_account_row::ApproveConfidentialTransferAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::EmptyConfidentialTransferAccount { data, .. } => {
let row = empty_confidential_transfer_account_row::EmptyConfidentialTransferAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::ConfidentialDeposit { data, .. } => {
let row = confidential_deposit_row::ConfidentialDepositRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::ConfidentialWithdraw { data, .. } => {
let row = confidential_withdraw_row::ConfidentialWithdrawRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::ConfidentialTransfer { data, .. } => {
let row = confidential_transfer_row::ConfidentialTransferRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::ApplyConfidentialPendingBalance { data, .. } => {
let row = apply_confidential_pending_balance_row::ApplyConfidentialPendingBalanceRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::EnableConfidentialCredits { data, .. } => {
let row = enable_confidential_credits_row::EnableConfidentialCreditsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::DisableConfidentialCredits { data, .. } => {
let row = disable_confidential_credits_row::DisableConfidentialCreditsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::EnableNonConfidentialCredits { data, .. } => {
let row = enable_non_confidential_credits_row::EnableNonConfidentialCreditsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::DisableNonConfidentialCredits { data, .. } => {
let row = disable_non_confidential_credits_row::DisableNonConfidentialCreditsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::ConfidentialTransferWithFee { data, .. } => {
let row = confidential_transfer_with_fee_row::ConfidentialTransferWithFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeDefaultAccountState { data, .. } => {
let row = initialize_default_account_state_row::InitializeDefaultAccountStateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateDefaultAccountState { data, .. } => {
let row = update_default_account_state_row::UpdateDefaultAccountStateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::Reallocate { data, .. } => {
let row = reallocate_row::ReallocateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::EnableMemoTransfers { data, .. } => {
let row = enable_memo_transfers_row::EnableMemoTransfersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::DisableMemoTransfers { data, .. } => {
let row = disable_memo_transfers_row::DisableMemoTransfersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::CreateNativeMint { data, .. } => {
let row = create_native_mint_row::CreateNativeMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeNonTransferableMint { data, .. } => {
let row = initialize_non_transferable_mint_row::InitializeNonTransferableMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeInterestBearingMint { data, .. } => {
let row = initialize_interest_bearing_mint_row::InitializeInterestBearingMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateRateInterestBearingMint { data, .. } => {
let row = update_rate_interest_bearing_mint_row::UpdateRateInterestBearingMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::EnableCpiGuard { data, .. } => {
let row = enable_cpi_guard_row::EnableCpiGuardRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::DisableCpiGuard { data, .. } => {
let row = disable_cpi_guard_row::DisableCpiGuardRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializePermanentDelegate { data, .. } => {
let row = initialize_permanent_delegate_row::InitializePermanentDelegateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeTransferHook { data, .. } => {
let row = initialize_transfer_hook_row::InitializeTransferHookRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateTransferHook { data, .. } => {
let row = update_transfer_hook_row::UpdateTransferHookRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeConfidentialTransferFee { data, .. } => {
let row = initialize_confidential_transfer_fee_row::InitializeConfidentialTransferFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::WithdrawWithheldTokensFromMintForConfidentialTransferFee { data, .. } => {
let row = withdraw_withheld_tokens_from_mint_for_confidential_transfer_fee_row::WithdrawWithheldTokensFromMintForConfidentialTransferFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::WithdrawWithheldTokensFromAccountsForConfidentialTransferFee { data, .. } => {
let row = withdraw_withheld_tokens_from_accounts_for_confidential_transfer_fee_row::WithdrawWithheldTokensFromAccountsForConfidentialTransferFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::HarvestWithheldTokensToMintForConfidentialTransferFee { data, .. } => {
let row = harvest_withheld_tokens_to_mint_for_confidential_transfer_fee_row::HarvestWithheldTokensToMintForConfidentialTransferFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::EnableHarvestToMint { data, .. } => {
let row = enable_harvest_to_mint_row::EnableHarvestToMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::DisableHarvestToMint { data, .. } => {
let row = disable_harvest_to_mint_row::DisableHarvestToMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::WithdrawExcessLamports { data, .. } => {
let row = withdraw_excess_lamports_row::WithdrawExcessLamportsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeMetadataPointer { data, .. } => {
let row = initialize_metadata_pointer_row::InitializeMetadataPointerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateMetadataPointer { data, .. } => {
let row = update_metadata_pointer_row::UpdateMetadataPointerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeGroupPointer { data, .. } => {
let row = initialize_group_pointer_row::InitializeGroupPointerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateGroupPointer { data, .. } => {
let row = update_group_pointer_row::UpdateGroupPointerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeGroupMemberPointer { data, .. } => {
let row = initialize_group_member_pointer_row::InitializeGroupMemberPointerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateGroupMemberPointer { data, .. } => {
let row = update_group_member_pointer_row::UpdateGroupMemberPointerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeScaledUiAmountMint { data, .. } => {
let row = initialize_scaled_ui_amount_mint_row::InitializeScaledUiAmountMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateMultiplierScaledUiMint { data, .. } => {
let row = update_multiplier_scaled_ui_mint_row::UpdateMultiplierScaledUiMintRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializePausableConfig { data, .. } => {
let row = initialize_pausable_config_row::InitializePausableConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::Pause { data, .. } => {
let row = pause_row::PauseRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::Resume { data, .. } => {
let row = resume_row::ResumeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeTokenMetadata { data, .. } => {
let row = initialize_token_metadata_row::InitializeTokenMetadataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateTokenMetadataField { data, .. } => {
let row = update_token_metadata_field_row::UpdateTokenMetadataFieldRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::RemoveTokenMetadataKey { data, .. } => {
let row = remove_token_metadata_key_row::RemoveTokenMetadataKeyRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateTokenMetadataUpdateAuthority { data, .. } => {
let row = update_token_metadata_update_authority_row::UpdateTokenMetadataUpdateAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::EmitTokenMetadata { data, .. } => {
let row = emit_token_metadata_row::EmitTokenMetadataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeTokenGroup { data, .. } => {
let row = initialize_token_group_row::InitializeTokenGroupRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateTokenGroupMaxSize { data, .. } => {
let row = update_token_group_max_size_row::UpdateTokenGroupMaxSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UpdateTokenGroupUpdateAuthority { data, .. } => {
let row = update_token_group_update_authority_row::UpdateTokenGroupUpdateAuthorityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializeTokenGroupMember { data, .. } => {
let row = initialize_token_group_member_row::InitializeTokenGroupMemberRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::UnwrapLamports { data, .. } => {
let row = unwrap_lamports_row::UnwrapLamportsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::InitializePermissionedBurn { data, .. } => {
let row = initialize_permissioned_burn_row::InitializePermissionedBurnRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::PermissionedBurn { data, .. } => {
let row = permissioned_burn_row::PermissionedBurnRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
Token2022Instruction::PermissionedBurnChecked { data, .. } => {
let row = permissioned_burn_checked_row::PermissionedBurnCheckedRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
}
}
}