pub mod add_liquidity_pro_pool_row;
pub mod admin_borrow_sol_row;
pub mod admin_claim_msol_row;
pub mod admin_claim_pro_creator_trading_fees_row;
pub mod admin_claim_staking_rewards_row;
pub mod admin_claim_standard_creator_trading_fees_row;
pub mod admin_deposit_msol_row;
pub mod admin_mint_msol_row;
pub mod admin_repay_sol_row;
pub mod admin_set_transfer_fee_row;
pub mod admin_unstake_msol_row;
pub mod admin_update_pro_liquidity_pool_state_row;
pub mod admin_update_standard_liquidity_pool_state_row;
pub mod admin_withdraw_msol_row;
pub mod admin_withdraw_transfer_fee_row;
pub mod buy_row;
pub mod claim_pro_creator_trading_fee_protocol_fees_row;
pub mod claim_pro_creator_trading_fees_row;
pub mod claim_pro_liquidity_provider_trading_fees_row;
pub mod claim_pro_protocol_trading_fees_row;
pub mod claim_pro_reflection_trading_fees_row;
pub mod claim_standard_creator_trading_fee_protocol_fees_row;
pub mod claim_standard_creator_trading_fees_row;
pub mod claim_standard_protocol_trading_fees_row;
pub mod claim_standard_reflection_trading_fees_row;
pub mod close_protocol_lookup_table_row;
pub mod cpi_event_row;
pub mod create_or_update_protocol_fee_admin_row;
pub mod create_or_update_protocol_owner_row;
pub mod create_or_update_protocol_staking_admin_row;
pub mod create_pro_liquidity_pool_row;
pub mod create_protocol_config_row;
pub mod create_protocol_lookup_table_row;
pub mod create_standard_liquidity_pool_row;
pub mod creator_set_pro_market_cap_creator_fee_row;
pub mod creator_set_pro_market_cap_lp_fee_row;
pub mod creator_set_pro_market_cap_reflection_fee_row;
pub mod creator_set_pro_slot_creator_fee_row;
pub mod creator_toggle_pro_deposit_row;
pub mod creator_toggle_pro_swap_row;
pub mod creator_toggle_pro_withdraw_row;
pub mod deactivate_protocol_lookup_table_row;
pub mod extend_protocol_lookup_table_row;
pub mod initialize_protocol_lending_row;
pub mod pro_buy_row;
pub mod pro_sell_row;
pub mod remaining_accounts_stub_row;
pub mod remove_liquidity_pro_pool_row;
pub mod sell_row;
pub mod set_protocol_slot_fees_row;
pub mod transfer_lp_tokens_row;
pub mod update_allow_create_pool_row;
pub mod update_creator_trading_fee_receiver_row;
pub mod update_pro_creator_trading_fee_receiver_row;
pub mod update_protocol_config_row;
pub use self::{
add_liquidity_pro_pool_row::*, admin_borrow_sol_row::*, admin_claim_msol_row::*,
admin_claim_pro_creator_trading_fees_row::*, admin_claim_staking_rewards_row::*,
admin_claim_standard_creator_trading_fees_row::*, admin_deposit_msol_row::*,
admin_mint_msol_row::*, admin_repay_sol_row::*, admin_set_transfer_fee_row::*,
admin_unstake_msol_row::*, admin_update_pro_liquidity_pool_state_row::*,
admin_update_standard_liquidity_pool_state_row::*, admin_withdraw_msol_row::*,
admin_withdraw_transfer_fee_row::*, buy_row::*,
claim_pro_creator_trading_fee_protocol_fees_row::*, claim_pro_creator_trading_fees_row::*,
claim_pro_liquidity_provider_trading_fees_row::*, claim_pro_protocol_trading_fees_row::*,
claim_pro_reflection_trading_fees_row::*,
claim_standard_creator_trading_fee_protocol_fees_row::*,
claim_standard_creator_trading_fees_row::*, claim_standard_protocol_trading_fees_row::*,
claim_standard_reflection_trading_fees_row::*, close_protocol_lookup_table_row::*,
cpi_event_row::*, create_or_update_protocol_fee_admin_row::*,
create_or_update_protocol_owner_row::*, create_or_update_protocol_staking_admin_row::*,
create_pro_liquidity_pool_row::*, create_protocol_config_row::*,
create_protocol_lookup_table_row::*, create_standard_liquidity_pool_row::*,
creator_set_pro_market_cap_creator_fee_row::*, creator_set_pro_market_cap_lp_fee_row::*,
creator_set_pro_market_cap_reflection_fee_row::*, creator_set_pro_slot_creator_fee_row::*,
creator_toggle_pro_deposit_row::*, creator_toggle_pro_swap_row::*,
creator_toggle_pro_withdraw_row::*, deactivate_protocol_lookup_table_row::*,
extend_protocol_lookup_table_row::*, initialize_protocol_lending_row::*, pro_buy_row::*,
pro_sell_row::*, remaining_accounts_stub_row::*, remove_liquidity_pro_pool_row::*, sell_row::*,
set_protocol_slot_fees_row::*, transfer_lp_tokens_row::*, update_allow_create_pool_row::*,
update_creator_trading_fee_receiver_row::*, update_pro_creator_trading_fee_receiver_row::*,
update_protocol_config_row::*,
};
use super::HeavenInstruction;
pub struct HeavenInstructionsMigration;
impl sqlx_migrator::Migration<sqlx::Postgres> for HeavenInstructionsMigration {
fn app(&self) -> &str {
"heaven"
}
fn name(&self) -> &str {
"heaven_instructions"
}
fn operations(&self) -> Vec<Box<dyn sqlx_migrator::Operation<sqlx::Postgres>>> {
vec![
Box::new(AddLiquidityProPoolMigrationOperation),
Box::new(AdminBorrowSolMigrationOperation),
Box::new(AdminClaimMsolMigrationOperation),
Box::new(AdminClaimProCreatorTradingFeesMigrationOperation),
Box::new(AdminClaimStakingRewardsMigrationOperation),
Box::new(AdminClaimStandardCreatorTradingFeesMigrationOperation),
Box::new(AdminDepositMsolMigrationOperation),
Box::new(AdminMintMsolMigrationOperation),
Box::new(AdminRepaySolMigrationOperation),
Box::new(AdminSetTransferFeeMigrationOperation),
Box::new(AdminUnstakeMsolMigrationOperation),
Box::new(AdminUpdateProLiquidityPoolStateMigrationOperation),
Box::new(AdminUpdateStandardLiquidityPoolStateMigrationOperation),
Box::new(AdminWithdrawMsolMigrationOperation),
Box::new(AdminWithdrawTransferFeeMigrationOperation),
Box::new(BuyMigrationOperation),
Box::new(ClaimProCreatorTradingFeeProtocolFeesMigrationOperation),
Box::new(ClaimProCreatorTradingFeesMigrationOperation),
Box::new(ClaimProLiquidityProviderTradingFeesMigrationOperation),
Box::new(ClaimProProtocolTradingFeesMigrationOperation),
Box::new(ClaimProReflectionTradingFeesMigrationOperation),
Box::new(ClaimStandardCreatorTradingFeeProtocolFeesMigrationOperation),
Box::new(ClaimStandardCreatorTradingFeesMigrationOperation),
Box::new(ClaimStandardProtocolTradingFeesMigrationOperation),
Box::new(ClaimStandardReflectionTradingFeesMigrationOperation),
Box::new(CloseProtocolLookupTableMigrationOperation),
Box::new(CreateOrUpdateProtocolFeeAdminMigrationOperation),
Box::new(CreateOrUpdateProtocolOwnerMigrationOperation),
Box::new(CreateOrUpdateProtocolStakingAdminMigrationOperation),
Box::new(CreateProLiquidityPoolMigrationOperation),
Box::new(CreateProtocolConfigMigrationOperation),
Box::new(CreateProtocolLookupTableMigrationOperation),
Box::new(CreateStandardLiquidityPoolMigrationOperation),
Box::new(CreatorSetProMarketCapCreatorFeeMigrationOperation),
Box::new(CreatorSetProMarketCapLpFeeMigrationOperation),
Box::new(CreatorSetProMarketCapReflectionFeeMigrationOperation),
Box::new(CreatorSetProSlotCreatorFeeMigrationOperation),
Box::new(CreatorToggleProDepositMigrationOperation),
Box::new(CreatorToggleProSwapMigrationOperation),
Box::new(CreatorToggleProWithdrawMigrationOperation),
Box::new(DeactivateProtocolLookupTableMigrationOperation),
Box::new(ExtendProtocolLookupTableMigrationOperation),
Box::new(InitializeProtocolLendingMigrationOperation),
Box::new(ProBuyMigrationOperation),
Box::new(ProSellMigrationOperation),
Box::new(RemainingAccountsStubMigrationOperation),
Box::new(RemoveLiquidityProPoolMigrationOperation),
Box::new(SellMigrationOperation),
Box::new(SetProtocolSlotFeesMigrationOperation),
Box::new(TransferLpTokensMigrationOperation),
Box::new(UpdateAllowCreatePoolMigrationOperation),
Box::new(UpdateCreatorTradingFeeReceiverMigrationOperation),
Box::new(UpdateProCreatorTradingFeeReceiverMigrationOperation),
Box::new(UpdateProtocolConfigMigrationOperation),
Box::new(CpiEventMigrationOperation),
]
}
fn parents(&self) -> Vec<Box<dyn sqlx_migrator::Migration<sqlx::Postgres>>> {
vec![]
}
}
pub struct HeavenInstructionWithMetadata(
pub HeavenInstruction,
pub carbon_core::instruction::InstructionMetadata,
pub Vec<solana_instruction::AccountMeta>,
);
impl
From<(
HeavenInstruction,
carbon_core::instruction::InstructionMetadata,
Vec<solana_instruction::AccountMeta>,
)> for HeavenInstructionWithMetadata
{
fn from(
value: (
HeavenInstruction,
carbon_core::instruction::InstructionMetadata,
Vec<solana_instruction::AccountMeta>,
),
) -> Self {
HeavenInstructionWithMetadata(value.0, value.1, value.2)
}
}
#[async_trait::async_trait]
impl carbon_core::postgres::operations::Insert for HeavenInstructionWithMetadata {
async fn insert(&self, pool: &sqlx::PgPool) -> carbon_core::error::CarbonResult<()> {
let HeavenInstructionWithMetadata(decoded_instruction, metadata, raw_accounts) = self;
match decoded_instruction {
HeavenInstruction::AddLiquidityProPool { data, .. } => {
let row = add_liquidity_pro_pool_row::AddLiquidityProPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminBorrowSol { data, .. } => {
let row = admin_borrow_sol_row::AdminBorrowSolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminClaimMsol { data, .. } => {
let row = admin_claim_msol_row::AdminClaimMsolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminClaimProCreatorTradingFees { data, .. } => {
let row = admin_claim_pro_creator_trading_fees_row::AdminClaimProCreatorTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminClaimStakingRewards { data, .. } => {
let row = admin_claim_staking_rewards_row::AdminClaimStakingRewardsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminClaimStandardCreatorTradingFees { data, .. } => {
let row = admin_claim_standard_creator_trading_fees_row::AdminClaimStandardCreatorTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminDepositMsol { data, .. } => {
let row = admin_deposit_msol_row::AdminDepositMsolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminMintMsol { data, .. } => {
let row = admin_mint_msol_row::AdminMintMsolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminRepaySol { data, .. } => {
let row = admin_repay_sol_row::AdminRepaySolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminSetTransferFee { data, .. } => {
let row = admin_set_transfer_fee_row::AdminSetTransferFeeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminUnstakeMsol { data, .. } => {
let row = admin_unstake_msol_row::AdminUnstakeMsolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminUpdateProLiquidityPoolState { data, .. } => {
let row = admin_update_pro_liquidity_pool_state_row::AdminUpdateProLiquidityPoolStateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminUpdateStandardLiquidityPoolState { data, .. } => {
let row = admin_update_standard_liquidity_pool_state_row::AdminUpdateStandardLiquidityPoolStateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminWithdrawMsol { data, .. } => {
let row = admin_withdraw_msol_row::AdminWithdrawMsolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::AdminWithdrawTransferFee { data, .. } => {
let row = admin_withdraw_transfer_fee_row::AdminWithdrawTransferFeeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::Buy { data, .. } => {
let row = buy_row::BuyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimProCreatorTradingFeeProtocolFees { data, .. } => {
let row = claim_pro_creator_trading_fee_protocol_fees_row::ClaimProCreatorTradingFeeProtocolFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimProCreatorTradingFees { data, .. } => {
let row =
claim_pro_creator_trading_fees_row::ClaimProCreatorTradingFeesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimProLiquidityProviderTradingFees { data, .. } => {
let row = claim_pro_liquidity_provider_trading_fees_row::ClaimProLiquidityProviderTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimProProtocolTradingFees { data, .. } => {
let row =
claim_pro_protocol_trading_fees_row::ClaimProProtocolTradingFeesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimProReflectionTradingFees { data, .. } => {
let row = claim_pro_reflection_trading_fees_row::ClaimProReflectionTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimStandardCreatorTradingFeeProtocolFees { data, .. } => {
let row = claim_standard_creator_trading_fee_protocol_fees_row::ClaimStandardCreatorTradingFeeProtocolFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimStandardCreatorTradingFees { data, .. } => {
let row = claim_standard_creator_trading_fees_row::ClaimStandardCreatorTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimStandardProtocolTradingFees { data, .. } => {
let row = claim_standard_protocol_trading_fees_row::ClaimStandardProtocolTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimStandardReflectionTradingFees { data, .. } => {
let row = claim_standard_reflection_trading_fees_row::ClaimStandardReflectionTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CloseProtocolLookupTable { data, .. } => {
let row = close_protocol_lookup_table_row::CloseProtocolLookupTableRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreateOrUpdateProtocolFeeAdmin { data, .. } => {
let row = create_or_update_protocol_fee_admin_row::CreateOrUpdateProtocolFeeAdminRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreateOrUpdateProtocolOwner { data, .. } => {
let row =
create_or_update_protocol_owner_row::CreateOrUpdateProtocolOwnerRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreateOrUpdateProtocolStakingAdmin { data, .. } => {
let row = create_or_update_protocol_staking_admin_row::CreateOrUpdateProtocolStakingAdminRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreateProLiquidityPool { data, .. } => {
let row = create_pro_liquidity_pool_row::CreateProLiquidityPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreateProtocolConfig { data, .. } => {
let row = create_protocol_config_row::CreateProtocolConfigRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreateProtocolLookupTable { data, .. } => {
let row =
create_protocol_lookup_table_row::CreateProtocolLookupTableRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreateStandardLiquidityPool { data, .. } => {
let row =
create_standard_liquidity_pool_row::CreateStandardLiquidityPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorSetProMarketCapCreatorFee { data, .. } => {
let row = creator_set_pro_market_cap_creator_fee_row::CreatorSetProMarketCapCreatorFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorSetProMarketCapLpFee { data, .. } => {
let row = creator_set_pro_market_cap_lp_fee_row::CreatorSetProMarketCapLpFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorSetProMarketCapReflectionFee { data, .. } => {
let row = creator_set_pro_market_cap_reflection_fee_row::CreatorSetProMarketCapReflectionFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorSetProSlotCreatorFee { data, .. } => {
let row = creator_set_pro_slot_creator_fee_row::CreatorSetProSlotCreatorFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorToggleProDeposit { data, .. } => {
let row = creator_toggle_pro_deposit_row::CreatorToggleProDepositRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorToggleProSwap { data, .. } => {
let row = creator_toggle_pro_swap_row::CreatorToggleProSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorToggleProWithdraw { data, .. } => {
let row = creator_toggle_pro_withdraw_row::CreatorToggleProWithdrawRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::DeactivateProtocolLookupTable { data, .. } => {
let row = deactivate_protocol_lookup_table_row::DeactivateProtocolLookupTableRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::ExtendProtocolLookupTable { data, .. } => {
let row =
extend_protocol_lookup_table_row::ExtendProtocolLookupTableRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::InitializeProtocolLending { data, .. } => {
let row = initialize_protocol_lending_row::InitializeProtocolLendingRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::ProBuy { data, .. } => {
let row = pro_buy_row::ProBuyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::ProSell { data, .. } => {
let row = pro_sell_row::ProSellRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::RemainingAccountsStub { data, .. } => {
let row = remaining_accounts_stub_row::RemainingAccountsStubRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::RemoveLiquidityProPool { data, .. } => {
let row = remove_liquidity_pro_pool_row::RemoveLiquidityProPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::Sell { data, .. } => {
let row = sell_row::SellRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::SetProtocolSlotFees { data, .. } => {
let row = set_protocol_slot_fees_row::SetProtocolSlotFeesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::TransferLpTokens { data, .. } => {
let row = transfer_lp_tokens_row::TransferLpTokensRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::UpdateAllowCreatePool { data, .. } => {
let row = update_allow_create_pool_row::UpdateAllowCreatePoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::UpdateCreatorTradingFeeReceiver { data, .. } => {
let row = update_creator_trading_fee_receiver_row::UpdateCreatorTradingFeeReceiverRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::UpdateProCreatorTradingFeeReceiver { data, .. } => {
let row = update_pro_creator_trading_fee_receiver_row::UpdateProCreatorTradingFeeReceiverRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::UpdateProtocolConfig { data, .. } => {
let row = update_protocol_config_row::UpdateProtocolConfigRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
HeavenInstruction::CpiEvent { data, .. } => {
let row = cpi_event_row::CpiEventRow::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 HeavenInstructionWithMetadata {
async fn upsert(&self, pool: &sqlx::PgPool) -> carbon_core::error::CarbonResult<()> {
let HeavenInstructionWithMetadata(decoded_instruction, metadata, raw_accounts) = self;
match decoded_instruction {
HeavenInstruction::AddLiquidityProPool { data, .. } => {
let row = add_liquidity_pro_pool_row::AddLiquidityProPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminBorrowSol { data, .. } => {
let row = admin_borrow_sol_row::AdminBorrowSolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminClaimMsol { data, .. } => {
let row = admin_claim_msol_row::AdminClaimMsolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminClaimProCreatorTradingFees { data, .. } => {
let row = admin_claim_pro_creator_trading_fees_row::AdminClaimProCreatorTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminClaimStakingRewards { data, .. } => {
let row = admin_claim_staking_rewards_row::AdminClaimStakingRewardsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminClaimStandardCreatorTradingFees { data, .. } => {
let row = admin_claim_standard_creator_trading_fees_row::AdminClaimStandardCreatorTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminDepositMsol { data, .. } => {
let row = admin_deposit_msol_row::AdminDepositMsolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminMintMsol { data, .. } => {
let row = admin_mint_msol_row::AdminMintMsolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminRepaySol { data, .. } => {
let row = admin_repay_sol_row::AdminRepaySolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminSetTransferFee { data, .. } => {
let row = admin_set_transfer_fee_row::AdminSetTransferFeeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminUnstakeMsol { data, .. } => {
let row = admin_unstake_msol_row::AdminUnstakeMsolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminUpdateProLiquidityPoolState { data, .. } => {
let row = admin_update_pro_liquidity_pool_state_row::AdminUpdateProLiquidityPoolStateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminUpdateStandardLiquidityPoolState { data, .. } => {
let row = admin_update_standard_liquidity_pool_state_row::AdminUpdateStandardLiquidityPoolStateRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminWithdrawMsol { data, .. } => {
let row = admin_withdraw_msol_row::AdminWithdrawMsolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::AdminWithdrawTransferFee { data, .. } => {
let row = admin_withdraw_transfer_fee_row::AdminWithdrawTransferFeeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::Buy { data, .. } => {
let row = buy_row::BuyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimProCreatorTradingFeeProtocolFees { data, .. } => {
let row = claim_pro_creator_trading_fee_protocol_fees_row::ClaimProCreatorTradingFeeProtocolFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimProCreatorTradingFees { data, .. } => {
let row =
claim_pro_creator_trading_fees_row::ClaimProCreatorTradingFeesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimProLiquidityProviderTradingFees { data, .. } => {
let row = claim_pro_liquidity_provider_trading_fees_row::ClaimProLiquidityProviderTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimProProtocolTradingFees { data, .. } => {
let row =
claim_pro_protocol_trading_fees_row::ClaimProProtocolTradingFeesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimProReflectionTradingFees { data, .. } => {
let row = claim_pro_reflection_trading_fees_row::ClaimProReflectionTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimStandardCreatorTradingFeeProtocolFees { data, .. } => {
let row = claim_standard_creator_trading_fee_protocol_fees_row::ClaimStandardCreatorTradingFeeProtocolFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimStandardCreatorTradingFees { data, .. } => {
let row = claim_standard_creator_trading_fees_row::ClaimStandardCreatorTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimStandardProtocolTradingFees { data, .. } => {
let row = claim_standard_protocol_trading_fees_row::ClaimStandardProtocolTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::ClaimStandardReflectionTradingFees { data, .. } => {
let row = claim_standard_reflection_trading_fees_row::ClaimStandardReflectionTradingFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CloseProtocolLookupTable { data, .. } => {
let row = close_protocol_lookup_table_row::CloseProtocolLookupTableRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreateOrUpdateProtocolFeeAdmin { data, .. } => {
let row = create_or_update_protocol_fee_admin_row::CreateOrUpdateProtocolFeeAdminRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreateOrUpdateProtocolOwner { data, .. } => {
let row =
create_or_update_protocol_owner_row::CreateOrUpdateProtocolOwnerRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreateOrUpdateProtocolStakingAdmin { data, .. } => {
let row = create_or_update_protocol_staking_admin_row::CreateOrUpdateProtocolStakingAdminRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreateProLiquidityPool { data, .. } => {
let row = create_pro_liquidity_pool_row::CreateProLiquidityPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreateProtocolConfig { data, .. } => {
let row = create_protocol_config_row::CreateProtocolConfigRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreateProtocolLookupTable { data, .. } => {
let row =
create_protocol_lookup_table_row::CreateProtocolLookupTableRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreateStandardLiquidityPool { data, .. } => {
let row =
create_standard_liquidity_pool_row::CreateStandardLiquidityPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorSetProMarketCapCreatorFee { data, .. } => {
let row = creator_set_pro_market_cap_creator_fee_row::CreatorSetProMarketCapCreatorFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorSetProMarketCapLpFee { data, .. } => {
let row = creator_set_pro_market_cap_lp_fee_row::CreatorSetProMarketCapLpFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorSetProMarketCapReflectionFee { data, .. } => {
let row = creator_set_pro_market_cap_reflection_fee_row::CreatorSetProMarketCapReflectionFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorSetProSlotCreatorFee { data, .. } => {
let row = creator_set_pro_slot_creator_fee_row::CreatorSetProSlotCreatorFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorToggleProDeposit { data, .. } => {
let row = creator_toggle_pro_deposit_row::CreatorToggleProDepositRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorToggleProSwap { data, .. } => {
let row = creator_toggle_pro_swap_row::CreatorToggleProSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CreatorToggleProWithdraw { data, .. } => {
let row = creator_toggle_pro_withdraw_row::CreatorToggleProWithdrawRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::DeactivateProtocolLookupTable { data, .. } => {
let row = deactivate_protocol_lookup_table_row::DeactivateProtocolLookupTableRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::ExtendProtocolLookupTable { data, .. } => {
let row =
extend_protocol_lookup_table_row::ExtendProtocolLookupTableRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::InitializeProtocolLending { data, .. } => {
let row = initialize_protocol_lending_row::InitializeProtocolLendingRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::ProBuy { data, .. } => {
let row = pro_buy_row::ProBuyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::ProSell { data, .. } => {
let row = pro_sell_row::ProSellRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::RemainingAccountsStub { data, .. } => {
let row = remaining_accounts_stub_row::RemainingAccountsStubRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::RemoveLiquidityProPool { data, .. } => {
let row = remove_liquidity_pro_pool_row::RemoveLiquidityProPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::Sell { data, .. } => {
let row = sell_row::SellRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::SetProtocolSlotFees { data, .. } => {
let row = set_protocol_slot_fees_row::SetProtocolSlotFeesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::TransferLpTokens { data, .. } => {
let row = transfer_lp_tokens_row::TransferLpTokensRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::UpdateAllowCreatePool { data, .. } => {
let row = update_allow_create_pool_row::UpdateAllowCreatePoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::UpdateCreatorTradingFeeReceiver { data, .. } => {
let row = update_creator_trading_fee_receiver_row::UpdateCreatorTradingFeeReceiverRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::UpdateProCreatorTradingFeeReceiver { data, .. } => {
let row = update_pro_creator_trading_fee_receiver_row::UpdateProCreatorTradingFeeReceiverRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::UpdateProtocolConfig { data, .. } => {
let row = update_protocol_config_row::UpdateProtocolConfigRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
HeavenInstruction::CpiEvent { data, .. } => {
let row = cpi_event_row::CpiEventRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
}
}
}