pub mod add_market_indexes_row;
pub mod add_perp_market_index_row;
pub mod apply_perp_funding_row;
pub mod burn_vault_tokens_row;
pub mod cancel_all_market_orders_row;
pub mod cancel_order_by_client_order_id_no_error_row;
pub mod cancel_order_by_client_order_id_row;
pub mod cancel_order_halted_row;
pub mod cancel_order_no_error_row;
pub mod cancel_order_row;
pub mod claim_referrals_rewards_row;
pub mod clean_zeta_market_halted_row;
pub mod clean_zeta_markets_row;
pub mod close_cross_margin_account_manager_row;
pub mod close_cross_margin_account_row;
pub mod close_margin_account_row;
pub mod close_open_orders_row;
pub mod close_open_orders_v2_row;
pub mod close_open_orders_v3_row;
pub mod close_spread_account_row;
pub mod collect_treasury_funds_row;
pub mod cpi_event_row;
pub mod crank_event_queue_row;
pub mod deposit_insurance_vault_row;
pub mod deposit_insurance_vault_v2_row;
pub mod deposit_row;
pub mod deposit_v2_row;
pub mod edit_delegated_pubkey_row;
pub mod expire_series_override_row;
pub mod expire_series_row;
pub mod force_cancel_order_by_order_id_row;
pub mod force_cancel_order_by_order_id_v2_row;
pub mod force_cancel_orders_row;
pub mod force_cancel_orders_v2_row;
pub mod halt_row;
pub mod initialize_combined_insurance_vault_row;
pub mod initialize_combined_socialized_loss_account_row;
pub mod initialize_combined_vault_row;
pub mod initialize_cross_margin_account_manager_row;
pub mod initialize_cross_margin_account_row;
pub mod initialize_insurance_deposit_account_row;
pub mod initialize_margin_account_row;
pub mod initialize_market_indexes_row;
pub mod initialize_market_node_row;
pub mod initialize_market_strikes_row;
pub mod initialize_market_tif_epoch_cycle_row;
pub mod initialize_open_orders_row;
pub mod initialize_open_orders_v2_row;
pub mod initialize_open_orders_v3_row;
pub mod initialize_perp_sync_queue_row;
pub mod initialize_referrer_account_row;
pub mod initialize_referrer_alias_row;
pub mod initialize_spread_account_row;
pub mod initialize_underlying_row;
pub mod initialize_whitelist_deposit_account_row;
pub mod initialize_whitelist_insurance_account_row;
pub mod initialize_whitelist_trading_fees_account_row;
pub mod initialize_zeta_group_row;
pub mod initialize_zeta_market_row;
pub mod initialize_zeta_pricing_row;
pub mod initialize_zeta_referrals_rewards_wallet_row;
pub mod initialize_zeta_state_row;
pub mod initialize_zeta_treasury_wallet_row;
pub mod liquidate_row;
pub mod liquidate_v2_row;
pub mod migrate_to_cross_margin_account_row;
pub mod override_expiry_row;
pub mod place_order_row;
pub mod place_order_v2_row;
pub mod place_order_v3_row;
pub mod place_order_v4_row;
pub mod place_perp_order_row;
pub mod place_perp_order_v2_row;
pub mod place_perp_order_v3_row;
pub mod position_movement_row;
pub mod prune_expired_tif_orders_row;
pub mod rebalance_insurance_vault_row;
pub mod refer_user_row;
pub mod reset_num_flex_underlyings_row;
pub mod set_referrals_rewards_row;
pub mod settle_dex_funds_row;
pub mod settle_positions_halted_row;
pub mod toggle_market_maker_row;
pub mod toggle_zeta_group_perps_only_row;
pub mod transfer_excess_spread_balance_row;
pub mod treasury_movement_row;
pub mod unhalt_row;
pub mod update_admin_row;
pub mod update_halt_state_row;
pub mod update_interest_rate_row;
pub mod update_margin_parameters_row;
pub mod update_oracle_backup_feed_row;
pub mod update_oracle_row;
pub mod update_perp_parameters_row;
pub mod update_pricing_parameters_row;
pub mod update_pricing_v2_row;
pub mod update_referrals_admin_row;
pub mod update_secondary_admin_row;
pub mod update_volatility_row;
pub mod update_zeta_group_expiry_parameters_row;
pub mod update_zeta_group_margin_parameters_row;
pub mod update_zeta_group_perp_parameters_row;
pub mod update_zeta_pricing_pubkeys_row;
pub mod update_zeta_state_row;
pub mod withdraw_insurance_vault_row;
pub mod withdraw_insurance_vault_v2_row;
pub mod withdraw_row;
pub mod withdraw_v2_row;
pub use self::{
add_market_indexes_row::*, add_perp_market_index_row::*, apply_perp_funding_row::*,
burn_vault_tokens_row::*, cancel_all_market_orders_row::*,
cancel_order_by_client_order_id_no_error_row::*, cancel_order_by_client_order_id_row::*,
cancel_order_halted_row::*, cancel_order_no_error_row::*, cancel_order_row::*,
claim_referrals_rewards_row::*, clean_zeta_market_halted_row::*, clean_zeta_markets_row::*,
close_cross_margin_account_manager_row::*, close_cross_margin_account_row::*,
close_margin_account_row::*, close_open_orders_row::*, close_open_orders_v2_row::*,
close_open_orders_v3_row::*, close_spread_account_row::*, collect_treasury_funds_row::*,
cpi_event_row::*, crank_event_queue_row::*, deposit_insurance_vault_row::*,
deposit_insurance_vault_v2_row::*, deposit_row::*, deposit_v2_row::*,
edit_delegated_pubkey_row::*, expire_series_override_row::*, expire_series_row::*,
force_cancel_order_by_order_id_row::*, force_cancel_order_by_order_id_v2_row::*,
force_cancel_orders_row::*, force_cancel_orders_v2_row::*, halt_row::*,
initialize_combined_insurance_vault_row::*, initialize_combined_socialized_loss_account_row::*,
initialize_combined_vault_row::*, initialize_cross_margin_account_manager_row::*,
initialize_cross_margin_account_row::*, initialize_insurance_deposit_account_row::*,
initialize_margin_account_row::*, initialize_market_indexes_row::*,
initialize_market_node_row::*, initialize_market_strikes_row::*,
initialize_market_tif_epoch_cycle_row::*, initialize_open_orders_row::*,
initialize_open_orders_v2_row::*, initialize_open_orders_v3_row::*,
initialize_perp_sync_queue_row::*, initialize_referrer_account_row::*,
initialize_referrer_alias_row::*, initialize_spread_account_row::*,
initialize_underlying_row::*, initialize_whitelist_deposit_account_row::*,
initialize_whitelist_insurance_account_row::*,
initialize_whitelist_trading_fees_account_row::*, initialize_zeta_group_row::*,
initialize_zeta_market_row::*, initialize_zeta_pricing_row::*,
initialize_zeta_referrals_rewards_wallet_row::*, initialize_zeta_state_row::*,
initialize_zeta_treasury_wallet_row::*, liquidate_row::*, liquidate_v2_row::*,
migrate_to_cross_margin_account_row::*, override_expiry_row::*, place_order_row::*,
place_order_v2_row::*, place_order_v3_row::*, place_order_v4_row::*, place_perp_order_row::*,
place_perp_order_v2_row::*, place_perp_order_v3_row::*, position_movement_row::*,
prune_expired_tif_orders_row::*, rebalance_insurance_vault_row::*, refer_user_row::*,
reset_num_flex_underlyings_row::*, set_referrals_rewards_row::*, settle_dex_funds_row::*,
settle_positions_halted_row::*, toggle_market_maker_row::*,
toggle_zeta_group_perps_only_row::*, transfer_excess_spread_balance_row::*,
treasury_movement_row::*, unhalt_row::*, update_admin_row::*, update_halt_state_row::*,
update_interest_rate_row::*, update_margin_parameters_row::*, update_oracle_backup_feed_row::*,
update_oracle_row::*, update_perp_parameters_row::*, update_pricing_parameters_row::*,
update_pricing_v2_row::*, update_referrals_admin_row::*, update_secondary_admin_row::*,
update_volatility_row::*, update_zeta_group_expiry_parameters_row::*,
update_zeta_group_margin_parameters_row::*, update_zeta_group_perp_parameters_row::*,
update_zeta_pricing_pubkeys_row::*, update_zeta_state_row::*, withdraw_insurance_vault_row::*,
withdraw_insurance_vault_v2_row::*, withdraw_row::*, withdraw_v2_row::*,
};
use super::ZetaInstruction;
pub struct ZetaInstructionsMigration;
impl sqlx_migrator::Migration<sqlx::Postgres> for ZetaInstructionsMigration {
fn app(&self) -> &str {
"zeta"
}
fn name(&self) -> &str {
"zeta_instructions"
}
fn operations(&self) -> Vec<Box<dyn sqlx_migrator::Operation<sqlx::Postgres>>> {
vec![
Box::new(AddMarketIndexesMigrationOperation),
Box::new(AddPerpMarketIndexMigrationOperation),
Box::new(ApplyPerpFundingMigrationOperation),
Box::new(BurnVaultTokensMigrationOperation),
Box::new(CancelAllMarketOrdersMigrationOperation),
Box::new(CancelOrderMigrationOperation),
Box::new(CancelOrderByClientOrderIdMigrationOperation),
Box::new(CancelOrderByClientOrderIdNoErrorMigrationOperation),
Box::new(CancelOrderHaltedMigrationOperation),
Box::new(CancelOrderNoErrorMigrationOperation),
Box::new(ClaimReferralsRewardsMigrationOperation),
Box::new(CleanZetaMarketHaltedMigrationOperation),
Box::new(CleanZetaMarketsMigrationOperation),
Box::new(CloseCrossMarginAccountMigrationOperation),
Box::new(CloseCrossMarginAccountManagerMigrationOperation),
Box::new(CloseMarginAccountMigrationOperation),
Box::new(CloseOpenOrdersMigrationOperation),
Box::new(CloseOpenOrdersV2MigrationOperation),
Box::new(CloseOpenOrdersV3MigrationOperation),
Box::new(CloseSpreadAccountMigrationOperation),
Box::new(CollectTreasuryFundsMigrationOperation),
Box::new(CrankEventQueueMigrationOperation),
Box::new(DepositMigrationOperation),
Box::new(DepositInsuranceVaultMigrationOperation),
Box::new(DepositInsuranceVaultV2MigrationOperation),
Box::new(DepositV2MigrationOperation),
Box::new(EditDelegatedPubkeyMigrationOperation),
Box::new(ExpireSeriesMigrationOperation),
Box::new(ExpireSeriesOverrideMigrationOperation),
Box::new(ForceCancelOrderByOrderIdMigrationOperation),
Box::new(ForceCancelOrderByOrderIdV2MigrationOperation),
Box::new(ForceCancelOrdersMigrationOperation),
Box::new(ForceCancelOrdersV2MigrationOperation),
Box::new(HaltMigrationOperation),
Box::new(InitializeCombinedInsuranceVaultMigrationOperation),
Box::new(InitializeCombinedSocializedLossAccountMigrationOperation),
Box::new(InitializeCombinedVaultMigrationOperation),
Box::new(InitializeCrossMarginAccountMigrationOperation),
Box::new(InitializeCrossMarginAccountManagerMigrationOperation),
Box::new(InitializeInsuranceDepositAccountMigrationOperation),
Box::new(InitializeMarginAccountMigrationOperation),
Box::new(InitializeMarketIndexesMigrationOperation),
Box::new(InitializeMarketNodeMigrationOperation),
Box::new(InitializeMarketStrikesMigrationOperation),
Box::new(InitializeMarketTifEpochCycleMigrationOperation),
Box::new(InitializeOpenOrdersMigrationOperation),
Box::new(InitializeOpenOrdersV2MigrationOperation),
Box::new(InitializeOpenOrdersV3MigrationOperation),
Box::new(InitializePerpSyncQueueMigrationOperation),
Box::new(InitializeReferrerAccountMigrationOperation),
Box::new(InitializeReferrerAliasMigrationOperation),
Box::new(InitializeSpreadAccountMigrationOperation),
Box::new(InitializeUnderlyingMigrationOperation),
Box::new(InitializeWhitelistDepositAccountMigrationOperation),
Box::new(InitializeWhitelistInsuranceAccountMigrationOperation),
Box::new(InitializeWhitelistTradingFeesAccountMigrationOperation),
Box::new(InitializeZetaGroupMigrationOperation),
Box::new(InitializeZetaMarketMigrationOperation),
Box::new(InitializeZetaPricingMigrationOperation),
Box::new(InitializeZetaReferralsRewardsWalletMigrationOperation),
Box::new(InitializeZetaStateMigrationOperation),
Box::new(InitializeZetaTreasuryWalletMigrationOperation),
Box::new(LiquidateMigrationOperation),
Box::new(LiquidateV2MigrationOperation),
Box::new(MigrateToCrossMarginAccountMigrationOperation),
Box::new(OverrideExpiryMigrationOperation),
Box::new(PlaceOrderMigrationOperation),
Box::new(PlaceOrderV2MigrationOperation),
Box::new(PlaceOrderV3MigrationOperation),
Box::new(PlaceOrderV4MigrationOperation),
Box::new(PlacePerpOrderMigrationOperation),
Box::new(PlacePerpOrderV2MigrationOperation),
Box::new(PlacePerpOrderV3MigrationOperation),
Box::new(PositionMovementMigrationOperation),
Box::new(PruneExpiredTifOrdersMigrationOperation),
Box::new(RebalanceInsuranceVaultMigrationOperation),
Box::new(ReferUserMigrationOperation),
Box::new(ResetNumFlexUnderlyingsMigrationOperation),
Box::new(SetReferralsRewardsMigrationOperation),
Box::new(SettleDexFundsMigrationOperation),
Box::new(SettlePositionsHaltedMigrationOperation),
Box::new(ToggleMarketMakerMigrationOperation),
Box::new(ToggleZetaGroupPerpsOnlyMigrationOperation),
Box::new(TransferExcessSpreadBalanceMigrationOperation),
Box::new(TreasuryMovementMigrationOperation),
Box::new(UnhaltMigrationOperation),
Box::new(UpdateAdminMigrationOperation),
Box::new(UpdateHaltStateMigrationOperation),
Box::new(UpdateInterestRateMigrationOperation),
Box::new(UpdateMarginParametersMigrationOperation),
Box::new(UpdateOracleMigrationOperation),
Box::new(UpdateOracleBackupFeedMigrationOperation),
Box::new(UpdatePerpParametersMigrationOperation),
Box::new(UpdatePricingParametersMigrationOperation),
Box::new(UpdatePricingV2MigrationOperation),
Box::new(UpdateReferralsAdminMigrationOperation),
Box::new(UpdateSecondaryAdminMigrationOperation),
Box::new(UpdateVolatilityMigrationOperation),
Box::new(UpdateZetaGroupExpiryParametersMigrationOperation),
Box::new(UpdateZetaGroupMarginParametersMigrationOperation),
Box::new(UpdateZetaGroupPerpParametersMigrationOperation),
Box::new(UpdateZetaPricingPubkeysMigrationOperation),
Box::new(UpdateZetaStateMigrationOperation),
Box::new(WithdrawMigrationOperation),
Box::new(WithdrawInsuranceVaultMigrationOperation),
Box::new(WithdrawInsuranceVaultV2MigrationOperation),
Box::new(WithdrawV2MigrationOperation),
Box::new(CpiEventMigrationOperation),
]
}
fn parents(&self) -> Vec<Box<dyn sqlx_migrator::Migration<sqlx::Postgres>>> {
vec![]
}
}
pub struct ZetaInstructionWithMetadata(
pub ZetaInstruction,
pub carbon_core::instruction::InstructionMetadata,
pub Vec<solana_instruction::AccountMeta>,
);
impl
From<(
ZetaInstruction,
carbon_core::instruction::InstructionMetadata,
Vec<solana_instruction::AccountMeta>,
)> for ZetaInstructionWithMetadata
{
fn from(
value: (
ZetaInstruction,
carbon_core::instruction::InstructionMetadata,
Vec<solana_instruction::AccountMeta>,
),
) -> Self {
ZetaInstructionWithMetadata(value.0, value.1, value.2)
}
}
#[async_trait::async_trait]
impl carbon_core::postgres::operations::Insert for ZetaInstructionWithMetadata {
async fn insert(&self, pool: &sqlx::PgPool) -> carbon_core::error::CarbonResult<()> {
let ZetaInstructionWithMetadata(decoded_instruction, metadata, raw_accounts) = self;
match decoded_instruction {
ZetaInstruction::InitializeZetaPricing { data, .. } => {
let row = initialize_zeta_pricing_row::InitializeZetaPricingRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateZetaPricingPubkeys { data, .. } => {
let row = update_zeta_pricing_pubkeys_row::UpdateZetaPricingPubkeysRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeZetaGroup { data, .. } => {
let row = initialize_zeta_group_row::InitializeZetaGroupRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::OverrideExpiry { data, .. } => {
let row = override_expiry_row::OverrideExpiryRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::MigrateToCrossMarginAccount { data, .. } => {
let row =
migrate_to_cross_margin_account_row::MigrateToCrossMarginAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeCrossMarginAccountManager { data, .. } => {
let row = initialize_cross_margin_account_manager_row::InitializeCrossMarginAccountManagerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeCrossMarginAccount { data, .. } => {
let row = initialize_cross_margin_account_row::InitializeCrossMarginAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeMarginAccount { data, .. } => {
let row = initialize_margin_account_row::InitializeMarginAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeSpreadAccount { data, .. } => {
let row = initialize_spread_account_row::InitializeSpreadAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CloseCrossMarginAccountManager { data, .. } => {
let row = close_cross_margin_account_manager_row::CloseCrossMarginAccountManagerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CloseCrossMarginAccount { data, .. } => {
let row = close_cross_margin_account_row::CloseCrossMarginAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CloseMarginAccount { data, .. } => {
let row = close_margin_account_row::CloseMarginAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CloseSpreadAccount { data, .. } => {
let row = close_spread_account_row::CloseSpreadAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeUnderlying { data, .. } => {
let row = initialize_underlying_row::InitializeUnderlyingRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializePerpSyncQueue { data, .. } => {
let row = initialize_perp_sync_queue_row::InitializePerpSyncQueueRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeMarketIndexes { data, .. } => {
let row = initialize_market_indexes_row::InitializeMarketIndexesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeMarketNode { data, .. } => {
let row = initialize_market_node_row::InitializeMarketNodeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::Halt { data, .. } => {
let row = halt_row::HaltRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::Unhalt { data, .. } => {
let row = unhalt_row::UnhaltRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateHaltState { data, .. } => {
let row = update_halt_state_row::UpdateHaltStateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateVolatility { data, .. } => {
let row = update_volatility_row::UpdateVolatilityRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateInterestRate { data, .. } => {
let row = update_interest_rate_row::UpdateInterestRateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::AddPerpMarketIndex { data, .. } => {
let row = add_perp_market_index_row::AddPerpMarketIndexRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::AddMarketIndexes { data, .. } => {
let row = add_market_indexes_row::AddMarketIndexesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeZetaState { data, .. } => {
let row = initialize_zeta_state_row::InitializeZetaStateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeZetaTreasuryWallet { data, .. } => {
let row = initialize_zeta_treasury_wallet_row::InitializeZetaTreasuryWalletRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeZetaReferralsRewardsWallet { data, .. } => {
let row = initialize_zeta_referrals_rewards_wallet_row::InitializeZetaReferralsRewardsWalletRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateAdmin { data, .. } => {
let row = update_admin_row::UpdateAdminRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateSecondaryAdmin { data, .. } => {
let row = update_secondary_admin_row::UpdateSecondaryAdminRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateReferralsAdmin { data, .. } => {
let row = update_referrals_admin_row::UpdateReferralsAdminRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateZetaState { data, .. } => {
let row = update_zeta_state_row::UpdateZetaStateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateOracle { data, .. } => {
let row = update_oracle_row::UpdateOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateOracleBackupFeed { data, .. } => {
let row = update_oracle_backup_feed_row::UpdateOracleBackupFeedRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdatePricingParameters { data, .. } => {
let row = update_pricing_parameters_row::UpdatePricingParametersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateMarginParameters { data, .. } => {
let row = update_margin_parameters_row::UpdateMarginParametersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateZetaGroupMarginParameters { data, .. } => {
let row = update_zeta_group_margin_parameters_row::UpdateZetaGroupMarginParametersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdatePerpParameters { data, .. } => {
let row = update_perp_parameters_row::UpdatePerpParametersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateZetaGroupPerpParameters { data, .. } => {
let row = update_zeta_group_perp_parameters_row::UpdateZetaGroupPerpParametersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateZetaGroupExpiryParameters { data, .. } => {
let row = update_zeta_group_expiry_parameters_row::UpdateZetaGroupExpiryParametersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::ToggleZetaGroupPerpsOnly { data, .. } => {
let row = toggle_zeta_group_perps_only_row::ToggleZetaGroupPerpsOnlyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CleanZetaMarkets { data, .. } => {
let row = clean_zeta_markets_row::CleanZetaMarketsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CleanZetaMarketHalted { data, .. } => {
let row = clean_zeta_market_halted_row::CleanZetaMarketHaltedRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::SettlePositionsHalted { data, .. } => {
let row = settle_positions_halted_row::SettlePositionsHaltedRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeMarketStrikes { data, .. } => {
let row = initialize_market_strikes_row::InitializeMarketStrikesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::ExpireSeriesOverride { data, .. } => {
let row = expire_series_override_row::ExpireSeriesOverrideRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::ExpireSeries { data, .. } => {
let row = expire_series_row::ExpireSeriesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeZetaMarket { data, .. } => {
let row = initialize_zeta_market_row::InitializeZetaMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeMarketTifEpochCycle { data, .. } => {
let row = initialize_market_tif_epoch_cycle_row::InitializeMarketTifEpochCycleRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::UpdatePricingV2 { data, .. } => {
let row = update_pricing_v2_row::UpdatePricingV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::ApplyPerpFunding { data, .. } => {
let row = apply_perp_funding_row::ApplyPerpFundingRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::Deposit { data, .. } => {
let row = deposit_row::DepositRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::DepositV2 { data, .. } => {
let row = deposit_v2_row::DepositV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::DepositInsuranceVault { data, .. } => {
let row = deposit_insurance_vault_row::DepositInsuranceVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::DepositInsuranceVaultV2 { data, .. } => {
let row = deposit_insurance_vault_v2_row::DepositInsuranceVaultV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::Withdraw { data, .. } => {
let row = withdraw_row::WithdrawRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::WithdrawV2 { data, .. } => {
let row = withdraw_v2_row::WithdrawV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::WithdrawInsuranceVault { data, .. } => {
let row = withdraw_insurance_vault_row::WithdrawInsuranceVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::WithdrawInsuranceVaultV2 { data, .. } => {
let row = withdraw_insurance_vault_v2_row::WithdrawInsuranceVaultV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeOpenOrders { data, .. } => {
let row = initialize_open_orders_row::InitializeOpenOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeOpenOrdersV2 { data, .. } => {
let row = initialize_open_orders_v2_row::InitializeOpenOrdersV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeOpenOrdersV3 { data, .. } => {
let row = initialize_open_orders_v3_row::InitializeOpenOrdersV3Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CloseOpenOrders { data, .. } => {
let row = close_open_orders_row::CloseOpenOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CloseOpenOrdersV2 { data, .. } => {
let row = close_open_orders_v2_row::CloseOpenOrdersV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CloseOpenOrdersV3 { data, .. } => {
let row = close_open_orders_v3_row::CloseOpenOrdersV3Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeWhitelistDepositAccount { data, .. } => {
let row = initialize_whitelist_deposit_account_row::InitializeWhitelistDepositAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeWhitelistInsuranceAccount { data, .. } => {
let row = initialize_whitelist_insurance_account_row::InitializeWhitelistInsuranceAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeWhitelistTradingFeesAccount { data, .. } => {
let row = initialize_whitelist_trading_fees_account_row::InitializeWhitelistTradingFeesAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeInsuranceDepositAccount { data, .. } => {
let row = initialize_insurance_deposit_account_row::InitializeInsuranceDepositAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeCombinedInsuranceVault { data, .. } => {
let row = initialize_combined_insurance_vault_row::InitializeCombinedInsuranceVaultRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeCombinedVault { data, .. } => {
let row = initialize_combined_vault_row::InitializeCombinedVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeCombinedSocializedLossAccount { data, .. } => {
let row = initialize_combined_socialized_loss_account_row::InitializeCombinedSocializedLossAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::PlaceOrder { data, .. } => {
let row = place_order_row::PlaceOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::PlaceOrderV2 { data, .. } => {
let row = place_order_v2_row::PlaceOrderV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::PlaceOrderV3 { data, .. } => {
let row = place_order_v3_row::PlaceOrderV3Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::PlacePerpOrder { data, .. } => {
let row = place_perp_order_row::PlacePerpOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::PlacePerpOrderV2 { data, .. } => {
let row = place_perp_order_v2_row::PlacePerpOrderV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::PlaceOrderV4 { data, .. } => {
let row = place_order_v4_row::PlaceOrderV4Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::PlacePerpOrderV3 { data, .. } => {
let row = place_perp_order_v3_row::PlacePerpOrderV3Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CancelOrder { data, .. } => {
let row = cancel_order_row::CancelOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CancelOrderNoError { data, .. } => {
let row = cancel_order_no_error_row::CancelOrderNoErrorRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CancelAllMarketOrders { data, .. } => {
let row = cancel_all_market_orders_row::CancelAllMarketOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CancelOrderHalted { data, .. } => {
let row = cancel_order_halted_row::CancelOrderHaltedRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CancelOrderByClientOrderId { data, .. } => {
let row =
cancel_order_by_client_order_id_row::CancelOrderByClientOrderIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CancelOrderByClientOrderIdNoError { data, .. } => {
let row = cancel_order_by_client_order_id_no_error_row::CancelOrderByClientOrderIdNoErrorRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::PruneExpiredTifOrders { data, .. } => {
let row = prune_expired_tif_orders_row::PruneExpiredTifOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::ForceCancelOrderByOrderIdV2 { data, .. } => {
let row = force_cancel_order_by_order_id_v2_row::ForceCancelOrderByOrderIdV2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::ForceCancelOrderByOrderId { data, .. } => {
let row =
force_cancel_order_by_order_id_row::ForceCancelOrderByOrderIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::ForceCancelOrdersV2 { data, .. } => {
let row = force_cancel_orders_v2_row::ForceCancelOrdersV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::ForceCancelOrders { data, .. } => {
let row = force_cancel_orders_row::ForceCancelOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CrankEventQueue { data, .. } => {
let row = crank_event_queue_row::CrankEventQueueRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::CollectTreasuryFunds { data, .. } => {
let row = collect_treasury_funds_row::CollectTreasuryFundsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::TreasuryMovement { data, .. } => {
let row = treasury_movement_row::TreasuryMovementRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::RebalanceInsuranceVault { data, .. } => {
let row = rebalance_insurance_vault_row::RebalanceInsuranceVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::LiquidateV2 { data, .. } => {
let row = liquidate_v2_row::LiquidateV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::Liquidate { data, .. } => {
let row = liquidate_row::LiquidateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::BurnVaultTokens { data, .. } => {
let row = burn_vault_tokens_row::BurnVaultTokensRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::SettleDexFunds { data, .. } => {
let row = settle_dex_funds_row::SettleDexFundsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::PositionMovement { data, .. } => {
let row = position_movement_row::PositionMovementRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::TransferExcessSpreadBalance { data, .. } => {
let row =
transfer_excess_spread_balance_row::TransferExcessSpreadBalanceRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::ToggleMarketMaker { data, .. } => {
let row = toggle_market_maker_row::ToggleMarketMakerRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeReferrerAccount { data, .. } => {
let row = initialize_referrer_account_row::InitializeReferrerAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::ReferUser { data, .. } => {
let row = refer_user_row::ReferUserRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeReferrerAlias { data, .. } => {
let row = initialize_referrer_alias_row::InitializeReferrerAliasRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::SetReferralsRewards { data, .. } => {
let row = set_referrals_rewards_row::SetReferralsRewardsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::ClaimReferralsRewards { data, .. } => {
let row = claim_referrals_rewards_row::ClaimReferralsRewardsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::EditDelegatedPubkey { data, .. } => {
let row = edit_delegated_pubkey_row::EditDelegatedPubkeyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::ResetNumFlexUnderlyings { data, .. } => {
let row = reset_num_flex_underlyings_row::ResetNumFlexUnderlyingsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
ZetaInstruction::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 ZetaInstructionWithMetadata {
async fn upsert(&self, pool: &sqlx::PgPool) -> carbon_core::error::CarbonResult<()> {
let ZetaInstructionWithMetadata(decoded_instruction, metadata, raw_accounts) = self;
match decoded_instruction {
ZetaInstruction::InitializeZetaPricing { data, .. } => {
let row = initialize_zeta_pricing_row::InitializeZetaPricingRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateZetaPricingPubkeys { data, .. } => {
let row = update_zeta_pricing_pubkeys_row::UpdateZetaPricingPubkeysRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeZetaGroup { data, .. } => {
let row = initialize_zeta_group_row::InitializeZetaGroupRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::OverrideExpiry { data, .. } => {
let row = override_expiry_row::OverrideExpiryRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::MigrateToCrossMarginAccount { data, .. } => {
let row =
migrate_to_cross_margin_account_row::MigrateToCrossMarginAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeCrossMarginAccountManager { data, .. } => {
let row = initialize_cross_margin_account_manager_row::InitializeCrossMarginAccountManagerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeCrossMarginAccount { data, .. } => {
let row = initialize_cross_margin_account_row::InitializeCrossMarginAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeMarginAccount { data, .. } => {
let row = initialize_margin_account_row::InitializeMarginAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeSpreadAccount { data, .. } => {
let row = initialize_spread_account_row::InitializeSpreadAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CloseCrossMarginAccountManager { data, .. } => {
let row = close_cross_margin_account_manager_row::CloseCrossMarginAccountManagerRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CloseCrossMarginAccount { data, .. } => {
let row = close_cross_margin_account_row::CloseCrossMarginAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CloseMarginAccount { data, .. } => {
let row = close_margin_account_row::CloseMarginAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CloseSpreadAccount { data, .. } => {
let row = close_spread_account_row::CloseSpreadAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeUnderlying { data, .. } => {
let row = initialize_underlying_row::InitializeUnderlyingRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializePerpSyncQueue { data, .. } => {
let row = initialize_perp_sync_queue_row::InitializePerpSyncQueueRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeMarketIndexes { data, .. } => {
let row = initialize_market_indexes_row::InitializeMarketIndexesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeMarketNode { data, .. } => {
let row = initialize_market_node_row::InitializeMarketNodeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::Halt { data, .. } => {
let row = halt_row::HaltRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::Unhalt { data, .. } => {
let row = unhalt_row::UnhaltRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateHaltState { data, .. } => {
let row = update_halt_state_row::UpdateHaltStateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateVolatility { data, .. } => {
let row = update_volatility_row::UpdateVolatilityRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateInterestRate { data, .. } => {
let row = update_interest_rate_row::UpdateInterestRateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::AddPerpMarketIndex { data, .. } => {
let row = add_perp_market_index_row::AddPerpMarketIndexRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::AddMarketIndexes { data, .. } => {
let row = add_market_indexes_row::AddMarketIndexesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeZetaState { data, .. } => {
let row = initialize_zeta_state_row::InitializeZetaStateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeZetaTreasuryWallet { data, .. } => {
let row = initialize_zeta_treasury_wallet_row::InitializeZetaTreasuryWalletRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeZetaReferralsRewardsWallet { data, .. } => {
let row = initialize_zeta_referrals_rewards_wallet_row::InitializeZetaReferralsRewardsWalletRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateAdmin { data, .. } => {
let row = update_admin_row::UpdateAdminRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateSecondaryAdmin { data, .. } => {
let row = update_secondary_admin_row::UpdateSecondaryAdminRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateReferralsAdmin { data, .. } => {
let row = update_referrals_admin_row::UpdateReferralsAdminRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateZetaState { data, .. } => {
let row = update_zeta_state_row::UpdateZetaStateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateOracle { data, .. } => {
let row = update_oracle_row::UpdateOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateOracleBackupFeed { data, .. } => {
let row = update_oracle_backup_feed_row::UpdateOracleBackupFeedRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdatePricingParameters { data, .. } => {
let row = update_pricing_parameters_row::UpdatePricingParametersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateMarginParameters { data, .. } => {
let row = update_margin_parameters_row::UpdateMarginParametersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateZetaGroupMarginParameters { data, .. } => {
let row = update_zeta_group_margin_parameters_row::UpdateZetaGroupMarginParametersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdatePerpParameters { data, .. } => {
let row = update_perp_parameters_row::UpdatePerpParametersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateZetaGroupPerpParameters { data, .. } => {
let row = update_zeta_group_perp_parameters_row::UpdateZetaGroupPerpParametersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdateZetaGroupExpiryParameters { data, .. } => {
let row = update_zeta_group_expiry_parameters_row::UpdateZetaGroupExpiryParametersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::ToggleZetaGroupPerpsOnly { data, .. } => {
let row = toggle_zeta_group_perps_only_row::ToggleZetaGroupPerpsOnlyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CleanZetaMarkets { data, .. } => {
let row = clean_zeta_markets_row::CleanZetaMarketsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CleanZetaMarketHalted { data, .. } => {
let row = clean_zeta_market_halted_row::CleanZetaMarketHaltedRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::SettlePositionsHalted { data, .. } => {
let row = settle_positions_halted_row::SettlePositionsHaltedRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeMarketStrikes { data, .. } => {
let row = initialize_market_strikes_row::InitializeMarketStrikesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::ExpireSeriesOverride { data, .. } => {
let row = expire_series_override_row::ExpireSeriesOverrideRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::ExpireSeries { data, .. } => {
let row = expire_series_row::ExpireSeriesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeZetaMarket { data, .. } => {
let row = initialize_zeta_market_row::InitializeZetaMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeMarketTifEpochCycle { data, .. } => {
let row = initialize_market_tif_epoch_cycle_row::InitializeMarketTifEpochCycleRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::UpdatePricingV2 { data, .. } => {
let row = update_pricing_v2_row::UpdatePricingV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::ApplyPerpFunding { data, .. } => {
let row = apply_perp_funding_row::ApplyPerpFundingRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::Deposit { data, .. } => {
let row = deposit_row::DepositRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::DepositV2 { data, .. } => {
let row = deposit_v2_row::DepositV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::DepositInsuranceVault { data, .. } => {
let row = deposit_insurance_vault_row::DepositInsuranceVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::DepositInsuranceVaultV2 { data, .. } => {
let row = deposit_insurance_vault_v2_row::DepositInsuranceVaultV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::Withdraw { data, .. } => {
let row = withdraw_row::WithdrawRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::WithdrawV2 { data, .. } => {
let row = withdraw_v2_row::WithdrawV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::WithdrawInsuranceVault { data, .. } => {
let row = withdraw_insurance_vault_row::WithdrawInsuranceVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::WithdrawInsuranceVaultV2 { data, .. } => {
let row = withdraw_insurance_vault_v2_row::WithdrawInsuranceVaultV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeOpenOrders { data, .. } => {
let row = initialize_open_orders_row::InitializeOpenOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeOpenOrdersV2 { data, .. } => {
let row = initialize_open_orders_v2_row::InitializeOpenOrdersV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeOpenOrdersV3 { data, .. } => {
let row = initialize_open_orders_v3_row::InitializeOpenOrdersV3Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CloseOpenOrders { data, .. } => {
let row = close_open_orders_row::CloseOpenOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CloseOpenOrdersV2 { data, .. } => {
let row = close_open_orders_v2_row::CloseOpenOrdersV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CloseOpenOrdersV3 { data, .. } => {
let row = close_open_orders_v3_row::CloseOpenOrdersV3Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeWhitelistDepositAccount { data, .. } => {
let row = initialize_whitelist_deposit_account_row::InitializeWhitelistDepositAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeWhitelistInsuranceAccount { data, .. } => {
let row = initialize_whitelist_insurance_account_row::InitializeWhitelistInsuranceAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeWhitelistTradingFeesAccount { data, .. } => {
let row = initialize_whitelist_trading_fees_account_row::InitializeWhitelistTradingFeesAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeInsuranceDepositAccount { data, .. } => {
let row = initialize_insurance_deposit_account_row::InitializeInsuranceDepositAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeCombinedInsuranceVault { data, .. } => {
let row = initialize_combined_insurance_vault_row::InitializeCombinedInsuranceVaultRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeCombinedVault { data, .. } => {
let row = initialize_combined_vault_row::InitializeCombinedVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeCombinedSocializedLossAccount { data, .. } => {
let row = initialize_combined_socialized_loss_account_row::InitializeCombinedSocializedLossAccountRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::PlaceOrder { data, .. } => {
let row = place_order_row::PlaceOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::PlaceOrderV2 { data, .. } => {
let row = place_order_v2_row::PlaceOrderV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::PlaceOrderV3 { data, .. } => {
let row = place_order_v3_row::PlaceOrderV3Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::PlacePerpOrder { data, .. } => {
let row = place_perp_order_row::PlacePerpOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::PlacePerpOrderV2 { data, .. } => {
let row = place_perp_order_v2_row::PlacePerpOrderV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::PlaceOrderV4 { data, .. } => {
let row = place_order_v4_row::PlaceOrderV4Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::PlacePerpOrderV3 { data, .. } => {
let row = place_perp_order_v3_row::PlacePerpOrderV3Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CancelOrder { data, .. } => {
let row = cancel_order_row::CancelOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CancelOrderNoError { data, .. } => {
let row = cancel_order_no_error_row::CancelOrderNoErrorRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CancelAllMarketOrders { data, .. } => {
let row = cancel_all_market_orders_row::CancelAllMarketOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CancelOrderHalted { data, .. } => {
let row = cancel_order_halted_row::CancelOrderHaltedRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CancelOrderByClientOrderId { data, .. } => {
let row =
cancel_order_by_client_order_id_row::CancelOrderByClientOrderIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CancelOrderByClientOrderIdNoError { data, .. } => {
let row = cancel_order_by_client_order_id_no_error_row::CancelOrderByClientOrderIdNoErrorRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::PruneExpiredTifOrders { data, .. } => {
let row = prune_expired_tif_orders_row::PruneExpiredTifOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::ForceCancelOrderByOrderIdV2 { data, .. } => {
let row = force_cancel_order_by_order_id_v2_row::ForceCancelOrderByOrderIdV2Row::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::ForceCancelOrderByOrderId { data, .. } => {
let row =
force_cancel_order_by_order_id_row::ForceCancelOrderByOrderIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::ForceCancelOrdersV2 { data, .. } => {
let row = force_cancel_orders_v2_row::ForceCancelOrdersV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::ForceCancelOrders { data, .. } => {
let row = force_cancel_orders_row::ForceCancelOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CrankEventQueue { data, .. } => {
let row = crank_event_queue_row::CrankEventQueueRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CollectTreasuryFunds { data, .. } => {
let row = collect_treasury_funds_row::CollectTreasuryFundsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::TreasuryMovement { data, .. } => {
let row = treasury_movement_row::TreasuryMovementRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::RebalanceInsuranceVault { data, .. } => {
let row = rebalance_insurance_vault_row::RebalanceInsuranceVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::LiquidateV2 { data, .. } => {
let row = liquidate_v2_row::LiquidateV2Row::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::Liquidate { data, .. } => {
let row = liquidate_row::LiquidateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::BurnVaultTokens { data, .. } => {
let row = burn_vault_tokens_row::BurnVaultTokensRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::SettleDexFunds { data, .. } => {
let row = settle_dex_funds_row::SettleDexFundsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::PositionMovement { data, .. } => {
let row = position_movement_row::PositionMovementRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::TransferExcessSpreadBalance { data, .. } => {
let row =
transfer_excess_spread_balance_row::TransferExcessSpreadBalanceRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::ToggleMarketMaker { data, .. } => {
let row = toggle_market_maker_row::ToggleMarketMakerRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeReferrerAccount { data, .. } => {
let row = initialize_referrer_account_row::InitializeReferrerAccountRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::ReferUser { data, .. } => {
let row = refer_user_row::ReferUserRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::InitializeReferrerAlias { data, .. } => {
let row = initialize_referrer_alias_row::InitializeReferrerAliasRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::SetReferralsRewards { data, .. } => {
let row = set_referrals_rewards_row::SetReferralsRewardsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::ClaimReferralsRewards { data, .. } => {
let row = claim_referrals_rewards_row::ClaimReferralsRewardsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::EditDelegatedPubkey { data, .. } => {
let row = edit_delegated_pubkey_row::EditDelegatedPubkeyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::ResetNumFlexUnderlyings { data, .. } => {
let row = reset_num_flex_underlyings_row::ResetNumFlexUnderlyingsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
ZetaInstruction::CpiEvent { data, .. } => {
let row = cpi_event_row::CpiEventRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
}
}
}