pub mod add_amm_constituent_mapping_data_row;
pub mod add_insurance_fund_stake_row;
pub mod add_market_to_amm_cache_row;
pub mod admin_deposit_row;
pub mod admin_update_user_stats_paused_operations_row;
pub mod admin_withdraw_from_insurance_fund_vault_row;
pub mod begin_insurance_fund_swap_row;
pub mod begin_lp_swap_row;
pub mod begin_swap_row;
pub mod cancel_order_by_user_id_row;
pub mod cancel_order_row;
pub mod cancel_orders_by_ids_row;
pub mod cancel_orders_row;
pub mod cancel_request_remove_insurance_fund_stake_row;
pub mod change_approved_builder_row;
pub mod change_signed_msg_ws_delegate_status_row;
pub mod cpi_event_row;
pub mod delete_amm_cache_row;
pub mod delete_initialized_perp_market_row;
pub mod delete_initialized_spot_market_row;
pub mod delete_openbook_v2_fulfillment_config_row;
pub mod delete_prelaunch_oracle_row;
pub mod delete_serum_fulfillment_config_row;
pub mod delete_signed_msg_user_orders_row;
pub mod delete_user_row;
pub mod deposit_into_insurance_fund_stake_row;
pub mod deposit_into_isolated_perp_position_row;
pub mod deposit_into_perp_market_fee_pool_row;
pub mod deposit_into_spot_market_revenue_pool_row;
pub mod deposit_into_spot_market_vault_row;
pub mod deposit_row;
pub mod deposit_to_program_vault_row;
pub mod disable_user_high_leverage_mode_row;
pub mod enable_user_high_leverage_mode_row;
pub mod end_insurance_fund_swap_row;
pub mod end_lp_swap_row;
pub mod end_swap_row;
pub mod fill_perp_order_row;
pub mod fill_spot_order_row;
pub mod force_cancel_orders_row;
pub mod force_delete_user_row;
pub mod initialize_amm_cache_row;
pub mod initialize_constituent_row;
pub mod initialize_fuel_overflow_row;
pub mod initialize_high_leverage_mode_config_row;
pub mod initialize_if_rebalance_config_row;
pub mod initialize_insurance_fund_stake_row;
pub mod initialize_lp_pool_row;
pub mod initialize_openbook_v2_fulfillment_config_row;
pub mod initialize_perp_market_row;
pub mod initialize_phoenix_fulfillment_config_row;
pub mod initialize_prediction_market_row;
pub mod initialize_prelaunch_oracle_row;
pub mod initialize_protected_maker_mode_config_row;
pub mod initialize_pyth_lazer_oracle_row;
pub mod initialize_pyth_pull_oracle_row;
pub mod initialize_referrer_name_row;
pub mod initialize_revenue_share_escrow_row;
pub mod initialize_revenue_share_row;
pub mod initialize_row;
pub mod initialize_serum_fulfillment_config_row;
pub mod initialize_signed_msg_user_orders_row;
pub mod initialize_signed_msg_ws_delegates_row;
pub mod initialize_spot_market_row;
pub mod initialize_user_row;
pub mod initialize_user_stats_row;
pub mod liquidate_borrow_for_perp_pnl_row;
pub mod liquidate_perp_pnl_for_deposit_row;
pub mod liquidate_perp_row;
pub mod liquidate_perp_with_fill_row;
pub mod liquidate_spot_row;
pub mod liquidate_spot_with_swap_begin_row;
pub mod liquidate_spot_with_swap_end_row;
pub mod log_user_balances_row;
pub mod lp_pool_add_liquidity_row;
pub mod lp_pool_remove_liquidity_row;
pub mod lp_pool_swap_row;
pub mod modify_order_by_user_id_row;
pub mod modify_order_row;
pub mod move_amm_price_row;
pub mod openbook_v2_fulfillment_config_status_row;
pub mod override_amm_cache_info_row;
pub mod pause_spot_market_deposit_withdraw_row;
pub mod phoenix_fulfillment_config_status_row;
pub mod place_and_make_perp_order_row;
pub mod place_and_make_signed_msg_perp_order_row;
pub mod place_and_make_spot_order_row;
pub mod place_and_take_perp_order_row;
pub mod place_and_take_spot_order_row;
pub mod place_orders_row;
pub mod place_perp_order_row;
pub mod place_scale_orders_row;
pub mod place_signed_msg_taker_order_row;
pub mod place_spot_order_row;
pub mod post_multi_pyth_pull_oracle_updates_atomic_row;
pub mod post_pyth_lazer_oracle_update_row;
pub mod post_pyth_pull_oracle_update_atomic_row;
pub mod recenter_perp_market_amm_crank_row;
pub mod recenter_perp_market_amm_row;
pub mod reclaim_rent_row;
pub mod remove_amm_constituent_mapping_data_row;
pub mod remove_insurance_fund_stake_row;
pub mod repeg_amm_curve_row;
pub mod request_remove_insurance_fund_stake_row;
pub mod reset_fuel_season_row;
pub mod reset_perp_market_amm_oracle_twap_row;
pub mod resize_revenue_share_escrow_orders_row;
pub mod resize_signed_msg_user_orders_row;
pub mod resolve_perp_bankruptcy_row;
pub mod resolve_perp_pnl_deficit_row;
pub mod resolve_spot_bankruptcy_row;
pub mod revert_fill_row;
pub mod set_user_status_to_being_liquidated_row;
pub mod settle_expired_market_pools_to_revenue_pool_row;
pub mod settle_expired_market_row;
pub mod settle_funding_payment_row;
pub mod settle_multiple_pnls_row;
pub mod settle_perp_to_lp_pool_row;
pub mod settle_pnl_row;
pub mod settle_revenue_to_insurance_fund_row;
pub mod sweep_fuel_row;
pub mod transfer_deposit_row;
pub mod transfer_isolated_perp_position_deposit_row;
pub mod transfer_perp_position_row;
pub mod transfer_pools_row;
pub mod transfer_protocol_if_shares_to_revenue_pool_row;
pub mod trigger_order_row;
pub mod update_admin_row;
pub mod update_amm_cache_row;
pub mod update_amm_constituent_mapping_data_row;
pub mod update_amm_jit_intensity_row;
pub mod update_amms_row;
pub mod update_constituent_correlation_data_row;
pub mod update_constituent_oracle_info_row;
pub mod update_constituent_params_row;
pub mod update_constituent_paused_operations_row;
pub mod update_constituent_status_row;
pub mod update_delegate_user_gov_token_insurance_stake_row;
pub mod update_discount_mint_row;
pub mod update_exchange_status_row;
pub mod update_feature_bit_flags_builder_codes_row;
pub mod update_feature_bit_flags_median_trigger_price_row;
pub mod update_feature_bit_flags_mint_redeem_lp_pool_row;
pub mod update_feature_bit_flags_mm_oracle_row;
pub mod update_feature_bit_flags_settle_lp_pool_row;
pub mod update_feature_bit_flags_swap_lp_pool_row;
pub mod update_funding_rate_row;
pub mod update_high_leverage_mode_config_row;
pub mod update_if_rebalance_config_row;
pub mod update_initial_amm_cache_info_row;
pub mod update_initial_pct_to_liquidate_row;
pub mod update_insurance_fund_unstaking_period_row;
pub mod update_k_row;
pub mod update_liquidation_duration_row;
pub mod update_liquidation_margin_buffer_ratio_row;
pub mod update_lp_constituent_target_base_row;
pub mod update_lp_pool_aum_row;
pub mod update_lp_pool_params_row;
pub mod update_oracle_guard_rails_row;
pub mod update_perp_auction_duration_row;
pub mod update_perp_bid_ask_twap_row;
pub mod update_perp_fee_structure_row;
pub mod update_perp_market_amm_oracle_twap_row;
pub mod update_perp_market_amm_spread_adjustment_row;
pub mod update_perp_market_amm_summary_stats_row;
pub mod update_perp_market_base_spread_row;
pub mod update_perp_market_concentration_coef_row;
pub mod update_perp_market_config_row;
pub mod update_perp_market_contract_tier_row;
pub mod update_perp_market_curve_update_intensity_row;
pub mod update_perp_market_expiry_row;
pub mod update_perp_market_fee_adjustment_row;
pub mod update_perp_market_funding_period_row;
pub mod update_perp_market_high_leverage_margin_ratio_row;
pub mod update_perp_market_imf_factor_row;
pub mod update_perp_market_liquidation_fee_row;
pub mod update_perp_market_lp_pool_fee_transfer_scalar_row;
pub mod update_perp_market_lp_pool_id_row;
pub mod update_perp_market_lp_pool_paused_operations_row;
pub mod update_perp_market_lp_pool_status_row;
pub mod update_perp_market_margin_ratio_row;
pub mod update_perp_market_max_fill_reserve_fraction_row;
pub mod update_perp_market_max_imbalances_row;
pub mod update_perp_market_max_open_interest_row;
pub mod update_perp_market_max_slippage_ratio_row;
pub mod update_perp_market_max_spread_row;
pub mod update_perp_market_min_order_size_row;
pub mod update_perp_market_name_row;
pub mod update_perp_market_number_of_users_row;
pub mod update_perp_market_oracle_low_risk_slot_delay_override_row;
pub mod update_perp_market_oracle_row;
pub mod update_perp_market_oracle_slot_delay_override_row;
pub mod update_perp_market_paused_operations_row;
pub mod update_perp_market_pnl_pool_row;
pub mod update_perp_market_protected_maker_params_row;
pub mod update_perp_market_reference_price_offset_deadband_pct_row;
pub mod update_perp_market_status_row;
pub mod update_perp_market_step_size_and_tick_size_row;
pub mod update_perp_market_unrealized_asset_weight_row;
pub mod update_prelaunch_oracle_params_row;
pub mod update_prelaunch_oracle_row;
pub mod update_protected_maker_mode_config_row;
pub mod update_pyth_pull_oracle_row;
pub mod update_serum_fulfillment_config_status_row;
pub mod update_spot_auction_duration_row;
pub mod update_spot_fee_structure_row;
pub mod update_spot_market_asset_tier_row;
pub mod update_spot_market_borrow_rate_row;
pub mod update_spot_market_cumulative_interest_row;
pub mod update_spot_market_expiry_row;
pub mod update_spot_market_fee_adjustment_row;
pub mod update_spot_market_if_factor_row;
pub mod update_spot_market_if_paused_operations_row;
pub mod update_spot_market_liquidation_fee_row;
pub mod update_spot_market_margin_weights_row;
pub mod update_spot_market_max_token_borrows_row;
pub mod update_spot_market_max_token_deposits_row;
pub mod update_spot_market_min_order_size_row;
pub mod update_spot_market_name_row;
pub mod update_spot_market_oracle_row;
pub mod update_spot_market_orders_enabled_row;
pub mod update_spot_market_paused_operations_row;
pub mod update_spot_market_pool_id_row;
pub mod update_spot_market_revenue_settle_period_row;
pub mod update_spot_market_scale_initial_asset_weight_start_row;
pub mod update_spot_market_status_row;
pub mod update_spot_market_step_size_and_tick_size_row;
pub mod update_state_max_initialize_user_fee_row;
pub mod update_state_max_number_of_sub_accounts_row;
pub mod update_state_settlement_duration_row;
pub mod update_user_custom_margin_ratio_row;
pub mod update_user_delegate_row;
pub mod update_user_gov_token_insurance_stake_row;
pub mod update_user_idle_row;
pub mod update_user_margin_trading_enabled_row;
pub mod update_user_name_row;
pub mod update_user_perp_position_custom_margin_ratio_row;
pub mod update_user_pool_id_row;
pub mod update_user_protected_maker_orders_row;
pub mod update_user_quote_asset_insurance_stake_row;
pub mod update_user_reduce_only_row;
pub mod update_user_stats_referrer_status_row;
pub mod update_withdraw_guard_threshold_row;
pub mod view_lp_pool_add_liquidity_fees_row;
pub mod view_lp_pool_remove_liquidity_fees_row;
pub mod view_lp_pool_swap_fees_row;
pub mod withdraw_from_isolated_perp_position_row;
pub mod withdraw_from_program_vault_row;
pub mod withdraw_row;
pub mod zero_mm_oracle_fields_row;
pub use self::{
add_amm_constituent_mapping_data_row::*, add_insurance_fund_stake_row::*,
add_market_to_amm_cache_row::*, admin_deposit_row::*,
admin_update_user_stats_paused_operations_row::*,
admin_withdraw_from_insurance_fund_vault_row::*, begin_insurance_fund_swap_row::*,
begin_lp_swap_row::*, begin_swap_row::*, cancel_order_by_user_id_row::*, cancel_order_row::*,
cancel_orders_by_ids_row::*, cancel_orders_row::*,
cancel_request_remove_insurance_fund_stake_row::*, change_approved_builder_row::*,
change_signed_msg_ws_delegate_status_row::*, cpi_event_row::*, delete_amm_cache_row::*,
delete_initialized_perp_market_row::*, delete_initialized_spot_market_row::*,
delete_openbook_v2_fulfillment_config_row::*, delete_prelaunch_oracle_row::*,
delete_serum_fulfillment_config_row::*, delete_signed_msg_user_orders_row::*,
delete_user_row::*, deposit_into_insurance_fund_stake_row::*,
deposit_into_isolated_perp_position_row::*, deposit_into_perp_market_fee_pool_row::*,
deposit_into_spot_market_revenue_pool_row::*, deposit_into_spot_market_vault_row::*,
deposit_row::*, deposit_to_program_vault_row::*, disable_user_high_leverage_mode_row::*,
enable_user_high_leverage_mode_row::*, end_insurance_fund_swap_row::*, end_lp_swap_row::*,
end_swap_row::*, fill_perp_order_row::*, fill_spot_order_row::*, force_cancel_orders_row::*,
force_delete_user_row::*, initialize_amm_cache_row::*, initialize_constituent_row::*,
initialize_fuel_overflow_row::*, initialize_high_leverage_mode_config_row::*,
initialize_if_rebalance_config_row::*, initialize_insurance_fund_stake_row::*,
initialize_lp_pool_row::*, initialize_openbook_v2_fulfillment_config_row::*,
initialize_perp_market_row::*, initialize_phoenix_fulfillment_config_row::*,
initialize_prediction_market_row::*, initialize_prelaunch_oracle_row::*,
initialize_protected_maker_mode_config_row::*, initialize_pyth_lazer_oracle_row::*,
initialize_pyth_pull_oracle_row::*, initialize_referrer_name_row::*,
initialize_revenue_share_escrow_row::*, initialize_revenue_share_row::*, initialize_row::*,
initialize_serum_fulfillment_config_row::*, initialize_signed_msg_user_orders_row::*,
initialize_signed_msg_ws_delegates_row::*, initialize_spot_market_row::*,
initialize_user_row::*, initialize_user_stats_row::*, liquidate_borrow_for_perp_pnl_row::*,
liquidate_perp_pnl_for_deposit_row::*, liquidate_perp_row::*, liquidate_perp_with_fill_row::*,
liquidate_spot_row::*, liquidate_spot_with_swap_begin_row::*,
liquidate_spot_with_swap_end_row::*, log_user_balances_row::*, lp_pool_add_liquidity_row::*,
lp_pool_remove_liquidity_row::*, lp_pool_swap_row::*, modify_order_by_user_id_row::*,
modify_order_row::*, move_amm_price_row::*, openbook_v2_fulfillment_config_status_row::*,
override_amm_cache_info_row::*, pause_spot_market_deposit_withdraw_row::*,
phoenix_fulfillment_config_status_row::*, place_and_make_perp_order_row::*,
place_and_make_signed_msg_perp_order_row::*, place_and_make_spot_order_row::*,
place_and_take_perp_order_row::*, place_and_take_spot_order_row::*, place_orders_row::*,
place_perp_order_row::*, place_scale_orders_row::*, place_signed_msg_taker_order_row::*,
place_spot_order_row::*, post_multi_pyth_pull_oracle_updates_atomic_row::*,
post_pyth_lazer_oracle_update_row::*, post_pyth_pull_oracle_update_atomic_row::*,
recenter_perp_market_amm_crank_row::*, recenter_perp_market_amm_row::*, reclaim_rent_row::*,
remove_amm_constituent_mapping_data_row::*, remove_insurance_fund_stake_row::*,
repeg_amm_curve_row::*, request_remove_insurance_fund_stake_row::*, reset_fuel_season_row::*,
reset_perp_market_amm_oracle_twap_row::*, resize_revenue_share_escrow_orders_row::*,
resize_signed_msg_user_orders_row::*, resolve_perp_bankruptcy_row::*,
resolve_perp_pnl_deficit_row::*, resolve_spot_bankruptcy_row::*, revert_fill_row::*,
set_user_status_to_being_liquidated_row::*, settle_expired_market_pools_to_revenue_pool_row::*,
settle_expired_market_row::*, settle_funding_payment_row::*, settle_multiple_pnls_row::*,
settle_perp_to_lp_pool_row::*, settle_pnl_row::*, settle_revenue_to_insurance_fund_row::*,
sweep_fuel_row::*, transfer_deposit_row::*, transfer_isolated_perp_position_deposit_row::*,
transfer_perp_position_row::*, transfer_pools_row::*,
transfer_protocol_if_shares_to_revenue_pool_row::*, trigger_order_row::*, update_admin_row::*,
update_amm_cache_row::*, update_amm_constituent_mapping_data_row::*,
update_amm_jit_intensity_row::*, update_amms_row::*,
update_constituent_correlation_data_row::*, update_constituent_oracle_info_row::*,
update_constituent_params_row::*, update_constituent_paused_operations_row::*,
update_constituent_status_row::*, update_delegate_user_gov_token_insurance_stake_row::*,
update_discount_mint_row::*, update_exchange_status_row::*,
update_feature_bit_flags_builder_codes_row::*,
update_feature_bit_flags_median_trigger_price_row::*,
update_feature_bit_flags_mint_redeem_lp_pool_row::*, update_feature_bit_flags_mm_oracle_row::*,
update_feature_bit_flags_settle_lp_pool_row::*, update_feature_bit_flags_swap_lp_pool_row::*,
update_funding_rate_row::*, update_high_leverage_mode_config_row::*,
update_if_rebalance_config_row::*, update_initial_amm_cache_info_row::*,
update_initial_pct_to_liquidate_row::*, update_insurance_fund_unstaking_period_row::*,
update_k_row::*, update_liquidation_duration_row::*,
update_liquidation_margin_buffer_ratio_row::*, update_lp_constituent_target_base_row::*,
update_lp_pool_aum_row::*, update_lp_pool_params_row::*, update_oracle_guard_rails_row::*,
update_perp_auction_duration_row::*, update_perp_bid_ask_twap_row::*,
update_perp_fee_structure_row::*, update_perp_market_amm_oracle_twap_row::*,
update_perp_market_amm_spread_adjustment_row::*, update_perp_market_amm_summary_stats_row::*,
update_perp_market_base_spread_row::*, update_perp_market_concentration_coef_row::*,
update_perp_market_config_row::*, update_perp_market_contract_tier_row::*,
update_perp_market_curve_update_intensity_row::*, update_perp_market_expiry_row::*,
update_perp_market_fee_adjustment_row::*, update_perp_market_funding_period_row::*,
update_perp_market_high_leverage_margin_ratio_row::*, update_perp_market_imf_factor_row::*,
update_perp_market_liquidation_fee_row::*,
update_perp_market_lp_pool_fee_transfer_scalar_row::*, update_perp_market_lp_pool_id_row::*,
update_perp_market_lp_pool_paused_operations_row::*, update_perp_market_lp_pool_status_row::*,
update_perp_market_margin_ratio_row::*, update_perp_market_max_fill_reserve_fraction_row::*,
update_perp_market_max_imbalances_row::*, update_perp_market_max_open_interest_row::*,
update_perp_market_max_slippage_ratio_row::*, update_perp_market_max_spread_row::*,
update_perp_market_min_order_size_row::*, update_perp_market_name_row::*,
update_perp_market_number_of_users_row::*,
update_perp_market_oracle_low_risk_slot_delay_override_row::*,
update_perp_market_oracle_row::*, update_perp_market_oracle_slot_delay_override_row::*,
update_perp_market_paused_operations_row::*, update_perp_market_pnl_pool_row::*,
update_perp_market_protected_maker_params_row::*,
update_perp_market_reference_price_offset_deadband_pct_row::*,
update_perp_market_status_row::*, update_perp_market_step_size_and_tick_size_row::*,
update_perp_market_unrealized_asset_weight_row::*, update_prelaunch_oracle_params_row::*,
update_prelaunch_oracle_row::*, update_protected_maker_mode_config_row::*,
update_pyth_pull_oracle_row::*, update_serum_fulfillment_config_status_row::*,
update_spot_auction_duration_row::*, update_spot_fee_structure_row::*,
update_spot_market_asset_tier_row::*, update_spot_market_borrow_rate_row::*,
update_spot_market_cumulative_interest_row::*, update_spot_market_expiry_row::*,
update_spot_market_fee_adjustment_row::*, update_spot_market_if_factor_row::*,
update_spot_market_if_paused_operations_row::*, update_spot_market_liquidation_fee_row::*,
update_spot_market_margin_weights_row::*, update_spot_market_max_token_borrows_row::*,
update_spot_market_max_token_deposits_row::*, update_spot_market_min_order_size_row::*,
update_spot_market_name_row::*, update_spot_market_oracle_row::*,
update_spot_market_orders_enabled_row::*, update_spot_market_paused_operations_row::*,
update_spot_market_pool_id_row::*, update_spot_market_revenue_settle_period_row::*,
update_spot_market_scale_initial_asset_weight_start_row::*, update_spot_market_status_row::*,
update_spot_market_step_size_and_tick_size_row::*, update_state_max_initialize_user_fee_row::*,
update_state_max_number_of_sub_accounts_row::*, update_state_settlement_duration_row::*,
update_user_custom_margin_ratio_row::*, update_user_delegate_row::*,
update_user_gov_token_insurance_stake_row::*, update_user_idle_row::*,
update_user_margin_trading_enabled_row::*, update_user_name_row::*,
update_user_perp_position_custom_margin_ratio_row::*, update_user_pool_id_row::*,
update_user_protected_maker_orders_row::*, update_user_quote_asset_insurance_stake_row::*,
update_user_reduce_only_row::*, update_user_stats_referrer_status_row::*,
update_withdraw_guard_threshold_row::*, view_lp_pool_add_liquidity_fees_row::*,
view_lp_pool_remove_liquidity_fees_row::*, view_lp_pool_swap_fees_row::*,
withdraw_from_isolated_perp_position_row::*, withdraw_from_program_vault_row::*,
withdraw_row::*, zero_mm_oracle_fields_row::*,
};
use super::DriftV2Instruction;
pub struct DriftV2InstructionsMigration;
impl sqlx_migrator::Migration<sqlx::Postgres> for DriftV2InstructionsMigration {
fn app(&self) -> &str {
"drift-v2"
}
fn name(&self) -> &str {
"drift_v2_instructions"
}
fn operations(&self) -> Vec<Box<dyn sqlx_migrator::Operation<sqlx::Postgres>>> {
vec![
Box::new(AddAmmConstituentMappingDataMigrationOperation),
Box::new(AddInsuranceFundStakeMigrationOperation),
Box::new(AddMarketToAmmCacheMigrationOperation),
Box::new(AdminDepositMigrationOperation),
Box::new(AdminUpdateUserStatsPausedOperationsMigrationOperation),
Box::new(AdminWithdrawFromInsuranceFundVaultMigrationOperation),
Box::new(BeginInsuranceFundSwapMigrationOperation),
Box::new(BeginLpSwapMigrationOperation),
Box::new(BeginSwapMigrationOperation),
Box::new(CancelOrderMigrationOperation),
Box::new(CancelOrderByUserIdMigrationOperation),
Box::new(CancelOrdersMigrationOperation),
Box::new(CancelOrdersByIdsMigrationOperation),
Box::new(CancelRequestRemoveInsuranceFundStakeMigrationOperation),
Box::new(ChangeApprovedBuilderMigrationOperation),
Box::new(ChangeSignedMsgWsDelegateStatusMigrationOperation),
Box::new(DeleteAmmCacheMigrationOperation),
Box::new(DeleteInitializedPerpMarketMigrationOperation),
Box::new(DeleteInitializedSpotMarketMigrationOperation),
Box::new(DeleteOpenbookV2FulfillmentConfigMigrationOperation),
Box::new(DeletePrelaunchOracleMigrationOperation),
Box::new(DeleteSerumFulfillmentConfigMigrationOperation),
Box::new(DeleteSignedMsgUserOrdersMigrationOperation),
Box::new(DeleteUserMigrationOperation),
Box::new(DepositMigrationOperation),
Box::new(DepositIntoInsuranceFundStakeMigrationOperation),
Box::new(DepositIntoIsolatedPerpPositionMigrationOperation),
Box::new(DepositIntoPerpMarketFeePoolMigrationOperation),
Box::new(DepositIntoSpotMarketRevenuePoolMigrationOperation),
Box::new(DepositIntoSpotMarketVaultMigrationOperation),
Box::new(DepositToProgramVaultMigrationOperation),
Box::new(DisableUserHighLeverageModeMigrationOperation),
Box::new(EnableUserHighLeverageModeMigrationOperation),
Box::new(EndInsuranceFundSwapMigrationOperation),
Box::new(EndLpSwapMigrationOperation),
Box::new(EndSwapMigrationOperation),
Box::new(FillPerpOrderMigrationOperation),
Box::new(FillSpotOrderMigrationOperation),
Box::new(ForceCancelOrdersMigrationOperation),
Box::new(ForceDeleteUserMigrationOperation),
Box::new(InitializeMigrationOperation),
Box::new(InitializeAmmCacheMigrationOperation),
Box::new(InitializeConstituentMigrationOperation),
Box::new(InitializeFuelOverflowMigrationOperation),
Box::new(InitializeHighLeverageModeConfigMigrationOperation),
Box::new(InitializeIfRebalanceConfigMigrationOperation),
Box::new(InitializeInsuranceFundStakeMigrationOperation),
Box::new(InitializeLpPoolMigrationOperation),
Box::new(InitializeOpenbookV2FulfillmentConfigMigrationOperation),
Box::new(InitializePerpMarketMigrationOperation),
Box::new(InitializePhoenixFulfillmentConfigMigrationOperation),
Box::new(InitializePredictionMarketMigrationOperation),
Box::new(InitializePrelaunchOracleMigrationOperation),
Box::new(InitializeProtectedMakerModeConfigMigrationOperation),
Box::new(InitializePythLazerOracleMigrationOperation),
Box::new(InitializePythPullOracleMigrationOperation),
Box::new(InitializeReferrerNameMigrationOperation),
Box::new(InitializeRevenueShareMigrationOperation),
Box::new(InitializeRevenueShareEscrowMigrationOperation),
Box::new(InitializeSerumFulfillmentConfigMigrationOperation),
Box::new(InitializeSignedMsgUserOrdersMigrationOperation),
Box::new(InitializeSignedMsgWsDelegatesMigrationOperation),
Box::new(InitializeSpotMarketMigrationOperation),
Box::new(InitializeUserMigrationOperation),
Box::new(InitializeUserStatsMigrationOperation),
Box::new(LiquidateBorrowForPerpPnlMigrationOperation),
Box::new(LiquidatePerpMigrationOperation),
Box::new(LiquidatePerpPnlForDepositMigrationOperation),
Box::new(LiquidatePerpWithFillMigrationOperation),
Box::new(LiquidateSpotMigrationOperation),
Box::new(LiquidateSpotWithSwapBeginMigrationOperation),
Box::new(LiquidateSpotWithSwapEndMigrationOperation),
Box::new(LogUserBalancesMigrationOperation),
Box::new(LpPoolAddLiquidityMigrationOperation),
Box::new(LpPoolRemoveLiquidityMigrationOperation),
Box::new(LpPoolSwapMigrationOperation),
Box::new(ModifyOrderMigrationOperation),
Box::new(ModifyOrderByUserIdMigrationOperation),
Box::new(MoveAmmPriceMigrationOperation),
Box::new(OpenbookV2FulfillmentConfigStatusMigrationOperation),
Box::new(OverrideAmmCacheInfoMigrationOperation),
Box::new(PauseSpotMarketDepositWithdrawMigrationOperation),
Box::new(PhoenixFulfillmentConfigStatusMigrationOperation),
Box::new(PlaceAndMakePerpOrderMigrationOperation),
Box::new(PlaceAndMakeSignedMsgPerpOrderMigrationOperation),
Box::new(PlaceAndMakeSpotOrderMigrationOperation),
Box::new(PlaceAndTakePerpOrderMigrationOperation),
Box::new(PlaceAndTakeSpotOrderMigrationOperation),
Box::new(PlaceOrdersMigrationOperation),
Box::new(PlacePerpOrderMigrationOperation),
Box::new(PlaceScaleOrdersMigrationOperation),
Box::new(PlaceSignedMsgTakerOrderMigrationOperation),
Box::new(PlaceSpotOrderMigrationOperation),
Box::new(PostMultiPythPullOracleUpdatesAtomicMigrationOperation),
Box::new(PostPythLazerOracleUpdateMigrationOperation),
Box::new(PostPythPullOracleUpdateAtomicMigrationOperation),
Box::new(RecenterPerpMarketAmmMigrationOperation),
Box::new(RecenterPerpMarketAmmCrankMigrationOperation),
Box::new(ReclaimRentMigrationOperation),
Box::new(RemoveAmmConstituentMappingDataMigrationOperation),
Box::new(RemoveInsuranceFundStakeMigrationOperation),
Box::new(RepegAmmCurveMigrationOperation),
Box::new(RequestRemoveInsuranceFundStakeMigrationOperation),
Box::new(ResetFuelSeasonMigrationOperation),
Box::new(ResetPerpMarketAmmOracleTwapMigrationOperation),
Box::new(ResizeRevenueShareEscrowOrdersMigrationOperation),
Box::new(ResizeSignedMsgUserOrdersMigrationOperation),
Box::new(ResolvePerpBankruptcyMigrationOperation),
Box::new(ResolvePerpPnlDeficitMigrationOperation),
Box::new(ResolveSpotBankruptcyMigrationOperation),
Box::new(RevertFillMigrationOperation),
Box::new(SettleExpiredMarketMigrationOperation),
Box::new(SettleExpiredMarketPoolsToRevenuePoolMigrationOperation),
Box::new(SettleFundingPaymentMigrationOperation),
Box::new(SettleMultiplePnlsMigrationOperation),
Box::new(SettlePerpToLpPoolMigrationOperation),
Box::new(SettlePnlMigrationOperation),
Box::new(SettleRevenueToInsuranceFundMigrationOperation),
Box::new(SetUserStatusToBeingLiquidatedMigrationOperation),
Box::new(SweepFuelMigrationOperation),
Box::new(TransferDepositMigrationOperation),
Box::new(TransferIsolatedPerpPositionDepositMigrationOperation),
Box::new(TransferPerpPositionMigrationOperation),
Box::new(TransferPoolsMigrationOperation),
Box::new(TransferProtocolIfSharesToRevenuePoolMigrationOperation),
Box::new(TriggerOrderMigrationOperation),
Box::new(UpdateAdminMigrationOperation),
Box::new(UpdateAmmCacheMigrationOperation),
Box::new(UpdateAmmConstituentMappingDataMigrationOperation),
Box::new(UpdateAmmJitIntensityMigrationOperation),
Box::new(UpdateAmmsMigrationOperation),
Box::new(UpdateConstituentCorrelationDataMigrationOperation),
Box::new(UpdateConstituentOracleInfoMigrationOperation),
Box::new(UpdateConstituentParamsMigrationOperation),
Box::new(UpdateConstituentPausedOperationsMigrationOperation),
Box::new(UpdateConstituentStatusMigrationOperation),
Box::new(UpdateDelegateUserGovTokenInsuranceStakeMigrationOperation),
Box::new(UpdateDiscountMintMigrationOperation),
Box::new(UpdateExchangeStatusMigrationOperation),
Box::new(UpdateFeatureBitFlagsBuilderCodesMigrationOperation),
Box::new(UpdateFeatureBitFlagsMedianTriggerPriceMigrationOperation),
Box::new(UpdateFeatureBitFlagsMintRedeemLpPoolMigrationOperation),
Box::new(UpdateFeatureBitFlagsMmOracleMigrationOperation),
Box::new(UpdateFeatureBitFlagsSettleLpPoolMigrationOperation),
Box::new(UpdateFeatureBitFlagsSwapLpPoolMigrationOperation),
Box::new(UpdateFundingRateMigrationOperation),
Box::new(UpdateHighLeverageModeConfigMigrationOperation),
Box::new(UpdateIfRebalanceConfigMigrationOperation),
Box::new(UpdateInitialAmmCacheInfoMigrationOperation),
Box::new(UpdateInitialPctToLiquidateMigrationOperation),
Box::new(UpdateInsuranceFundUnstakingPeriodMigrationOperation),
Box::new(UpdateKMigrationOperation),
Box::new(UpdateLiquidationDurationMigrationOperation),
Box::new(UpdateLiquidationMarginBufferRatioMigrationOperation),
Box::new(UpdateLpConstituentTargetBaseMigrationOperation),
Box::new(UpdateLpPoolAumMigrationOperation),
Box::new(UpdateLpPoolParamsMigrationOperation),
Box::new(UpdateOracleGuardRailsMigrationOperation),
Box::new(UpdatePerpAuctionDurationMigrationOperation),
Box::new(UpdatePerpBidAskTwapMigrationOperation),
Box::new(UpdatePerpFeeStructureMigrationOperation),
Box::new(UpdatePerpMarketAmmOracleTwapMigrationOperation),
Box::new(UpdatePerpMarketAmmSpreadAdjustmentMigrationOperation),
Box::new(UpdatePerpMarketAmmSummaryStatsMigrationOperation),
Box::new(UpdatePerpMarketBaseSpreadMigrationOperation),
Box::new(UpdatePerpMarketConcentrationCoefMigrationOperation),
Box::new(UpdatePerpMarketConfigMigrationOperation),
Box::new(UpdatePerpMarketContractTierMigrationOperation),
Box::new(UpdatePerpMarketCurveUpdateIntensityMigrationOperation),
Box::new(UpdatePerpMarketExpiryMigrationOperation),
Box::new(UpdatePerpMarketFeeAdjustmentMigrationOperation),
Box::new(UpdatePerpMarketFundingPeriodMigrationOperation),
Box::new(UpdatePerpMarketHighLeverageMarginRatioMigrationOperation),
Box::new(UpdatePerpMarketImfFactorMigrationOperation),
Box::new(UpdatePerpMarketLiquidationFeeMigrationOperation),
Box::new(UpdatePerpMarketLpPoolFeeTransferScalarMigrationOperation),
Box::new(UpdatePerpMarketLpPoolIdMigrationOperation),
Box::new(UpdatePerpMarketLpPoolPausedOperationsMigrationOperation),
Box::new(UpdatePerpMarketLpPoolStatusMigrationOperation),
Box::new(UpdatePerpMarketMarginRatioMigrationOperation),
Box::new(UpdatePerpMarketMaxFillReserveFractionMigrationOperation),
Box::new(UpdatePerpMarketMaxImbalancesMigrationOperation),
Box::new(UpdatePerpMarketMaxOpenInterestMigrationOperation),
Box::new(UpdatePerpMarketMaxSlippageRatioMigrationOperation),
Box::new(UpdatePerpMarketMaxSpreadMigrationOperation),
Box::new(UpdatePerpMarketMinOrderSizeMigrationOperation),
Box::new(UpdatePerpMarketNameMigrationOperation),
Box::new(UpdatePerpMarketNumberOfUsersMigrationOperation),
Box::new(UpdatePerpMarketOracleMigrationOperation),
Box::new(UpdatePerpMarketOracleLowRiskSlotDelayOverrideMigrationOperation),
Box::new(UpdatePerpMarketOracleSlotDelayOverrideMigrationOperation),
Box::new(UpdatePerpMarketPausedOperationsMigrationOperation),
Box::new(UpdatePerpMarketPnlPoolMigrationOperation),
Box::new(UpdatePerpMarketProtectedMakerParamsMigrationOperation),
Box::new(UpdatePerpMarketReferencePriceOffsetDeadbandPctMigrationOperation),
Box::new(UpdatePerpMarketStatusMigrationOperation),
Box::new(UpdatePerpMarketStepSizeAndTickSizeMigrationOperation),
Box::new(UpdatePerpMarketUnrealizedAssetWeightMigrationOperation),
Box::new(UpdatePrelaunchOracleMigrationOperation),
Box::new(UpdatePrelaunchOracleParamsMigrationOperation),
Box::new(UpdateProtectedMakerModeConfigMigrationOperation),
Box::new(UpdatePythPullOracleMigrationOperation),
Box::new(UpdateSerumFulfillmentConfigStatusMigrationOperation),
Box::new(UpdateSpotAuctionDurationMigrationOperation),
Box::new(UpdateSpotFeeStructureMigrationOperation),
Box::new(UpdateSpotMarketAssetTierMigrationOperation),
Box::new(UpdateSpotMarketBorrowRateMigrationOperation),
Box::new(UpdateSpotMarketCumulativeInterestMigrationOperation),
Box::new(UpdateSpotMarketExpiryMigrationOperation),
Box::new(UpdateSpotMarketFeeAdjustmentMigrationOperation),
Box::new(UpdateSpotMarketIfFactorMigrationOperation),
Box::new(UpdateSpotMarketIfPausedOperationsMigrationOperation),
Box::new(UpdateSpotMarketLiquidationFeeMigrationOperation),
Box::new(UpdateSpotMarketMarginWeightsMigrationOperation),
Box::new(UpdateSpotMarketMaxTokenBorrowsMigrationOperation),
Box::new(UpdateSpotMarketMaxTokenDepositsMigrationOperation),
Box::new(UpdateSpotMarketMinOrderSizeMigrationOperation),
Box::new(UpdateSpotMarketNameMigrationOperation),
Box::new(UpdateSpotMarketOracleMigrationOperation),
Box::new(UpdateSpotMarketOrdersEnabledMigrationOperation),
Box::new(UpdateSpotMarketPausedOperationsMigrationOperation),
Box::new(UpdateSpotMarketPoolIdMigrationOperation),
Box::new(UpdateSpotMarketRevenueSettlePeriodMigrationOperation),
Box::new(UpdateSpotMarketScaleInitialAssetWeightStartMigrationOperation),
Box::new(UpdateSpotMarketStatusMigrationOperation),
Box::new(UpdateSpotMarketStepSizeAndTickSizeMigrationOperation),
Box::new(UpdateStateMaxInitializeUserFeeMigrationOperation),
Box::new(UpdateStateMaxNumberOfSubAccountsMigrationOperation),
Box::new(UpdateStateSettlementDurationMigrationOperation),
Box::new(UpdateUserCustomMarginRatioMigrationOperation),
Box::new(UpdateUserDelegateMigrationOperation),
Box::new(UpdateUserGovTokenInsuranceStakeMigrationOperation),
Box::new(UpdateUserIdleMigrationOperation),
Box::new(UpdateUserMarginTradingEnabledMigrationOperation),
Box::new(UpdateUserNameMigrationOperation),
Box::new(UpdateUserPerpPositionCustomMarginRatioMigrationOperation),
Box::new(UpdateUserPoolIdMigrationOperation),
Box::new(UpdateUserProtectedMakerOrdersMigrationOperation),
Box::new(UpdateUserQuoteAssetInsuranceStakeMigrationOperation),
Box::new(UpdateUserReduceOnlyMigrationOperation),
Box::new(UpdateUserStatsReferrerStatusMigrationOperation),
Box::new(UpdateWithdrawGuardThresholdMigrationOperation),
Box::new(ViewLpPoolAddLiquidityFeesMigrationOperation),
Box::new(ViewLpPoolRemoveLiquidityFeesMigrationOperation),
Box::new(ViewLpPoolSwapFeesMigrationOperation),
Box::new(WithdrawMigrationOperation),
Box::new(WithdrawFromIsolatedPerpPositionMigrationOperation),
Box::new(WithdrawFromProgramVaultMigrationOperation),
Box::new(ZeroMmOracleFieldsMigrationOperation),
Box::new(CpiEventMigrationOperation),
]
}
fn parents(&self) -> Vec<Box<dyn sqlx_migrator::Migration<sqlx::Postgres>>> {
vec![]
}
}
pub struct DriftV2InstructionWithMetadata(
pub DriftV2Instruction,
pub carbon_core::instruction::InstructionMetadata,
pub Vec<solana_instruction::AccountMeta>,
);
impl
From<(
DriftV2Instruction,
carbon_core::instruction::InstructionMetadata,
Vec<solana_instruction::AccountMeta>,
)> for DriftV2InstructionWithMetadata
{
fn from(
value: (
DriftV2Instruction,
carbon_core::instruction::InstructionMetadata,
Vec<solana_instruction::AccountMeta>,
),
) -> Self {
DriftV2InstructionWithMetadata(value.0, value.1, value.2)
}
}
#[async_trait::async_trait]
impl carbon_core::postgres::operations::Insert for DriftV2InstructionWithMetadata {
async fn insert(&self, pool: &sqlx::PgPool) -> carbon_core::error::CarbonResult<()> {
let DriftV2InstructionWithMetadata(decoded_instruction, metadata, raw_accounts) = self;
match decoded_instruction {
DriftV2Instruction::InitializeUser { data, .. } => {
let row = initialize_user_row::InitializeUserRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeUserStats { data, .. } => {
let row = initialize_user_stats_row::InitializeUserStatsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeSignedMsgUserOrders { data, .. } => {
let row = initialize_signed_msg_user_orders_row::InitializeSignedMsgUserOrdersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ResizeSignedMsgUserOrders { data, .. } => {
let row =
resize_signed_msg_user_orders_row::ResizeSignedMsgUserOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeSignedMsgWsDelegates { data, .. } => {
let row = initialize_signed_msg_ws_delegates_row::InitializeSignedMsgWsDelegatesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ChangeSignedMsgWsDelegateStatus { data, .. } => {
let row = change_signed_msg_ws_delegate_status_row::ChangeSignedMsgWsDelegateStatusRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeFuelOverflow { data, .. } => {
let row = initialize_fuel_overflow_row::InitializeFuelOverflowRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::SweepFuel { data, .. } => {
let row = sweep_fuel_row::SweepFuelRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ResetFuelSeason { data, .. } => {
let row = reset_fuel_season_row::ResetFuelSeasonRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeReferrerName { data, .. } => {
let row = initialize_referrer_name_row::InitializeReferrerNameRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::Deposit { data, .. } => {
let row = deposit_row::DepositRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::Withdraw { data, .. } => {
let row = withdraw_row::WithdrawRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::TransferDeposit { data, .. } => {
let row = transfer_deposit_row::TransferDepositRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::TransferPools { data, .. } => {
let row = transfer_pools_row::TransferPoolsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::TransferPerpPosition { data, .. } => {
let row = transfer_perp_position_row::TransferPerpPositionRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DepositIntoIsolatedPerpPosition { data, .. } => {
let row = deposit_into_isolated_perp_position_row::DepositIntoIsolatedPerpPositionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::TransferIsolatedPerpPositionDeposit { data, .. } => {
let row = transfer_isolated_perp_position_deposit_row::TransferIsolatedPerpPositionDepositRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::WithdrawFromIsolatedPerpPosition { data, .. } => {
let row = withdraw_from_isolated_perp_position_row::WithdrawFromIsolatedPerpPositionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PlacePerpOrder { data, .. } => {
let row = place_perp_order_row::PlacePerpOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::CancelOrder { data, .. } => {
let row = cancel_order_row::CancelOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::CancelOrderByUserId { data, .. } => {
let row = cancel_order_by_user_id_row::CancelOrderByUserIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::CancelOrders { data, .. } => {
let row = cancel_orders_row::CancelOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::CancelOrdersByIds { data, .. } => {
let row = cancel_orders_by_ids_row::CancelOrdersByIdsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ModifyOrder { data, .. } => {
let row = modify_order_row::ModifyOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ModifyOrderByUserId { data, .. } => {
let row = modify_order_by_user_id_row::ModifyOrderByUserIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceAndTakePerpOrder { data, .. } => {
let row = place_and_take_perp_order_row::PlaceAndTakePerpOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceAndMakePerpOrder { data, .. } => {
let row = place_and_make_perp_order_row::PlaceAndMakePerpOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceAndMakeSignedMsgPerpOrder { data, .. } => {
let row = place_and_make_signed_msg_perp_order_row::PlaceAndMakeSignedMsgPerpOrderRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceSignedMsgTakerOrder { data, .. } => {
let row = place_signed_msg_taker_order_row::PlaceSignedMsgTakerOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceSpotOrder { data, .. } => {
let row = place_spot_order_row::PlaceSpotOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceAndTakeSpotOrder { data, .. } => {
let row = place_and_take_spot_order_row::PlaceAndTakeSpotOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceAndMakeSpotOrder { data, .. } => {
let row = place_and_make_spot_order_row::PlaceAndMakeSpotOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceOrders { data, .. } => {
let row = place_orders_row::PlaceOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceScaleOrders { data, .. } => {
let row = place_scale_orders_row::PlaceScaleOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::BeginSwap { data, .. } => {
let row = begin_swap_row::BeginSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::EndSwap { data, .. } => {
let row = end_swap_row::EndSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserName { data, .. } => {
let row = update_user_name_row::UpdateUserNameRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserCustomMarginRatio { data, .. } => {
let row =
update_user_custom_margin_ratio_row::UpdateUserCustomMarginRatioRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserPerpPositionCustomMarginRatio { data, .. } => {
let row = update_user_perp_position_custom_margin_ratio_row::UpdateUserPerpPositionCustomMarginRatioRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserMarginTradingEnabled { data, .. } => {
let row = update_user_margin_trading_enabled_row::UpdateUserMarginTradingEnabledRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserPoolId { data, .. } => {
let row = update_user_pool_id_row::UpdateUserPoolIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserDelegate { data, .. } => {
let row = update_user_delegate_row::UpdateUserDelegateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserReduceOnly { data, .. } => {
let row = update_user_reduce_only_row::UpdateUserReduceOnlyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserProtectedMakerOrders { data, .. } => {
let row = update_user_protected_maker_orders_row::UpdateUserProtectedMakerOrdersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteUser { data, .. } => {
let row = delete_user_row::DeleteUserRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ForceDeleteUser { data, .. } => {
let row = force_delete_user_row::ForceDeleteUserRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteSignedMsgUserOrders { data, .. } => {
let row =
delete_signed_msg_user_orders_row::DeleteSignedMsgUserOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ReclaimRent { data, .. } => {
let row = reclaim_rent_row::ReclaimRentRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::EnableUserHighLeverageMode { data, .. } => {
let row =
enable_user_high_leverage_mode_row::EnableUserHighLeverageModeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::FillPerpOrder { data, .. } => {
let row = fill_perp_order_row::FillPerpOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::RevertFill { data, .. } => {
let row = revert_fill_row::RevertFillRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::FillSpotOrder { data, .. } => {
let row = fill_spot_order_row::FillSpotOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::TriggerOrder { data, .. } => {
let row = trigger_order_row::TriggerOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ForceCancelOrders { data, .. } => {
let row = force_cancel_orders_row::ForceCancelOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserIdle { data, .. } => {
let row = update_user_idle_row::UpdateUserIdleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::LogUserBalances { data, .. } => {
let row = log_user_balances_row::LogUserBalancesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DisableUserHighLeverageMode { data, .. } => {
let row =
disable_user_high_leverage_mode_row::DisableUserHighLeverageModeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserStatsReferrerStatus { data, .. } => {
let row = update_user_stats_referrer_status_row::UpdateUserStatsReferrerStatusRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::AdminUpdateUserStatsPausedOperations { data, .. } => {
let row = admin_update_user_stats_paused_operations_row::AdminUpdateUserStatsPausedOperationsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::SettlePnl { data, .. } => {
let row = settle_pnl_row::SettlePnlRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::SettleMultiplePnls { data, .. } => {
let row = settle_multiple_pnls_row::SettleMultiplePnlsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::SettleFundingPayment { data, .. } => {
let row = settle_funding_payment_row::SettleFundingPaymentRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::SettleExpiredMarket { data, .. } => {
let row = settle_expired_market_row::SettleExpiredMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidatePerp { data, .. } => {
let row = liquidate_perp_row::LiquidatePerpRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidatePerpWithFill { data, .. } => {
let row = liquidate_perp_with_fill_row::LiquidatePerpWithFillRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidateSpot { data, .. } => {
let row = liquidate_spot_row::LiquidateSpotRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidateSpotWithSwapBegin { data, .. } => {
let row =
liquidate_spot_with_swap_begin_row::LiquidateSpotWithSwapBeginRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidateSpotWithSwapEnd { data, .. } => {
let row = liquidate_spot_with_swap_end_row::LiquidateSpotWithSwapEndRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidateBorrowForPerpPnl { data, .. } => {
let row =
liquidate_borrow_for_perp_pnl_row::LiquidateBorrowForPerpPnlRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidatePerpPnlForDeposit { data, .. } => {
let row =
liquidate_perp_pnl_for_deposit_row::LiquidatePerpPnlForDepositRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::SetUserStatusToBeingLiquidated { data, .. } => {
let row = set_user_status_to_being_liquidated_row::SetUserStatusToBeingLiquidatedRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ResolvePerpPnlDeficit { data, .. } => {
let row = resolve_perp_pnl_deficit_row::ResolvePerpPnlDeficitRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ResolvePerpBankruptcy { data, .. } => {
let row = resolve_perp_bankruptcy_row::ResolvePerpBankruptcyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ResolveSpotBankruptcy { data, .. } => {
let row = resolve_spot_bankruptcy_row::ResolveSpotBankruptcyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::SettleRevenueToInsuranceFund { data, .. } => {
let row = settle_revenue_to_insurance_fund_row::SettleRevenueToInsuranceFundRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFundingRate { data, .. } => {
let row = update_funding_rate_row::UpdateFundingRateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePrelaunchOracle { data, .. } => {
let row = update_prelaunch_oracle_row::UpdatePrelaunchOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpBidAskTwap { data, .. } => {
let row = update_perp_bid_ask_twap_row::UpdatePerpBidAskTwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketCumulativeInterest { data, .. } => {
let row = update_spot_market_cumulative_interest_row::UpdateSpotMarketCumulativeInterestRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateAmms { data, .. } => {
let row = update_amms_row::UpdateAmmsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketExpiry { data, .. } => {
let row = update_spot_market_expiry_row::UpdateSpotMarketExpiryRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserQuoteAssetInsuranceStake { data, .. } => {
let row = update_user_quote_asset_insurance_stake_row::UpdateUserQuoteAssetInsuranceStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserGovTokenInsuranceStake { data, .. } => {
let row = update_user_gov_token_insurance_stake_row::UpdateUserGovTokenInsuranceStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateDelegateUserGovTokenInsuranceStake { data, .. } => {
let row = update_delegate_user_gov_token_insurance_stake_row::UpdateDelegateUserGovTokenInsuranceStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeInsuranceFundStake { data, .. } => {
let row = initialize_insurance_fund_stake_row::InitializeInsuranceFundStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::AddInsuranceFundStake { data, .. } => {
let row = add_insurance_fund_stake_row::AddInsuranceFundStakeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::RequestRemoveInsuranceFundStake { data, .. } => {
let row = request_remove_insurance_fund_stake_row::RequestRemoveInsuranceFundStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::CancelRequestRemoveInsuranceFundStake { data, .. } => {
let row = cancel_request_remove_insurance_fund_stake_row::CancelRequestRemoveInsuranceFundStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::RemoveInsuranceFundStake { data, .. } => {
let row = remove_insurance_fund_stake_row::RemoveInsuranceFundStakeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::BeginInsuranceFundSwap { data, .. } => {
let row = begin_insurance_fund_swap_row::BeginInsuranceFundSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::EndInsuranceFundSwap { data, .. } => {
let row = end_insurance_fund_swap_row::EndInsuranceFundSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::TransferProtocolIfSharesToRevenuePool { data, .. } => {
let row = transfer_protocol_if_shares_to_revenue_pool_row::TransferProtocolIfSharesToRevenuePoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::AdminWithdrawFromInsuranceFundVault { data, .. } => {
let row = admin_withdraw_from_insurance_fund_vault_row::AdminWithdrawFromInsuranceFundVaultRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DepositIntoInsuranceFundStake { data, .. } => {
let row = deposit_into_insurance_fund_stake_row::DepositIntoInsuranceFundStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePythPullOracle { data, .. } => {
let row = update_pyth_pull_oracle_row::UpdatePythPullOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PostPythPullOracleUpdateAtomic { data, .. } => {
let row = post_pyth_pull_oracle_update_atomic_row::PostPythPullOracleUpdateAtomicRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PostMultiPythPullOracleUpdatesAtomic { data, .. } => {
let row = post_multi_pyth_pull_oracle_updates_atomic_row::PostMultiPythPullOracleUpdatesAtomicRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PauseSpotMarketDepositWithdraw { data, .. } => {
let row = pause_spot_market_deposit_withdraw_row::PauseSpotMarketDepositWithdrawRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::Initialize { data, .. } => {
let row = initialize_row::InitializeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeSpotMarket { data, .. } => {
let row = initialize_spot_market_row::InitializeSpotMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteInitializedSpotMarket { data, .. } => {
let row =
delete_initialized_spot_market_row::DeleteInitializedSpotMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeSerumFulfillmentConfig { data, .. } => {
let row = initialize_serum_fulfillment_config_row::InitializeSerumFulfillmentConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSerumFulfillmentConfigStatus { data, .. } => {
let row = update_serum_fulfillment_config_status_row::UpdateSerumFulfillmentConfigStatusRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteSerumFulfillmentConfig { data, .. } => {
let row = delete_serum_fulfillment_config_row::DeleteSerumFulfillmentConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeOpenbookV2FulfillmentConfig { data, .. } => {
let row = initialize_openbook_v2_fulfillment_config_row::InitializeOpenbookV2FulfillmentConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::OpenbookV2FulfillmentConfigStatus { data, .. } => {
let row = openbook_v2_fulfillment_config_status_row::OpenbookV2FulfillmentConfigStatusRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteOpenbookV2FulfillmentConfig { data, .. } => {
let row = delete_openbook_v2_fulfillment_config_row::DeleteOpenbookV2FulfillmentConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializePhoenixFulfillmentConfig { data, .. } => {
let row = initialize_phoenix_fulfillment_config_row::InitializePhoenixFulfillmentConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PhoenixFulfillmentConfigStatus { data, .. } => {
let row = phoenix_fulfillment_config_status_row::PhoenixFulfillmentConfigStatusRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializePerpMarket { data, .. } => {
let row = initialize_perp_market_row::InitializePerpMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeAmmCache { data, .. } => {
let row = initialize_amm_cache_row::InitializeAmmCacheRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::AddMarketToAmmCache { data, .. } => {
let row = add_market_to_amm_cache_row::AddMarketToAmmCacheRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteAmmCache { data, .. } => {
let row = delete_amm_cache_row::DeleteAmmCacheRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateInitialAmmCacheInfo { data, .. } => {
let row =
update_initial_amm_cache_info_row::UpdateInitialAmmCacheInfoRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializePredictionMarket { data, .. } => {
let row =
initialize_prediction_market_row::InitializePredictionMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteInitializedPerpMarket { data, .. } => {
let row =
delete_initialized_perp_market_row::DeleteInitializedPerpMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::MoveAmmPrice { data, .. } => {
let row = move_amm_price_row::MoveAmmPriceRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::RecenterPerpMarketAmm { data, .. } => {
let row = recenter_perp_market_amm_row::RecenterPerpMarketAmmRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::RecenterPerpMarketAmmCrank { data, .. } => {
let row =
recenter_perp_market_amm_crank_row::RecenterPerpMarketAmmCrankRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketAmmSummaryStats { data, .. } => {
let row = update_perp_market_amm_summary_stats_row::UpdatePerpMarketAmmSummaryStatsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketExpiry { data, .. } => {
let row = update_perp_market_expiry_row::UpdatePerpMarketExpiryRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketLpPoolPausedOperations { data, .. } => {
let row = update_perp_market_lp_pool_paused_operations_row::UpdatePerpMarketLpPoolPausedOperationsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketLpPoolStatus { data, .. } => {
let row = update_perp_market_lp_pool_status_row::UpdatePerpMarketLpPoolStatusRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketLpPoolFeeTransferScalar { data, .. } => {
let row = update_perp_market_lp_pool_fee_transfer_scalar_row::UpdatePerpMarketLpPoolFeeTransferScalarRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::SettleExpiredMarketPoolsToRevenuePool { data, .. } => {
let row = settle_expired_market_pools_to_revenue_pool_row::SettleExpiredMarketPoolsToRevenuePoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DepositIntoPerpMarketFeePool { data, .. } => {
let row = deposit_into_perp_market_fee_pool_row::DepositIntoPerpMarketFeePoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketPnlPool { data, .. } => {
let row = update_perp_market_pnl_pool_row::UpdatePerpMarketPnlPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DepositIntoSpotMarketVault { data, .. } => {
let row =
deposit_into_spot_market_vault_row::DepositIntoSpotMarketVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DepositIntoSpotMarketRevenuePool { data, .. } => {
let row = deposit_into_spot_market_revenue_pool_row::DepositIntoSpotMarketRevenuePoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::RepegAmmCurve { data, .. } => {
let row = repeg_amm_curve_row::RepegAmmCurveRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketAmmOracleTwap { data, .. } => {
let row = update_perp_market_amm_oracle_twap_row::UpdatePerpMarketAmmOracleTwapRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ResetPerpMarketAmmOracleTwap { data, .. } => {
let row = reset_perp_market_amm_oracle_twap_row::ResetPerpMarketAmmOracleTwapRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateK { data, .. } => {
let row = update_k_row::UpdateKRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMarginRatio { data, .. } => {
let row =
update_perp_market_margin_ratio_row::UpdatePerpMarketMarginRatioRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketHighLeverageMarginRatio { data, .. } => {
let row = update_perp_market_high_leverage_margin_ratio_row::UpdatePerpMarketHighLeverageMarginRatioRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketFundingPeriod { data, .. } => {
let row = update_perp_market_funding_period_row::UpdatePerpMarketFundingPeriodRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMaxImbalances { data, .. } => {
let row = update_perp_market_max_imbalances_row::UpdatePerpMarketMaxImbalancesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketLiquidationFee { data, .. } => {
let row = update_perp_market_liquidation_fee_row::UpdatePerpMarketLiquidationFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketLpPoolId { data, .. } => {
let row =
update_perp_market_lp_pool_id_row::UpdatePerpMarketLpPoolIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateInsuranceFundUnstakingPeriod { data, .. } => {
let row = update_insurance_fund_unstaking_period_row::UpdateInsuranceFundUnstakingPeriodRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketPoolId { data, .. } => {
let row = update_spot_market_pool_id_row::UpdateSpotMarketPoolIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketLiquidationFee { data, .. } => {
let row = update_spot_market_liquidation_fee_row::UpdateSpotMarketLiquidationFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateWithdrawGuardThreshold { data, .. } => {
let row = update_withdraw_guard_threshold_row::UpdateWithdrawGuardThresholdRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketIfFactor { data, .. } => {
let row = update_spot_market_if_factor_row::UpdateSpotMarketIfFactorRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketRevenueSettlePeriod { data, .. } => {
let row = update_spot_market_revenue_settle_period_row::UpdateSpotMarketRevenueSettlePeriodRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketStatus { data, .. } => {
let row = update_spot_market_status_row::UpdateSpotMarketStatusRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketPausedOperations { data, .. } => {
let row = update_spot_market_paused_operations_row::UpdateSpotMarketPausedOperationsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketAssetTier { data, .. } => {
let row =
update_spot_market_asset_tier_row::UpdateSpotMarketAssetTierRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketMarginWeights { data, .. } => {
let row = update_spot_market_margin_weights_row::UpdateSpotMarketMarginWeightsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketBorrowRate { data, .. } => {
let row =
update_spot_market_borrow_rate_row::UpdateSpotMarketBorrowRateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketMaxTokenDeposits { data, .. } => {
let row = update_spot_market_max_token_deposits_row::UpdateSpotMarketMaxTokenDepositsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketMaxTokenBorrows { data, .. } => {
let row = update_spot_market_max_token_borrows_row::UpdateSpotMarketMaxTokenBorrowsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketScaleInitialAssetWeightStart { data, .. } => {
let row = update_spot_market_scale_initial_asset_weight_start_row::UpdateSpotMarketScaleInitialAssetWeightStartRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketOracle { data, .. } => {
let row = update_spot_market_oracle_row::UpdateSpotMarketOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketStepSizeAndTickSize { data, .. } => {
let row = update_spot_market_step_size_and_tick_size_row::UpdateSpotMarketStepSizeAndTickSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketMinOrderSize { data, .. } => {
let row = update_spot_market_min_order_size_row::UpdateSpotMarketMinOrderSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketOrdersEnabled { data, .. } => {
let row = update_spot_market_orders_enabled_row::UpdateSpotMarketOrdersEnabledRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketIfPausedOperations { data, .. } => {
let row = update_spot_market_if_paused_operations_row::UpdateSpotMarketIfPausedOperationsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketName { data, .. } => {
let row = update_spot_market_name_row::UpdateSpotMarketNameRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketStatus { data, .. } => {
let row = update_perp_market_status_row::UpdatePerpMarketStatusRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketPausedOperations { data, .. } => {
let row = update_perp_market_paused_operations_row::UpdatePerpMarketPausedOperationsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketContractTier { data, .. } => {
let row = update_perp_market_contract_tier_row::UpdatePerpMarketContractTierRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketImfFactor { data, .. } => {
let row =
update_perp_market_imf_factor_row::UpdatePerpMarketImfFactorRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketUnrealizedAssetWeight { data, .. } => {
let row = update_perp_market_unrealized_asset_weight_row::UpdatePerpMarketUnrealizedAssetWeightRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketConcentrationCoef { data, .. } => {
let row = update_perp_market_concentration_coef_row::UpdatePerpMarketConcentrationCoefRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketCurveUpdateIntensity { data, .. } => {
let row = update_perp_market_curve_update_intensity_row::UpdatePerpMarketCurveUpdateIntensityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketReferencePriceOffsetDeadbandPct {
data, ..
} => {
let row = update_perp_market_reference_price_offset_deadband_pct_row::UpdatePerpMarketReferencePriceOffsetDeadbandPctRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpFeeStructure { data, .. } => {
let row = update_perp_fee_structure_row::UpdatePerpFeeStructureRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotFeeStructure { data, .. } => {
let row = update_spot_fee_structure_row::UpdateSpotFeeStructureRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateInitialPctToLiquidate { data, .. } => {
let row =
update_initial_pct_to_liquidate_row::UpdateInitialPctToLiquidateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateLiquidationDuration { data, .. } => {
let row = update_liquidation_duration_row::UpdateLiquidationDurationRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateLiquidationMarginBufferRatio { data, .. } => {
let row = update_liquidation_margin_buffer_ratio_row::UpdateLiquidationMarginBufferRatioRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateOracleGuardRails { data, .. } => {
let row = update_oracle_guard_rails_row::UpdateOracleGuardRailsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateStateSettlementDuration { data, .. } => {
let row = update_state_settlement_duration_row::UpdateStateSettlementDurationRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateStateMaxNumberOfSubAccounts { data, .. } => {
let row = update_state_max_number_of_sub_accounts_row::UpdateStateMaxNumberOfSubAccountsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateStateMaxInitializeUserFee { data, .. } => {
let row = update_state_max_initialize_user_fee_row::UpdateStateMaxInitializeUserFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketOracle { data, .. } => {
let row = update_perp_market_oracle_row::UpdatePerpMarketOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketBaseSpread { data, .. } => {
let row =
update_perp_market_base_spread_row::UpdatePerpMarketBaseSpreadRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateAmmJitIntensity { data, .. } => {
let row = update_amm_jit_intensity_row::UpdateAmmJitIntensityRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMaxSpread { data, .. } => {
let row =
update_perp_market_max_spread_row::UpdatePerpMarketMaxSpreadRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketStepSizeAndTickSize { data, .. } => {
let row = update_perp_market_step_size_and_tick_size_row::UpdatePerpMarketStepSizeAndTickSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketName { data, .. } => {
let row = update_perp_market_name_row::UpdatePerpMarketNameRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMinOrderSize { data, .. } => {
let row = update_perp_market_min_order_size_row::UpdatePerpMarketMinOrderSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMaxSlippageRatio { data, .. } => {
let row = update_perp_market_max_slippage_ratio_row::UpdatePerpMarketMaxSlippageRatioRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMaxFillReserveFraction { data, .. } => {
let row = update_perp_market_max_fill_reserve_fraction_row::UpdatePerpMarketMaxFillReserveFractionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMaxOpenInterest { data, .. } => {
let row = update_perp_market_max_open_interest_row::UpdatePerpMarketMaxOpenInterestRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketNumberOfUsers { data, .. } => {
let row = update_perp_market_number_of_users_row::UpdatePerpMarketNumberOfUsersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketFeeAdjustment { data, .. } => {
let row = update_perp_market_fee_adjustment_row::UpdatePerpMarketFeeAdjustmentRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketFeeAdjustment { data, .. } => {
let row = update_spot_market_fee_adjustment_row::UpdateSpotMarketFeeAdjustmentRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketProtectedMakerParams { data, .. } => {
let row = update_perp_market_protected_maker_params_row::UpdatePerpMarketProtectedMakerParamsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketOracleLowRiskSlotDelayOverride { data, .. } => {
let row = update_perp_market_oracle_low_risk_slot_delay_override_row::UpdatePerpMarketOracleLowRiskSlotDelayOverrideRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketAmmSpreadAdjustment { data, .. } => {
let row = update_perp_market_amm_spread_adjustment_row::UpdatePerpMarketAmmSpreadAdjustmentRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketOracleSlotDelayOverride { data, .. } => {
let row = update_perp_market_oracle_slot_delay_override_row::UpdatePerpMarketOracleSlotDelayOverrideRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateAdmin { data, .. } => {
let row = update_admin_row::UpdateAdminRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateDiscountMint { data, .. } => {
let row = update_discount_mint_row::UpdateDiscountMintRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateExchangeStatus { data, .. } => {
let row = update_exchange_status_row::UpdateExchangeStatusRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpAuctionDuration { data, .. } => {
let row =
update_perp_auction_duration_row::UpdatePerpAuctionDurationRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotAuctionDuration { data, .. } => {
let row =
update_spot_auction_duration_row::UpdateSpotAuctionDurationRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializePrelaunchOracle { data, .. } => {
let row = initialize_prelaunch_oracle_row::InitializePrelaunchOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePrelaunchOracleParams { data, .. } => {
let row =
update_prelaunch_oracle_params_row::UpdatePrelaunchOracleParamsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DeletePrelaunchOracle { data, .. } => {
let row = delete_prelaunch_oracle_row::DeletePrelaunchOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializePythPullOracle { data, .. } => {
let row = initialize_pyth_pull_oracle_row::InitializePythPullOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializePythLazerOracle { data, .. } => {
let row =
initialize_pyth_lazer_oracle_row::InitializePythLazerOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::PostPythLazerOracleUpdate { data, .. } => {
let row =
post_pyth_lazer_oracle_update_row::PostPythLazerOracleUpdateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeHighLeverageModeConfig { data, .. } => {
let row = initialize_high_leverage_mode_config_row::InitializeHighLeverageModeConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateHighLeverageModeConfig { data, .. } => {
let row = update_high_leverage_mode_config_row::UpdateHighLeverageModeConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeProtectedMakerModeConfig { data, .. } => {
let row = initialize_protected_maker_mode_config_row::InitializeProtectedMakerModeConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateProtectedMakerModeConfig { data, .. } => {
let row = update_protected_maker_mode_config_row::UpdateProtectedMakerModeConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::AdminDeposit { data, .. } => {
let row = admin_deposit_row::AdminDepositRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeIfRebalanceConfig { data, .. } => {
let row =
initialize_if_rebalance_config_row::InitializeIfRebalanceConfigRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateIfRebalanceConfig { data, .. } => {
let row = update_if_rebalance_config_row::UpdateIfRebalanceConfigRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFeatureBitFlagsMmOracle { data, .. } => {
let row = update_feature_bit_flags_mm_oracle_row::UpdateFeatureBitFlagsMmOracleRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ZeroMmOracleFields { data, .. } => {
let row = zero_mm_oracle_fields_row::ZeroMmOracleFieldsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFeatureBitFlagsMedianTriggerPrice { data, .. } => {
let row = update_feature_bit_flags_median_trigger_price_row::UpdateFeatureBitFlagsMedianTriggerPriceRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFeatureBitFlagsBuilderCodes { data, .. } => {
let row = update_feature_bit_flags_builder_codes_row::UpdateFeatureBitFlagsBuilderCodesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeRevenueShare { data, .. } => {
let row = initialize_revenue_share_row::InitializeRevenueShareRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeRevenueShareEscrow { data, .. } => {
let row = initialize_revenue_share_escrow_row::InitializeRevenueShareEscrowRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ResizeRevenueShareEscrowOrders { data, .. } => {
let row = resize_revenue_share_escrow_orders_row::ResizeRevenueShareEscrowOrdersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ChangeApprovedBuilder { data, .. } => {
let row = change_approved_builder_row::ChangeApprovedBuilderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeLpPool { data, .. } => {
let row = initialize_lp_pool_row::InitializeLpPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFeatureBitFlagsSettleLpPool { data, .. } => {
let row = update_feature_bit_flags_settle_lp_pool_row::UpdateFeatureBitFlagsSettleLpPoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFeatureBitFlagsSwapLpPool { data, .. } => {
let row = update_feature_bit_flags_swap_lp_pool_row::UpdateFeatureBitFlagsSwapLpPoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFeatureBitFlagsMintRedeemLpPool { data, .. } => {
let row = update_feature_bit_flags_mint_redeem_lp_pool_row::UpdateFeatureBitFlagsMintRedeemLpPoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeConstituent { data, .. } => {
let row = initialize_constituent_row::InitializeConstituentRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateConstituentStatus { data, .. } => {
let row = update_constituent_status_row::UpdateConstituentStatusRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateConstituentPausedOperations { data, .. } => {
let row = update_constituent_paused_operations_row::UpdateConstituentPausedOperationsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateConstituentParams { data, .. } => {
let row = update_constituent_params_row::UpdateConstituentParamsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateLpPoolParams { data, .. } => {
let row = update_lp_pool_params_row::UpdateLpPoolParamsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::AddAmmConstituentMappingData { data, .. } => {
let row = add_amm_constituent_mapping_data_row::AddAmmConstituentMappingDataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateAmmConstituentMappingData { data, .. } => {
let row = update_amm_constituent_mapping_data_row::UpdateAmmConstituentMappingDataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::RemoveAmmConstituentMappingData { data, .. } => {
let row = remove_amm_constituent_mapping_data_row::RemoveAmmConstituentMappingDataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateConstituentCorrelationData { data, .. } => {
let row = update_constituent_correlation_data_row::UpdateConstituentCorrelationDataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateLpConstituentTargetBase { data, .. } => {
let row = update_lp_constituent_target_base_row::UpdateLpConstituentTargetBaseRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateLpPoolAum { data, .. } => {
let row = update_lp_pool_aum_row::UpdateLpPoolAumRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateAmmCache { data, .. } => {
let row = update_amm_cache_row::UpdateAmmCacheRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::OverrideAmmCacheInfo { data, .. } => {
let row = override_amm_cache_info_row::OverrideAmmCacheInfoRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::LpPoolSwap { data, .. } => {
let row = lp_pool_swap_row::LpPoolSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ViewLpPoolSwapFees { data, .. } => {
let row = view_lp_pool_swap_fees_row::ViewLpPoolSwapFeesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::LpPoolAddLiquidity { data, .. } => {
let row = lp_pool_add_liquidity_row::LpPoolAddLiquidityRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::LpPoolRemoveLiquidity { data, .. } => {
let row = lp_pool_remove_liquidity_row::LpPoolRemoveLiquidityRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ViewLpPoolAddLiquidityFees { data, .. } => {
let row =
view_lp_pool_add_liquidity_fees_row::ViewLpPoolAddLiquidityFeesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::ViewLpPoolRemoveLiquidityFees { data, .. } => {
let row = view_lp_pool_remove_liquidity_fees_row::ViewLpPoolRemoveLiquidityFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::BeginLpSwap { data, .. } => {
let row = begin_lp_swap_row::BeginLpSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::EndLpSwap { data, .. } => {
let row = end_lp_swap_row::EndLpSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateConstituentOracleInfo { data, .. } => {
let row =
update_constituent_oracle_info_row::UpdateConstituentOracleInfoRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::DepositToProgramVault { data, .. } => {
let row = deposit_to_program_vault_row::DepositToProgramVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::WithdrawFromProgramVault { data, .. } => {
let row = withdraw_from_program_vault_row::WithdrawFromProgramVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::SettlePerpToLpPool { data, .. } => {
let row = settle_perp_to_lp_pool_row::SettlePerpToLpPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketConfig { data, .. } => {
let row = update_perp_market_config_row::UpdatePerpMarketConfigRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.insert(pool).await?;
Ok(())
}
DriftV2Instruction::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 DriftV2InstructionWithMetadata {
async fn upsert(&self, pool: &sqlx::PgPool) -> carbon_core::error::CarbonResult<()> {
let DriftV2InstructionWithMetadata(decoded_instruction, metadata, raw_accounts) = self;
match decoded_instruction {
DriftV2Instruction::InitializeUser { data, .. } => {
let row = initialize_user_row::InitializeUserRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeUserStats { data, .. } => {
let row = initialize_user_stats_row::InitializeUserStatsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeSignedMsgUserOrders { data, .. } => {
let row = initialize_signed_msg_user_orders_row::InitializeSignedMsgUserOrdersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ResizeSignedMsgUserOrders { data, .. } => {
let row =
resize_signed_msg_user_orders_row::ResizeSignedMsgUserOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeSignedMsgWsDelegates { data, .. } => {
let row = initialize_signed_msg_ws_delegates_row::InitializeSignedMsgWsDelegatesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ChangeSignedMsgWsDelegateStatus { data, .. } => {
let row = change_signed_msg_ws_delegate_status_row::ChangeSignedMsgWsDelegateStatusRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeFuelOverflow { data, .. } => {
let row = initialize_fuel_overflow_row::InitializeFuelOverflowRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::SweepFuel { data, .. } => {
let row = sweep_fuel_row::SweepFuelRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ResetFuelSeason { data, .. } => {
let row = reset_fuel_season_row::ResetFuelSeasonRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeReferrerName { data, .. } => {
let row = initialize_referrer_name_row::InitializeReferrerNameRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::Deposit { data, .. } => {
let row = deposit_row::DepositRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::Withdraw { data, .. } => {
let row = withdraw_row::WithdrawRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::TransferDeposit { data, .. } => {
let row = transfer_deposit_row::TransferDepositRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::TransferPools { data, .. } => {
let row = transfer_pools_row::TransferPoolsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::TransferPerpPosition { data, .. } => {
let row = transfer_perp_position_row::TransferPerpPositionRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DepositIntoIsolatedPerpPosition { data, .. } => {
let row = deposit_into_isolated_perp_position_row::DepositIntoIsolatedPerpPositionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::TransferIsolatedPerpPositionDeposit { data, .. } => {
let row = transfer_isolated_perp_position_deposit_row::TransferIsolatedPerpPositionDepositRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::WithdrawFromIsolatedPerpPosition { data, .. } => {
let row = withdraw_from_isolated_perp_position_row::WithdrawFromIsolatedPerpPositionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PlacePerpOrder { data, .. } => {
let row = place_perp_order_row::PlacePerpOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::CancelOrder { data, .. } => {
let row = cancel_order_row::CancelOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::CancelOrderByUserId { data, .. } => {
let row = cancel_order_by_user_id_row::CancelOrderByUserIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::CancelOrders { data, .. } => {
let row = cancel_orders_row::CancelOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::CancelOrdersByIds { data, .. } => {
let row = cancel_orders_by_ids_row::CancelOrdersByIdsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ModifyOrder { data, .. } => {
let row = modify_order_row::ModifyOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ModifyOrderByUserId { data, .. } => {
let row = modify_order_by_user_id_row::ModifyOrderByUserIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceAndTakePerpOrder { data, .. } => {
let row = place_and_take_perp_order_row::PlaceAndTakePerpOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceAndMakePerpOrder { data, .. } => {
let row = place_and_make_perp_order_row::PlaceAndMakePerpOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceAndMakeSignedMsgPerpOrder { data, .. } => {
let row = place_and_make_signed_msg_perp_order_row::PlaceAndMakeSignedMsgPerpOrderRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceSignedMsgTakerOrder { data, .. } => {
let row = place_signed_msg_taker_order_row::PlaceSignedMsgTakerOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceSpotOrder { data, .. } => {
let row = place_spot_order_row::PlaceSpotOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceAndTakeSpotOrder { data, .. } => {
let row = place_and_take_spot_order_row::PlaceAndTakeSpotOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceAndMakeSpotOrder { data, .. } => {
let row = place_and_make_spot_order_row::PlaceAndMakeSpotOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceOrders { data, .. } => {
let row = place_orders_row::PlaceOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PlaceScaleOrders { data, .. } => {
let row = place_scale_orders_row::PlaceScaleOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::BeginSwap { data, .. } => {
let row = begin_swap_row::BeginSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::EndSwap { data, .. } => {
let row = end_swap_row::EndSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserName { data, .. } => {
let row = update_user_name_row::UpdateUserNameRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserCustomMarginRatio { data, .. } => {
let row =
update_user_custom_margin_ratio_row::UpdateUserCustomMarginRatioRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserPerpPositionCustomMarginRatio { data, .. } => {
let row = update_user_perp_position_custom_margin_ratio_row::UpdateUserPerpPositionCustomMarginRatioRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserMarginTradingEnabled { data, .. } => {
let row = update_user_margin_trading_enabled_row::UpdateUserMarginTradingEnabledRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserPoolId { data, .. } => {
let row = update_user_pool_id_row::UpdateUserPoolIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserDelegate { data, .. } => {
let row = update_user_delegate_row::UpdateUserDelegateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserReduceOnly { data, .. } => {
let row = update_user_reduce_only_row::UpdateUserReduceOnlyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserProtectedMakerOrders { data, .. } => {
let row = update_user_protected_maker_orders_row::UpdateUserProtectedMakerOrdersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteUser { data, .. } => {
let row = delete_user_row::DeleteUserRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ForceDeleteUser { data, .. } => {
let row = force_delete_user_row::ForceDeleteUserRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteSignedMsgUserOrders { data, .. } => {
let row =
delete_signed_msg_user_orders_row::DeleteSignedMsgUserOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ReclaimRent { data, .. } => {
let row = reclaim_rent_row::ReclaimRentRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::EnableUserHighLeverageMode { data, .. } => {
let row =
enable_user_high_leverage_mode_row::EnableUserHighLeverageModeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::FillPerpOrder { data, .. } => {
let row = fill_perp_order_row::FillPerpOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::RevertFill { data, .. } => {
let row = revert_fill_row::RevertFillRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::FillSpotOrder { data, .. } => {
let row = fill_spot_order_row::FillSpotOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::TriggerOrder { data, .. } => {
let row = trigger_order_row::TriggerOrderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ForceCancelOrders { data, .. } => {
let row = force_cancel_orders_row::ForceCancelOrdersRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserIdle { data, .. } => {
let row = update_user_idle_row::UpdateUserIdleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::LogUserBalances { data, .. } => {
let row = log_user_balances_row::LogUserBalancesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DisableUserHighLeverageMode { data, .. } => {
let row =
disable_user_high_leverage_mode_row::DisableUserHighLeverageModeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserStatsReferrerStatus { data, .. } => {
let row = update_user_stats_referrer_status_row::UpdateUserStatsReferrerStatusRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::AdminUpdateUserStatsPausedOperations { data, .. } => {
let row = admin_update_user_stats_paused_operations_row::AdminUpdateUserStatsPausedOperationsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::SettlePnl { data, .. } => {
let row = settle_pnl_row::SettlePnlRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::SettleMultiplePnls { data, .. } => {
let row = settle_multiple_pnls_row::SettleMultiplePnlsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::SettleFundingPayment { data, .. } => {
let row = settle_funding_payment_row::SettleFundingPaymentRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::SettleExpiredMarket { data, .. } => {
let row = settle_expired_market_row::SettleExpiredMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidatePerp { data, .. } => {
let row = liquidate_perp_row::LiquidatePerpRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidatePerpWithFill { data, .. } => {
let row = liquidate_perp_with_fill_row::LiquidatePerpWithFillRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidateSpot { data, .. } => {
let row = liquidate_spot_row::LiquidateSpotRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidateSpotWithSwapBegin { data, .. } => {
let row =
liquidate_spot_with_swap_begin_row::LiquidateSpotWithSwapBeginRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidateSpotWithSwapEnd { data, .. } => {
let row = liquidate_spot_with_swap_end_row::LiquidateSpotWithSwapEndRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidateBorrowForPerpPnl { data, .. } => {
let row =
liquidate_borrow_for_perp_pnl_row::LiquidateBorrowForPerpPnlRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::LiquidatePerpPnlForDeposit { data, .. } => {
let row =
liquidate_perp_pnl_for_deposit_row::LiquidatePerpPnlForDepositRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::SetUserStatusToBeingLiquidated { data, .. } => {
let row = set_user_status_to_being_liquidated_row::SetUserStatusToBeingLiquidatedRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ResolvePerpPnlDeficit { data, .. } => {
let row = resolve_perp_pnl_deficit_row::ResolvePerpPnlDeficitRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ResolvePerpBankruptcy { data, .. } => {
let row = resolve_perp_bankruptcy_row::ResolvePerpBankruptcyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ResolveSpotBankruptcy { data, .. } => {
let row = resolve_spot_bankruptcy_row::ResolveSpotBankruptcyRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::SettleRevenueToInsuranceFund { data, .. } => {
let row = settle_revenue_to_insurance_fund_row::SettleRevenueToInsuranceFundRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFundingRate { data, .. } => {
let row = update_funding_rate_row::UpdateFundingRateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePrelaunchOracle { data, .. } => {
let row = update_prelaunch_oracle_row::UpdatePrelaunchOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpBidAskTwap { data, .. } => {
let row = update_perp_bid_ask_twap_row::UpdatePerpBidAskTwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketCumulativeInterest { data, .. } => {
let row = update_spot_market_cumulative_interest_row::UpdateSpotMarketCumulativeInterestRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateAmms { data, .. } => {
let row = update_amms_row::UpdateAmmsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketExpiry { data, .. } => {
let row = update_spot_market_expiry_row::UpdateSpotMarketExpiryRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserQuoteAssetInsuranceStake { data, .. } => {
let row = update_user_quote_asset_insurance_stake_row::UpdateUserQuoteAssetInsuranceStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateUserGovTokenInsuranceStake { data, .. } => {
let row = update_user_gov_token_insurance_stake_row::UpdateUserGovTokenInsuranceStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateDelegateUserGovTokenInsuranceStake { data, .. } => {
let row = update_delegate_user_gov_token_insurance_stake_row::UpdateDelegateUserGovTokenInsuranceStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeInsuranceFundStake { data, .. } => {
let row = initialize_insurance_fund_stake_row::InitializeInsuranceFundStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::AddInsuranceFundStake { data, .. } => {
let row = add_insurance_fund_stake_row::AddInsuranceFundStakeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::RequestRemoveInsuranceFundStake { data, .. } => {
let row = request_remove_insurance_fund_stake_row::RequestRemoveInsuranceFundStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::CancelRequestRemoveInsuranceFundStake { data, .. } => {
let row = cancel_request_remove_insurance_fund_stake_row::CancelRequestRemoveInsuranceFundStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::RemoveInsuranceFundStake { data, .. } => {
let row = remove_insurance_fund_stake_row::RemoveInsuranceFundStakeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::BeginInsuranceFundSwap { data, .. } => {
let row = begin_insurance_fund_swap_row::BeginInsuranceFundSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::EndInsuranceFundSwap { data, .. } => {
let row = end_insurance_fund_swap_row::EndInsuranceFundSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::TransferProtocolIfSharesToRevenuePool { data, .. } => {
let row = transfer_protocol_if_shares_to_revenue_pool_row::TransferProtocolIfSharesToRevenuePoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::AdminWithdrawFromInsuranceFundVault { data, .. } => {
let row = admin_withdraw_from_insurance_fund_vault_row::AdminWithdrawFromInsuranceFundVaultRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DepositIntoInsuranceFundStake { data, .. } => {
let row = deposit_into_insurance_fund_stake_row::DepositIntoInsuranceFundStakeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePythPullOracle { data, .. } => {
let row = update_pyth_pull_oracle_row::UpdatePythPullOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PostPythPullOracleUpdateAtomic { data, .. } => {
let row = post_pyth_pull_oracle_update_atomic_row::PostPythPullOracleUpdateAtomicRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PostMultiPythPullOracleUpdatesAtomic { data, .. } => {
let row = post_multi_pyth_pull_oracle_updates_atomic_row::PostMultiPythPullOracleUpdatesAtomicRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PauseSpotMarketDepositWithdraw { data, .. } => {
let row = pause_spot_market_deposit_withdraw_row::PauseSpotMarketDepositWithdrawRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::Initialize { data, .. } => {
let row = initialize_row::InitializeRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeSpotMarket { data, .. } => {
let row = initialize_spot_market_row::InitializeSpotMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteInitializedSpotMarket { data, .. } => {
let row =
delete_initialized_spot_market_row::DeleteInitializedSpotMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeSerumFulfillmentConfig { data, .. } => {
let row = initialize_serum_fulfillment_config_row::InitializeSerumFulfillmentConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSerumFulfillmentConfigStatus { data, .. } => {
let row = update_serum_fulfillment_config_status_row::UpdateSerumFulfillmentConfigStatusRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteSerumFulfillmentConfig { data, .. } => {
let row = delete_serum_fulfillment_config_row::DeleteSerumFulfillmentConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeOpenbookV2FulfillmentConfig { data, .. } => {
let row = initialize_openbook_v2_fulfillment_config_row::InitializeOpenbookV2FulfillmentConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::OpenbookV2FulfillmentConfigStatus { data, .. } => {
let row = openbook_v2_fulfillment_config_status_row::OpenbookV2FulfillmentConfigStatusRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteOpenbookV2FulfillmentConfig { data, .. } => {
let row = delete_openbook_v2_fulfillment_config_row::DeleteOpenbookV2FulfillmentConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializePhoenixFulfillmentConfig { data, .. } => {
let row = initialize_phoenix_fulfillment_config_row::InitializePhoenixFulfillmentConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PhoenixFulfillmentConfigStatus { data, .. } => {
let row = phoenix_fulfillment_config_status_row::PhoenixFulfillmentConfigStatusRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializePerpMarket { data, .. } => {
let row = initialize_perp_market_row::InitializePerpMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeAmmCache { data, .. } => {
let row = initialize_amm_cache_row::InitializeAmmCacheRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::AddMarketToAmmCache { data, .. } => {
let row = add_market_to_amm_cache_row::AddMarketToAmmCacheRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteAmmCache { data, .. } => {
let row = delete_amm_cache_row::DeleteAmmCacheRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateInitialAmmCacheInfo { data, .. } => {
let row =
update_initial_amm_cache_info_row::UpdateInitialAmmCacheInfoRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializePredictionMarket { data, .. } => {
let row =
initialize_prediction_market_row::InitializePredictionMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DeleteInitializedPerpMarket { data, .. } => {
let row =
delete_initialized_perp_market_row::DeleteInitializedPerpMarketRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::MoveAmmPrice { data, .. } => {
let row = move_amm_price_row::MoveAmmPriceRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::RecenterPerpMarketAmm { data, .. } => {
let row = recenter_perp_market_amm_row::RecenterPerpMarketAmmRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::RecenterPerpMarketAmmCrank { data, .. } => {
let row =
recenter_perp_market_amm_crank_row::RecenterPerpMarketAmmCrankRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketAmmSummaryStats { data, .. } => {
let row = update_perp_market_amm_summary_stats_row::UpdatePerpMarketAmmSummaryStatsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketExpiry { data, .. } => {
let row = update_perp_market_expiry_row::UpdatePerpMarketExpiryRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketLpPoolPausedOperations { data, .. } => {
let row = update_perp_market_lp_pool_paused_operations_row::UpdatePerpMarketLpPoolPausedOperationsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketLpPoolStatus { data, .. } => {
let row = update_perp_market_lp_pool_status_row::UpdatePerpMarketLpPoolStatusRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketLpPoolFeeTransferScalar { data, .. } => {
let row = update_perp_market_lp_pool_fee_transfer_scalar_row::UpdatePerpMarketLpPoolFeeTransferScalarRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::SettleExpiredMarketPoolsToRevenuePool { data, .. } => {
let row = settle_expired_market_pools_to_revenue_pool_row::SettleExpiredMarketPoolsToRevenuePoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DepositIntoPerpMarketFeePool { data, .. } => {
let row = deposit_into_perp_market_fee_pool_row::DepositIntoPerpMarketFeePoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketPnlPool { data, .. } => {
let row = update_perp_market_pnl_pool_row::UpdatePerpMarketPnlPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DepositIntoSpotMarketVault { data, .. } => {
let row =
deposit_into_spot_market_vault_row::DepositIntoSpotMarketVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DepositIntoSpotMarketRevenuePool { data, .. } => {
let row = deposit_into_spot_market_revenue_pool_row::DepositIntoSpotMarketRevenuePoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::RepegAmmCurve { data, .. } => {
let row = repeg_amm_curve_row::RepegAmmCurveRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketAmmOracleTwap { data, .. } => {
let row = update_perp_market_amm_oracle_twap_row::UpdatePerpMarketAmmOracleTwapRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ResetPerpMarketAmmOracleTwap { data, .. } => {
let row = reset_perp_market_amm_oracle_twap_row::ResetPerpMarketAmmOracleTwapRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateK { data, .. } => {
let row = update_k_row::UpdateKRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMarginRatio { data, .. } => {
let row =
update_perp_market_margin_ratio_row::UpdatePerpMarketMarginRatioRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketHighLeverageMarginRatio { data, .. } => {
let row = update_perp_market_high_leverage_margin_ratio_row::UpdatePerpMarketHighLeverageMarginRatioRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketFundingPeriod { data, .. } => {
let row = update_perp_market_funding_period_row::UpdatePerpMarketFundingPeriodRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMaxImbalances { data, .. } => {
let row = update_perp_market_max_imbalances_row::UpdatePerpMarketMaxImbalancesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketLiquidationFee { data, .. } => {
let row = update_perp_market_liquidation_fee_row::UpdatePerpMarketLiquidationFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketLpPoolId { data, .. } => {
let row =
update_perp_market_lp_pool_id_row::UpdatePerpMarketLpPoolIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateInsuranceFundUnstakingPeriod { data, .. } => {
let row = update_insurance_fund_unstaking_period_row::UpdateInsuranceFundUnstakingPeriodRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketPoolId { data, .. } => {
let row = update_spot_market_pool_id_row::UpdateSpotMarketPoolIdRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketLiquidationFee { data, .. } => {
let row = update_spot_market_liquidation_fee_row::UpdateSpotMarketLiquidationFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateWithdrawGuardThreshold { data, .. } => {
let row = update_withdraw_guard_threshold_row::UpdateWithdrawGuardThresholdRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketIfFactor { data, .. } => {
let row = update_spot_market_if_factor_row::UpdateSpotMarketIfFactorRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketRevenueSettlePeriod { data, .. } => {
let row = update_spot_market_revenue_settle_period_row::UpdateSpotMarketRevenueSettlePeriodRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketStatus { data, .. } => {
let row = update_spot_market_status_row::UpdateSpotMarketStatusRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketPausedOperations { data, .. } => {
let row = update_spot_market_paused_operations_row::UpdateSpotMarketPausedOperationsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketAssetTier { data, .. } => {
let row =
update_spot_market_asset_tier_row::UpdateSpotMarketAssetTierRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketMarginWeights { data, .. } => {
let row = update_spot_market_margin_weights_row::UpdateSpotMarketMarginWeightsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketBorrowRate { data, .. } => {
let row =
update_spot_market_borrow_rate_row::UpdateSpotMarketBorrowRateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketMaxTokenDeposits { data, .. } => {
let row = update_spot_market_max_token_deposits_row::UpdateSpotMarketMaxTokenDepositsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketMaxTokenBorrows { data, .. } => {
let row = update_spot_market_max_token_borrows_row::UpdateSpotMarketMaxTokenBorrowsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketScaleInitialAssetWeightStart { data, .. } => {
let row = update_spot_market_scale_initial_asset_weight_start_row::UpdateSpotMarketScaleInitialAssetWeightStartRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketOracle { data, .. } => {
let row = update_spot_market_oracle_row::UpdateSpotMarketOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketStepSizeAndTickSize { data, .. } => {
let row = update_spot_market_step_size_and_tick_size_row::UpdateSpotMarketStepSizeAndTickSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketMinOrderSize { data, .. } => {
let row = update_spot_market_min_order_size_row::UpdateSpotMarketMinOrderSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketOrdersEnabled { data, .. } => {
let row = update_spot_market_orders_enabled_row::UpdateSpotMarketOrdersEnabledRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketIfPausedOperations { data, .. } => {
let row = update_spot_market_if_paused_operations_row::UpdateSpotMarketIfPausedOperationsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketName { data, .. } => {
let row = update_spot_market_name_row::UpdateSpotMarketNameRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketStatus { data, .. } => {
let row = update_perp_market_status_row::UpdatePerpMarketStatusRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketPausedOperations { data, .. } => {
let row = update_perp_market_paused_operations_row::UpdatePerpMarketPausedOperationsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketContractTier { data, .. } => {
let row = update_perp_market_contract_tier_row::UpdatePerpMarketContractTierRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketImfFactor { data, .. } => {
let row =
update_perp_market_imf_factor_row::UpdatePerpMarketImfFactorRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketUnrealizedAssetWeight { data, .. } => {
let row = update_perp_market_unrealized_asset_weight_row::UpdatePerpMarketUnrealizedAssetWeightRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketConcentrationCoef { data, .. } => {
let row = update_perp_market_concentration_coef_row::UpdatePerpMarketConcentrationCoefRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketCurveUpdateIntensity { data, .. } => {
let row = update_perp_market_curve_update_intensity_row::UpdatePerpMarketCurveUpdateIntensityRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketReferencePriceOffsetDeadbandPct {
data, ..
} => {
let row = update_perp_market_reference_price_offset_deadband_pct_row::UpdatePerpMarketReferencePriceOffsetDeadbandPctRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpFeeStructure { data, .. } => {
let row = update_perp_fee_structure_row::UpdatePerpFeeStructureRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotFeeStructure { data, .. } => {
let row = update_spot_fee_structure_row::UpdateSpotFeeStructureRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateInitialPctToLiquidate { data, .. } => {
let row =
update_initial_pct_to_liquidate_row::UpdateInitialPctToLiquidateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateLiquidationDuration { data, .. } => {
let row = update_liquidation_duration_row::UpdateLiquidationDurationRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateLiquidationMarginBufferRatio { data, .. } => {
let row = update_liquidation_margin_buffer_ratio_row::UpdateLiquidationMarginBufferRatioRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateOracleGuardRails { data, .. } => {
let row = update_oracle_guard_rails_row::UpdateOracleGuardRailsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateStateSettlementDuration { data, .. } => {
let row = update_state_settlement_duration_row::UpdateStateSettlementDurationRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateStateMaxNumberOfSubAccounts { data, .. } => {
let row = update_state_max_number_of_sub_accounts_row::UpdateStateMaxNumberOfSubAccountsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateStateMaxInitializeUserFee { data, .. } => {
let row = update_state_max_initialize_user_fee_row::UpdateStateMaxInitializeUserFeeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketOracle { data, .. } => {
let row = update_perp_market_oracle_row::UpdatePerpMarketOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketBaseSpread { data, .. } => {
let row =
update_perp_market_base_spread_row::UpdatePerpMarketBaseSpreadRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateAmmJitIntensity { data, .. } => {
let row = update_amm_jit_intensity_row::UpdateAmmJitIntensityRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMaxSpread { data, .. } => {
let row =
update_perp_market_max_spread_row::UpdatePerpMarketMaxSpreadRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketStepSizeAndTickSize { data, .. } => {
let row = update_perp_market_step_size_and_tick_size_row::UpdatePerpMarketStepSizeAndTickSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketName { data, .. } => {
let row = update_perp_market_name_row::UpdatePerpMarketNameRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMinOrderSize { data, .. } => {
let row = update_perp_market_min_order_size_row::UpdatePerpMarketMinOrderSizeRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMaxSlippageRatio { data, .. } => {
let row = update_perp_market_max_slippage_ratio_row::UpdatePerpMarketMaxSlippageRatioRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMaxFillReserveFraction { data, .. } => {
let row = update_perp_market_max_fill_reserve_fraction_row::UpdatePerpMarketMaxFillReserveFractionRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketMaxOpenInterest { data, .. } => {
let row = update_perp_market_max_open_interest_row::UpdatePerpMarketMaxOpenInterestRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketNumberOfUsers { data, .. } => {
let row = update_perp_market_number_of_users_row::UpdatePerpMarketNumberOfUsersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketFeeAdjustment { data, .. } => {
let row = update_perp_market_fee_adjustment_row::UpdatePerpMarketFeeAdjustmentRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotMarketFeeAdjustment { data, .. } => {
let row = update_spot_market_fee_adjustment_row::UpdateSpotMarketFeeAdjustmentRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketProtectedMakerParams { data, .. } => {
let row = update_perp_market_protected_maker_params_row::UpdatePerpMarketProtectedMakerParamsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketOracleLowRiskSlotDelayOverride { data, .. } => {
let row = update_perp_market_oracle_low_risk_slot_delay_override_row::UpdatePerpMarketOracleLowRiskSlotDelayOverrideRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketAmmSpreadAdjustment { data, .. } => {
let row = update_perp_market_amm_spread_adjustment_row::UpdatePerpMarketAmmSpreadAdjustmentRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketOracleSlotDelayOverride { data, .. } => {
let row = update_perp_market_oracle_slot_delay_override_row::UpdatePerpMarketOracleSlotDelayOverrideRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateAdmin { data, .. } => {
let row = update_admin_row::UpdateAdminRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateDiscountMint { data, .. } => {
let row = update_discount_mint_row::UpdateDiscountMintRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateExchangeStatus { data, .. } => {
let row = update_exchange_status_row::UpdateExchangeStatusRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpAuctionDuration { data, .. } => {
let row =
update_perp_auction_duration_row::UpdatePerpAuctionDurationRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateSpotAuctionDuration { data, .. } => {
let row =
update_spot_auction_duration_row::UpdateSpotAuctionDurationRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializePrelaunchOracle { data, .. } => {
let row = initialize_prelaunch_oracle_row::InitializePrelaunchOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePrelaunchOracleParams { data, .. } => {
let row =
update_prelaunch_oracle_params_row::UpdatePrelaunchOracleParamsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DeletePrelaunchOracle { data, .. } => {
let row = delete_prelaunch_oracle_row::DeletePrelaunchOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializePythPullOracle { data, .. } => {
let row = initialize_pyth_pull_oracle_row::InitializePythPullOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializePythLazerOracle { data, .. } => {
let row =
initialize_pyth_lazer_oracle_row::InitializePythLazerOracleRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::PostPythLazerOracleUpdate { data, .. } => {
let row =
post_pyth_lazer_oracle_update_row::PostPythLazerOracleUpdateRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeHighLeverageModeConfig { data, .. } => {
let row = initialize_high_leverage_mode_config_row::InitializeHighLeverageModeConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateHighLeverageModeConfig { data, .. } => {
let row = update_high_leverage_mode_config_row::UpdateHighLeverageModeConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeProtectedMakerModeConfig { data, .. } => {
let row = initialize_protected_maker_mode_config_row::InitializeProtectedMakerModeConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateProtectedMakerModeConfig { data, .. } => {
let row = update_protected_maker_mode_config_row::UpdateProtectedMakerModeConfigRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::AdminDeposit { data, .. } => {
let row = admin_deposit_row::AdminDepositRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeIfRebalanceConfig { data, .. } => {
let row =
initialize_if_rebalance_config_row::InitializeIfRebalanceConfigRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateIfRebalanceConfig { data, .. } => {
let row = update_if_rebalance_config_row::UpdateIfRebalanceConfigRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFeatureBitFlagsMmOracle { data, .. } => {
let row = update_feature_bit_flags_mm_oracle_row::UpdateFeatureBitFlagsMmOracleRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ZeroMmOracleFields { data, .. } => {
let row = zero_mm_oracle_fields_row::ZeroMmOracleFieldsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFeatureBitFlagsMedianTriggerPrice { data, .. } => {
let row = update_feature_bit_flags_median_trigger_price_row::UpdateFeatureBitFlagsMedianTriggerPriceRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFeatureBitFlagsBuilderCodes { data, .. } => {
let row = update_feature_bit_flags_builder_codes_row::UpdateFeatureBitFlagsBuilderCodesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeRevenueShare { data, .. } => {
let row = initialize_revenue_share_row::InitializeRevenueShareRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeRevenueShareEscrow { data, .. } => {
let row = initialize_revenue_share_escrow_row::InitializeRevenueShareEscrowRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ResizeRevenueShareEscrowOrders { data, .. } => {
let row = resize_revenue_share_escrow_orders_row::ResizeRevenueShareEscrowOrdersRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ChangeApprovedBuilder { data, .. } => {
let row = change_approved_builder_row::ChangeApprovedBuilderRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeLpPool { data, .. } => {
let row = initialize_lp_pool_row::InitializeLpPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFeatureBitFlagsSettleLpPool { data, .. } => {
let row = update_feature_bit_flags_settle_lp_pool_row::UpdateFeatureBitFlagsSettleLpPoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFeatureBitFlagsSwapLpPool { data, .. } => {
let row = update_feature_bit_flags_swap_lp_pool_row::UpdateFeatureBitFlagsSwapLpPoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateFeatureBitFlagsMintRedeemLpPool { data, .. } => {
let row = update_feature_bit_flags_mint_redeem_lp_pool_row::UpdateFeatureBitFlagsMintRedeemLpPoolRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::InitializeConstituent { data, .. } => {
let row = initialize_constituent_row::InitializeConstituentRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateConstituentStatus { data, .. } => {
let row = update_constituent_status_row::UpdateConstituentStatusRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateConstituentPausedOperations { data, .. } => {
let row = update_constituent_paused_operations_row::UpdateConstituentPausedOperationsRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateConstituentParams { data, .. } => {
let row = update_constituent_params_row::UpdateConstituentParamsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateLpPoolParams { data, .. } => {
let row = update_lp_pool_params_row::UpdateLpPoolParamsRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::AddAmmConstituentMappingData { data, .. } => {
let row = add_amm_constituent_mapping_data_row::AddAmmConstituentMappingDataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateAmmConstituentMappingData { data, .. } => {
let row = update_amm_constituent_mapping_data_row::UpdateAmmConstituentMappingDataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::RemoveAmmConstituentMappingData { data, .. } => {
let row = remove_amm_constituent_mapping_data_row::RemoveAmmConstituentMappingDataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateConstituentCorrelationData { data, .. } => {
let row = update_constituent_correlation_data_row::UpdateConstituentCorrelationDataRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateLpConstituentTargetBase { data, .. } => {
let row = update_lp_constituent_target_base_row::UpdateLpConstituentTargetBaseRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateLpPoolAum { data, .. } => {
let row = update_lp_pool_aum_row::UpdateLpPoolAumRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateAmmCache { data, .. } => {
let row = update_amm_cache_row::UpdateAmmCacheRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::OverrideAmmCacheInfo { data, .. } => {
let row = override_amm_cache_info_row::OverrideAmmCacheInfoRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::LpPoolSwap { data, .. } => {
let row = lp_pool_swap_row::LpPoolSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ViewLpPoolSwapFees { data, .. } => {
let row = view_lp_pool_swap_fees_row::ViewLpPoolSwapFeesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::LpPoolAddLiquidity { data, .. } => {
let row = lp_pool_add_liquidity_row::LpPoolAddLiquidityRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::LpPoolRemoveLiquidity { data, .. } => {
let row = lp_pool_remove_liquidity_row::LpPoolRemoveLiquidityRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ViewLpPoolAddLiquidityFees { data, .. } => {
let row =
view_lp_pool_add_liquidity_fees_row::ViewLpPoolAddLiquidityFeesRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::ViewLpPoolRemoveLiquidityFees { data, .. } => {
let row = view_lp_pool_remove_liquidity_fees_row::ViewLpPoolRemoveLiquidityFeesRow::from_parts(data.clone(), metadata.clone(), raw_accounts.clone());
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::BeginLpSwap { data, .. } => {
let row = begin_lp_swap_row::BeginLpSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::EndLpSwap { data, .. } => {
let row = end_lp_swap_row::EndLpSwapRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdateConstituentOracleInfo { data, .. } => {
let row =
update_constituent_oracle_info_row::UpdateConstituentOracleInfoRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::DepositToProgramVault { data, .. } => {
let row = deposit_to_program_vault_row::DepositToProgramVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::WithdrawFromProgramVault { data, .. } => {
let row = withdraw_from_program_vault_row::WithdrawFromProgramVaultRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::SettlePerpToLpPool { data, .. } => {
let row = settle_perp_to_lp_pool_row::SettlePerpToLpPoolRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::UpdatePerpMarketConfig { data, .. } => {
let row = update_perp_market_config_row::UpdatePerpMarketConfigRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
DriftV2Instruction::CpiEvent { data, .. } => {
let row = cpi_event_row::CpiEventRow::from_parts(
data.clone(),
metadata.clone(),
raw_accounts.clone(),
);
row.upsert(pool).await?;
Ok(())
}
}
}
}