use crate::{ZetaDecoder, PROGRAM_ID};
#[cfg(feature = "postgres")]
pub mod postgres;
#[cfg(feature = "graphql")]
pub mod graphql;
pub mod add_market_indexes;
pub mod add_perp_market_index;
pub mod apply_perp_funding;
pub mod burn_vault_tokens;
pub mod cancel_all_market_orders;
pub mod cancel_order;
pub mod cancel_order_by_client_order_id;
pub mod cancel_order_by_client_order_id_no_error;
pub mod cancel_order_halted;
pub mod cancel_order_no_error;
pub mod claim_referrals_rewards;
pub mod clean_zeta_market_halted;
pub mod clean_zeta_markets;
pub mod close_cross_margin_account;
pub mod close_cross_margin_account_manager;
pub mod close_margin_account;
pub mod close_open_orders;
pub mod close_open_orders_v2;
pub mod close_open_orders_v3;
pub mod close_spread_account;
pub mod collect_treasury_funds;
pub mod cpi_event;
pub mod crank_event_queue;
pub mod deposit;
pub mod deposit_insurance_vault;
pub mod deposit_insurance_vault_v2;
pub mod deposit_v2;
pub mod edit_delegated_pubkey;
pub mod expire_series;
pub mod expire_series_override;
pub mod force_cancel_order_by_order_id;
pub mod force_cancel_order_by_order_id_v2;
pub mod force_cancel_orders;
pub mod force_cancel_orders_v2;
pub mod halt;
pub mod initialize_combined_insurance_vault;
pub mod initialize_combined_socialized_loss_account;
pub mod initialize_combined_vault;
pub mod initialize_cross_margin_account;
pub mod initialize_cross_margin_account_manager;
pub mod initialize_insurance_deposit_account;
pub mod initialize_margin_account;
pub mod initialize_market_indexes;
pub mod initialize_market_node;
pub mod initialize_market_strikes;
pub mod initialize_market_tif_epoch_cycle;
pub mod initialize_open_orders;
pub mod initialize_open_orders_v2;
pub mod initialize_open_orders_v3;
pub mod initialize_perp_sync_queue;
pub mod initialize_referrer_account;
pub mod initialize_referrer_alias;
pub mod initialize_spread_account;
pub mod initialize_underlying;
pub mod initialize_whitelist_deposit_account;
pub mod initialize_whitelist_insurance_account;
pub mod initialize_whitelist_trading_fees_account;
pub mod initialize_zeta_group;
pub mod initialize_zeta_market;
pub mod initialize_zeta_pricing;
pub mod initialize_zeta_referrals_rewards_wallet;
pub mod initialize_zeta_state;
pub mod initialize_zeta_treasury_wallet;
pub mod liquidate;
pub mod liquidate_v2;
pub mod migrate_to_cross_margin_account;
pub mod override_expiry;
pub mod place_order;
pub mod place_order_v2;
pub mod place_order_v3;
pub mod place_order_v4;
pub mod place_perp_order;
pub mod place_perp_order_v2;
pub mod place_perp_order_v3;
pub mod position_movement;
pub mod prune_expired_tif_orders;
pub mod rebalance_insurance_vault;
pub mod refer_user;
pub mod reset_num_flex_underlyings;
pub mod set_referrals_rewards;
pub mod settle_dex_funds;
pub mod settle_positions_halted;
pub mod toggle_market_maker;
pub mod toggle_zeta_group_perps_only;
pub mod transfer_excess_spread_balance;
pub mod treasury_movement;
pub mod unhalt;
pub mod update_admin;
pub mod update_halt_state;
pub mod update_interest_rate;
pub mod update_margin_parameters;
pub mod update_oracle;
pub mod update_oracle_backup_feed;
pub mod update_perp_parameters;
pub mod update_pricing_parameters;
pub mod update_pricing_v2;
pub mod update_referrals_admin;
pub mod update_secondary_admin;
pub mod update_volatility;
pub mod update_zeta_group_expiry_parameters;
pub mod update_zeta_group_margin_parameters;
pub mod update_zeta_group_perp_parameters;
pub mod update_zeta_pricing_pubkeys;
pub mod update_zeta_state;
pub mod withdraw;
pub mod withdraw_insurance_vault;
pub mod withdraw_insurance_vault_v2;
pub mod withdraw_v2;
pub use self::{
add_market_indexes::*, add_perp_market_index::*, apply_perp_funding::*, burn_vault_tokens::*,
cancel_all_market_orders::*, cancel_order::*, cancel_order_by_client_order_id::*,
cancel_order_by_client_order_id_no_error::*, cancel_order_halted::*, cancel_order_no_error::*,
claim_referrals_rewards::*, clean_zeta_market_halted::*, clean_zeta_markets::*,
close_cross_margin_account::*, close_cross_margin_account_manager::*, close_margin_account::*,
close_open_orders::*, close_open_orders_v2::*, close_open_orders_v3::*,
close_spread_account::*, collect_treasury_funds::*, cpi_event::*, crank_event_queue::*,
deposit::*, deposit_insurance_vault::*, deposit_insurance_vault_v2::*, deposit_v2::*,
edit_delegated_pubkey::*, expire_series::*, expire_series_override::*,
force_cancel_order_by_order_id::*, force_cancel_order_by_order_id_v2::*,
force_cancel_orders::*, force_cancel_orders_v2::*, halt::*,
initialize_combined_insurance_vault::*, initialize_combined_socialized_loss_account::*,
initialize_combined_vault::*, initialize_cross_margin_account::*,
initialize_cross_margin_account_manager::*, initialize_insurance_deposit_account::*,
initialize_margin_account::*, initialize_market_indexes::*, initialize_market_node::*,
initialize_market_strikes::*, initialize_market_tif_epoch_cycle::*, initialize_open_orders::*,
initialize_open_orders_v2::*, initialize_open_orders_v3::*, initialize_perp_sync_queue::*,
initialize_referrer_account::*, initialize_referrer_alias::*, initialize_spread_account::*,
initialize_underlying::*, initialize_whitelist_deposit_account::*,
initialize_whitelist_insurance_account::*, initialize_whitelist_trading_fees_account::*,
initialize_zeta_group::*, initialize_zeta_market::*, initialize_zeta_pricing::*,
initialize_zeta_referrals_rewards_wallet::*, initialize_zeta_state::*,
initialize_zeta_treasury_wallet::*, liquidate::*, liquidate_v2::*,
migrate_to_cross_margin_account::*, override_expiry::*, place_order::*, place_order_v2::*,
place_order_v3::*, place_order_v4::*, place_perp_order::*, place_perp_order_v2::*,
place_perp_order_v3::*, position_movement::*, prune_expired_tif_orders::*,
rebalance_insurance_vault::*, refer_user::*, reset_num_flex_underlyings::*,
set_referrals_rewards::*, settle_dex_funds::*, settle_positions_halted::*,
toggle_market_maker::*, toggle_zeta_group_perps_only::*, transfer_excess_spread_balance::*,
treasury_movement::*, unhalt::*, update_admin::*, update_halt_state::*,
update_interest_rate::*, update_margin_parameters::*, update_oracle::*,
update_oracle_backup_feed::*, update_perp_parameters::*, update_pricing_parameters::*,
update_pricing_v2::*, update_referrals_admin::*, update_secondary_admin::*,
update_volatility::*, update_zeta_group_expiry_parameters::*,
update_zeta_group_margin_parameters::*, update_zeta_group_perp_parameters::*,
update_zeta_pricing_pubkeys::*, update_zeta_state::*, withdraw::*, withdraw_insurance_vault::*,
withdraw_insurance_vault_v2::*, withdraw_v2::*,
};
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "serde", serde(tag = "type", content = "data"))]
pub enum ZetaInstruction {
AddMarketIndexes {
program_id: solana_pubkey::Pubkey,
data: AddMarketIndexes,
accounts: AddMarketIndexesInstructionAccounts,
},
AddPerpMarketIndex {
program_id: solana_pubkey::Pubkey,
data: AddPerpMarketIndex,
accounts: AddPerpMarketIndexInstructionAccounts,
},
ApplyPerpFunding {
program_id: solana_pubkey::Pubkey,
data: ApplyPerpFunding,
accounts: ApplyPerpFundingInstructionAccounts,
},
BurnVaultTokens {
program_id: solana_pubkey::Pubkey,
data: BurnVaultTokens,
accounts: BurnVaultTokensInstructionAccounts,
},
CancelAllMarketOrders {
program_id: solana_pubkey::Pubkey,
data: CancelAllMarketOrders,
accounts: CancelAllMarketOrdersInstructionAccounts,
},
CancelOrder {
program_id: solana_pubkey::Pubkey,
data: CancelOrder,
accounts: CancelOrderInstructionAccounts,
},
CancelOrderByClientOrderId {
program_id: solana_pubkey::Pubkey,
data: CancelOrderByClientOrderId,
accounts: CancelOrderByClientOrderIdInstructionAccounts,
},
CancelOrderByClientOrderIdNoError {
program_id: solana_pubkey::Pubkey,
data: CancelOrderByClientOrderIdNoError,
accounts: CancelOrderByClientOrderIdNoErrorInstructionAccounts,
},
CancelOrderHalted {
program_id: solana_pubkey::Pubkey,
data: CancelOrderHalted,
accounts: CancelOrderHaltedInstructionAccounts,
},
CancelOrderNoError {
program_id: solana_pubkey::Pubkey,
data: CancelOrderNoError,
accounts: CancelOrderNoErrorInstructionAccounts,
},
ClaimReferralsRewards {
program_id: solana_pubkey::Pubkey,
data: ClaimReferralsRewards,
accounts: ClaimReferralsRewardsInstructionAccounts,
},
CleanZetaMarketHalted {
program_id: solana_pubkey::Pubkey,
data: CleanZetaMarketHalted,
accounts: CleanZetaMarketHaltedInstructionAccounts,
},
CleanZetaMarkets {
program_id: solana_pubkey::Pubkey,
data: CleanZetaMarkets,
accounts: CleanZetaMarketsInstructionAccounts,
},
CloseCrossMarginAccount {
program_id: solana_pubkey::Pubkey,
data: CloseCrossMarginAccount,
accounts: CloseCrossMarginAccountInstructionAccounts,
},
CloseCrossMarginAccountManager {
program_id: solana_pubkey::Pubkey,
data: CloseCrossMarginAccountManager,
accounts: CloseCrossMarginAccountManagerInstructionAccounts,
},
CloseMarginAccount {
program_id: solana_pubkey::Pubkey,
data: CloseMarginAccount,
accounts: CloseMarginAccountInstructionAccounts,
},
CloseOpenOrders {
program_id: solana_pubkey::Pubkey,
data: CloseOpenOrders,
accounts: CloseOpenOrdersInstructionAccounts,
},
CloseOpenOrdersV2 {
program_id: solana_pubkey::Pubkey,
data: CloseOpenOrdersV2,
accounts: CloseOpenOrdersV2InstructionAccounts,
},
CloseOpenOrdersV3 {
program_id: solana_pubkey::Pubkey,
data: CloseOpenOrdersV3,
accounts: CloseOpenOrdersV3InstructionAccounts,
},
CloseSpreadAccount {
program_id: solana_pubkey::Pubkey,
data: CloseSpreadAccount,
accounts: CloseSpreadAccountInstructionAccounts,
},
CollectTreasuryFunds {
program_id: solana_pubkey::Pubkey,
data: CollectTreasuryFunds,
accounts: CollectTreasuryFundsInstructionAccounts,
},
CrankEventQueue {
program_id: solana_pubkey::Pubkey,
data: CrankEventQueue,
accounts: CrankEventQueueInstructionAccounts,
},
Deposit {
program_id: solana_pubkey::Pubkey,
data: Deposit,
accounts: DepositInstructionAccounts,
},
DepositInsuranceVault {
program_id: solana_pubkey::Pubkey,
data: DepositInsuranceVault,
accounts: DepositInsuranceVaultInstructionAccounts,
},
DepositInsuranceVaultV2 {
program_id: solana_pubkey::Pubkey,
data: DepositInsuranceVaultV2,
accounts: DepositInsuranceVaultV2InstructionAccounts,
},
DepositV2 {
program_id: solana_pubkey::Pubkey,
data: DepositV2,
accounts: DepositV2InstructionAccounts,
},
EditDelegatedPubkey {
program_id: solana_pubkey::Pubkey,
data: EditDelegatedPubkey,
accounts: EditDelegatedPubkeyInstructionAccounts,
},
ExpireSeries {
program_id: solana_pubkey::Pubkey,
data: ExpireSeries,
accounts: ExpireSeriesInstructionAccounts,
},
ExpireSeriesOverride {
program_id: solana_pubkey::Pubkey,
data: ExpireSeriesOverride,
accounts: ExpireSeriesOverrideInstructionAccounts,
},
ForceCancelOrderByOrderId {
program_id: solana_pubkey::Pubkey,
data: ForceCancelOrderByOrderId,
accounts: ForceCancelOrderByOrderIdInstructionAccounts,
},
ForceCancelOrderByOrderIdV2 {
program_id: solana_pubkey::Pubkey,
data: ForceCancelOrderByOrderIdV2,
accounts: ForceCancelOrderByOrderIdV2InstructionAccounts,
},
ForceCancelOrders {
program_id: solana_pubkey::Pubkey,
data: ForceCancelOrders,
accounts: ForceCancelOrdersInstructionAccounts,
},
ForceCancelOrdersV2 {
program_id: solana_pubkey::Pubkey,
data: ForceCancelOrdersV2,
accounts: ForceCancelOrdersV2InstructionAccounts,
},
Halt {
program_id: solana_pubkey::Pubkey,
data: Halt,
accounts: HaltInstructionAccounts,
},
InitializeCombinedInsuranceVault {
program_id: solana_pubkey::Pubkey,
data: InitializeCombinedInsuranceVault,
accounts: InitializeCombinedInsuranceVaultInstructionAccounts,
},
InitializeCombinedSocializedLossAccount {
program_id: solana_pubkey::Pubkey,
data: InitializeCombinedSocializedLossAccount,
accounts: InitializeCombinedSocializedLossAccountInstructionAccounts,
},
InitializeCombinedVault {
program_id: solana_pubkey::Pubkey,
data: InitializeCombinedVault,
accounts: InitializeCombinedVaultInstructionAccounts,
},
InitializeCrossMarginAccount {
program_id: solana_pubkey::Pubkey,
data: InitializeCrossMarginAccount,
accounts: InitializeCrossMarginAccountInstructionAccounts,
},
InitializeCrossMarginAccountManager {
program_id: solana_pubkey::Pubkey,
data: InitializeCrossMarginAccountManager,
accounts: InitializeCrossMarginAccountManagerInstructionAccounts,
},
InitializeInsuranceDepositAccount {
program_id: solana_pubkey::Pubkey,
data: InitializeInsuranceDepositAccount,
accounts: InitializeInsuranceDepositAccountInstructionAccounts,
},
InitializeMarginAccount {
program_id: solana_pubkey::Pubkey,
data: InitializeMarginAccount,
accounts: InitializeMarginAccountInstructionAccounts,
},
InitializeMarketIndexes {
program_id: solana_pubkey::Pubkey,
data: InitializeMarketIndexes,
accounts: InitializeMarketIndexesInstructionAccounts,
},
InitializeMarketNode {
program_id: solana_pubkey::Pubkey,
data: InitializeMarketNode,
accounts: InitializeMarketNodeInstructionAccounts,
},
InitializeMarketStrikes {
program_id: solana_pubkey::Pubkey,
data: InitializeMarketStrikes,
accounts: InitializeMarketStrikesInstructionAccounts,
},
InitializeMarketTifEpochCycle {
program_id: solana_pubkey::Pubkey,
data: InitializeMarketTifEpochCycle,
accounts: InitializeMarketTifEpochCycleInstructionAccounts,
},
InitializeOpenOrders {
program_id: solana_pubkey::Pubkey,
data: InitializeOpenOrders,
accounts: InitializeOpenOrdersInstructionAccounts,
},
InitializeOpenOrdersV2 {
program_id: solana_pubkey::Pubkey,
data: InitializeOpenOrdersV2,
accounts: InitializeOpenOrdersV2InstructionAccounts,
},
InitializeOpenOrdersV3 {
program_id: solana_pubkey::Pubkey,
data: InitializeOpenOrdersV3,
accounts: InitializeOpenOrdersV3InstructionAccounts,
},
InitializePerpSyncQueue {
program_id: solana_pubkey::Pubkey,
data: InitializePerpSyncQueue,
accounts: InitializePerpSyncQueueInstructionAccounts,
},
InitializeReferrerAccount {
program_id: solana_pubkey::Pubkey,
data: InitializeReferrerAccount,
accounts: InitializeReferrerAccountInstructionAccounts,
},
InitializeReferrerAlias {
program_id: solana_pubkey::Pubkey,
data: InitializeReferrerAlias,
accounts: InitializeReferrerAliasInstructionAccounts,
},
InitializeSpreadAccount {
program_id: solana_pubkey::Pubkey,
data: InitializeSpreadAccount,
accounts: InitializeSpreadAccountInstructionAccounts,
},
InitializeUnderlying {
program_id: solana_pubkey::Pubkey,
data: InitializeUnderlying,
accounts: InitializeUnderlyingInstructionAccounts,
},
InitializeWhitelistDepositAccount {
program_id: solana_pubkey::Pubkey,
data: InitializeWhitelistDepositAccount,
accounts: InitializeWhitelistDepositAccountInstructionAccounts,
},
InitializeWhitelistInsuranceAccount {
program_id: solana_pubkey::Pubkey,
data: InitializeWhitelistInsuranceAccount,
accounts: InitializeWhitelistInsuranceAccountInstructionAccounts,
},
InitializeWhitelistTradingFeesAccount {
program_id: solana_pubkey::Pubkey,
data: InitializeWhitelistTradingFeesAccount,
accounts: InitializeWhitelistTradingFeesAccountInstructionAccounts,
},
InitializeZetaGroup {
program_id: solana_pubkey::Pubkey,
data: InitializeZetaGroup,
accounts: InitializeZetaGroupInstructionAccounts,
},
InitializeZetaMarket {
program_id: solana_pubkey::Pubkey,
data: InitializeZetaMarket,
accounts: InitializeZetaMarketInstructionAccounts,
},
InitializeZetaPricing {
program_id: solana_pubkey::Pubkey,
data: InitializeZetaPricing,
accounts: InitializeZetaPricingInstructionAccounts,
},
InitializeZetaReferralsRewardsWallet {
program_id: solana_pubkey::Pubkey,
data: InitializeZetaReferralsRewardsWallet,
accounts: InitializeZetaReferralsRewardsWalletInstructionAccounts,
},
InitializeZetaState {
program_id: solana_pubkey::Pubkey,
data: InitializeZetaState,
accounts: InitializeZetaStateInstructionAccounts,
},
InitializeZetaTreasuryWallet {
program_id: solana_pubkey::Pubkey,
data: InitializeZetaTreasuryWallet,
accounts: InitializeZetaTreasuryWalletInstructionAccounts,
},
Liquidate {
program_id: solana_pubkey::Pubkey,
data: Liquidate,
accounts: LiquidateInstructionAccounts,
},
LiquidateV2 {
program_id: solana_pubkey::Pubkey,
data: LiquidateV2,
accounts: LiquidateV2InstructionAccounts,
},
MigrateToCrossMarginAccount {
program_id: solana_pubkey::Pubkey,
data: MigrateToCrossMarginAccount,
accounts: MigrateToCrossMarginAccountInstructionAccounts,
},
OverrideExpiry {
program_id: solana_pubkey::Pubkey,
data: OverrideExpiry,
accounts: OverrideExpiryInstructionAccounts,
},
PlaceOrder {
program_id: solana_pubkey::Pubkey,
data: PlaceOrder,
accounts: PlaceOrderInstructionAccounts,
},
PlaceOrderV2 {
program_id: solana_pubkey::Pubkey,
data: PlaceOrderV2,
accounts: PlaceOrderV2InstructionAccounts,
},
PlaceOrderV3 {
program_id: solana_pubkey::Pubkey,
data: PlaceOrderV3,
accounts: PlaceOrderV3InstructionAccounts,
},
PlaceOrderV4 {
program_id: solana_pubkey::Pubkey,
data: PlaceOrderV4,
accounts: PlaceOrderV4InstructionAccounts,
},
PlacePerpOrder {
program_id: solana_pubkey::Pubkey,
data: PlacePerpOrder,
accounts: PlacePerpOrderInstructionAccounts,
},
PlacePerpOrderV2 {
program_id: solana_pubkey::Pubkey,
data: PlacePerpOrderV2,
accounts: PlacePerpOrderV2InstructionAccounts,
},
PlacePerpOrderV3 {
program_id: solana_pubkey::Pubkey,
data: PlacePerpOrderV3,
accounts: PlacePerpOrderV3InstructionAccounts,
},
PositionMovement {
program_id: solana_pubkey::Pubkey,
data: PositionMovement,
accounts: PositionMovementInstructionAccounts,
},
PruneExpiredTifOrders {
program_id: solana_pubkey::Pubkey,
data: PruneExpiredTifOrders,
accounts: PruneExpiredTifOrdersInstructionAccounts,
},
RebalanceInsuranceVault {
program_id: solana_pubkey::Pubkey,
data: RebalanceInsuranceVault,
accounts: RebalanceInsuranceVaultInstructionAccounts,
},
ReferUser {
program_id: solana_pubkey::Pubkey,
data: ReferUser,
accounts: ReferUserInstructionAccounts,
},
ResetNumFlexUnderlyings {
program_id: solana_pubkey::Pubkey,
data: ResetNumFlexUnderlyings,
accounts: ResetNumFlexUnderlyingsInstructionAccounts,
},
SetReferralsRewards {
program_id: solana_pubkey::Pubkey,
data: SetReferralsRewards,
accounts: SetReferralsRewardsInstructionAccounts,
},
SettleDexFunds {
program_id: solana_pubkey::Pubkey,
data: SettleDexFunds,
accounts: SettleDexFundsInstructionAccounts,
},
SettlePositionsHalted {
program_id: solana_pubkey::Pubkey,
data: SettlePositionsHalted,
accounts: SettlePositionsHaltedInstructionAccounts,
},
ToggleMarketMaker {
program_id: solana_pubkey::Pubkey,
data: ToggleMarketMaker,
accounts: ToggleMarketMakerInstructionAccounts,
},
ToggleZetaGroupPerpsOnly {
program_id: solana_pubkey::Pubkey,
data: ToggleZetaGroupPerpsOnly,
accounts: ToggleZetaGroupPerpsOnlyInstructionAccounts,
},
TransferExcessSpreadBalance {
program_id: solana_pubkey::Pubkey,
data: TransferExcessSpreadBalance,
accounts: TransferExcessSpreadBalanceInstructionAccounts,
},
TreasuryMovement {
program_id: solana_pubkey::Pubkey,
data: TreasuryMovement,
accounts: TreasuryMovementInstructionAccounts,
},
Unhalt {
program_id: solana_pubkey::Pubkey,
data: Unhalt,
accounts: UnhaltInstructionAccounts,
},
UpdateAdmin {
program_id: solana_pubkey::Pubkey,
data: UpdateAdmin,
accounts: UpdateAdminInstructionAccounts,
},
UpdateHaltState {
program_id: solana_pubkey::Pubkey,
data: UpdateHaltState,
accounts: UpdateHaltStateInstructionAccounts,
},
UpdateInterestRate {
program_id: solana_pubkey::Pubkey,
data: UpdateInterestRate,
accounts: UpdateInterestRateInstructionAccounts,
},
UpdateMarginParameters {
program_id: solana_pubkey::Pubkey,
data: UpdateMarginParameters,
accounts: UpdateMarginParametersInstructionAccounts,
},
UpdateOracle {
program_id: solana_pubkey::Pubkey,
data: UpdateOracle,
accounts: UpdateOracleInstructionAccounts,
},
UpdateOracleBackupFeed {
program_id: solana_pubkey::Pubkey,
data: UpdateOracleBackupFeed,
accounts: UpdateOracleBackupFeedInstructionAccounts,
},
UpdatePerpParameters {
program_id: solana_pubkey::Pubkey,
data: UpdatePerpParameters,
accounts: UpdatePerpParametersInstructionAccounts,
},
UpdatePricingParameters {
program_id: solana_pubkey::Pubkey,
data: UpdatePricingParameters,
accounts: UpdatePricingParametersInstructionAccounts,
},
UpdatePricingV2 {
program_id: solana_pubkey::Pubkey,
data: UpdatePricingV2,
accounts: UpdatePricingV2InstructionAccounts,
},
UpdateReferralsAdmin {
program_id: solana_pubkey::Pubkey,
data: UpdateReferralsAdmin,
accounts: UpdateReferralsAdminInstructionAccounts,
},
UpdateSecondaryAdmin {
program_id: solana_pubkey::Pubkey,
data: UpdateSecondaryAdmin,
accounts: UpdateSecondaryAdminInstructionAccounts,
},
UpdateVolatility {
program_id: solana_pubkey::Pubkey,
data: UpdateVolatility,
accounts: UpdateVolatilityInstructionAccounts,
},
UpdateZetaGroupExpiryParameters {
program_id: solana_pubkey::Pubkey,
data: UpdateZetaGroupExpiryParameters,
accounts: UpdateZetaGroupExpiryParametersInstructionAccounts,
},
UpdateZetaGroupMarginParameters {
program_id: solana_pubkey::Pubkey,
data: UpdateZetaGroupMarginParameters,
accounts: UpdateZetaGroupMarginParametersInstructionAccounts,
},
UpdateZetaGroupPerpParameters {
program_id: solana_pubkey::Pubkey,
data: UpdateZetaGroupPerpParameters,
accounts: UpdateZetaGroupPerpParametersInstructionAccounts,
},
UpdateZetaPricingPubkeys {
program_id: solana_pubkey::Pubkey,
data: UpdateZetaPricingPubkeys,
accounts: UpdateZetaPricingPubkeysInstructionAccounts,
},
UpdateZetaState {
program_id: solana_pubkey::Pubkey,
data: UpdateZetaState,
accounts: UpdateZetaStateInstructionAccounts,
},
Withdraw {
program_id: solana_pubkey::Pubkey,
data: Withdraw,
accounts: WithdrawInstructionAccounts,
},
WithdrawInsuranceVault {
program_id: solana_pubkey::Pubkey,
data: WithdrawInsuranceVault,
accounts: WithdrawInsuranceVaultInstructionAccounts,
},
WithdrawInsuranceVaultV2 {
program_id: solana_pubkey::Pubkey,
data: WithdrawInsuranceVaultV2,
accounts: WithdrawInsuranceVaultV2InstructionAccounts,
},
WithdrawV2 {
program_id: solana_pubkey::Pubkey,
data: WithdrawV2,
accounts: WithdrawV2InstructionAccounts,
},
CpiEvent {
program_id: solana_pubkey::Pubkey,
data: CpiEvent,
accounts: CpiEventInstructionAccounts,
},
}
impl carbon_core::instruction::InstructionDecoder<'_> for ZetaDecoder {
type InstructionType = ZetaInstruction;
fn decode_instruction(
&self,
instruction: &solana_instruction::Instruction,
) -> Option<Self::InstructionType> {
if instruction.program_id != PROGRAM_ID {
return None;
}
carbon_core::try_decode_instructions!(
instruction,
PROGRAM_ID,
ZetaInstruction::AddMarketIndexes => AddMarketIndexes,
ZetaInstruction::AddPerpMarketIndex => AddPerpMarketIndex,
ZetaInstruction::ApplyPerpFunding => ApplyPerpFunding,
ZetaInstruction::BurnVaultTokens => BurnVaultTokens,
ZetaInstruction::CancelAllMarketOrders => CancelAllMarketOrders,
ZetaInstruction::CancelOrder => CancelOrder,
ZetaInstruction::CancelOrderByClientOrderId => CancelOrderByClientOrderId,
ZetaInstruction::CancelOrderByClientOrderIdNoError => CancelOrderByClientOrderIdNoError,
ZetaInstruction::CancelOrderHalted => CancelOrderHalted,
ZetaInstruction::CancelOrderNoError => CancelOrderNoError,
ZetaInstruction::ClaimReferralsRewards => ClaimReferralsRewards,
ZetaInstruction::CleanZetaMarketHalted => CleanZetaMarketHalted,
ZetaInstruction::CleanZetaMarkets => CleanZetaMarkets,
ZetaInstruction::CloseCrossMarginAccount => CloseCrossMarginAccount,
ZetaInstruction::CloseCrossMarginAccountManager => CloseCrossMarginAccountManager,
ZetaInstruction::CloseMarginAccount => CloseMarginAccount,
ZetaInstruction::CloseOpenOrders => CloseOpenOrders,
ZetaInstruction::CloseOpenOrdersV2 => CloseOpenOrdersV2,
ZetaInstruction::CloseOpenOrdersV3 => CloseOpenOrdersV3,
ZetaInstruction::CloseSpreadAccount => CloseSpreadAccount,
ZetaInstruction::CollectTreasuryFunds => CollectTreasuryFunds,
ZetaInstruction::CrankEventQueue => CrankEventQueue,
ZetaInstruction::Deposit => Deposit,
ZetaInstruction::DepositInsuranceVault => DepositInsuranceVault,
ZetaInstruction::DepositInsuranceVaultV2 => DepositInsuranceVaultV2,
ZetaInstruction::DepositV2 => DepositV2,
ZetaInstruction::EditDelegatedPubkey => EditDelegatedPubkey,
ZetaInstruction::ExpireSeries => ExpireSeries,
ZetaInstruction::ExpireSeriesOverride => ExpireSeriesOverride,
ZetaInstruction::ForceCancelOrderByOrderId => ForceCancelOrderByOrderId,
ZetaInstruction::ForceCancelOrderByOrderIdV2 => ForceCancelOrderByOrderIdV2,
ZetaInstruction::ForceCancelOrders => ForceCancelOrders,
ZetaInstruction::ForceCancelOrdersV2 => ForceCancelOrdersV2,
ZetaInstruction::Halt => Halt,
ZetaInstruction::InitializeCombinedInsuranceVault => InitializeCombinedInsuranceVault,
ZetaInstruction::InitializeCombinedSocializedLossAccount => InitializeCombinedSocializedLossAccount,
ZetaInstruction::InitializeCombinedVault => InitializeCombinedVault,
ZetaInstruction::InitializeCrossMarginAccount => InitializeCrossMarginAccount,
ZetaInstruction::InitializeCrossMarginAccountManager => InitializeCrossMarginAccountManager,
ZetaInstruction::InitializeInsuranceDepositAccount => InitializeInsuranceDepositAccount,
ZetaInstruction::InitializeMarginAccount => InitializeMarginAccount,
ZetaInstruction::InitializeMarketIndexes => InitializeMarketIndexes,
ZetaInstruction::InitializeMarketNode => InitializeMarketNode,
ZetaInstruction::InitializeMarketStrikes => InitializeMarketStrikes,
ZetaInstruction::InitializeMarketTifEpochCycle => InitializeMarketTifEpochCycle,
ZetaInstruction::InitializeOpenOrders => InitializeOpenOrders,
ZetaInstruction::InitializeOpenOrdersV2 => InitializeOpenOrdersV2,
ZetaInstruction::InitializeOpenOrdersV3 => InitializeOpenOrdersV3,
ZetaInstruction::InitializePerpSyncQueue => InitializePerpSyncQueue,
ZetaInstruction::InitializeReferrerAccount => InitializeReferrerAccount,
ZetaInstruction::InitializeReferrerAlias => InitializeReferrerAlias,
ZetaInstruction::InitializeSpreadAccount => InitializeSpreadAccount,
ZetaInstruction::InitializeUnderlying => InitializeUnderlying,
ZetaInstruction::InitializeWhitelistDepositAccount => InitializeWhitelistDepositAccount,
ZetaInstruction::InitializeWhitelistInsuranceAccount => InitializeWhitelistInsuranceAccount,
ZetaInstruction::InitializeWhitelistTradingFeesAccount => InitializeWhitelistTradingFeesAccount,
ZetaInstruction::InitializeZetaGroup => InitializeZetaGroup,
ZetaInstruction::InitializeZetaMarket => InitializeZetaMarket,
ZetaInstruction::InitializeZetaPricing => InitializeZetaPricing,
ZetaInstruction::InitializeZetaReferralsRewardsWallet => InitializeZetaReferralsRewardsWallet,
ZetaInstruction::InitializeZetaState => InitializeZetaState,
ZetaInstruction::InitializeZetaTreasuryWallet => InitializeZetaTreasuryWallet,
ZetaInstruction::Liquidate => Liquidate,
ZetaInstruction::LiquidateV2 => LiquidateV2,
ZetaInstruction::MigrateToCrossMarginAccount => MigrateToCrossMarginAccount,
ZetaInstruction::OverrideExpiry => OverrideExpiry,
ZetaInstruction::PlaceOrder => PlaceOrder,
ZetaInstruction::PlaceOrderV2 => PlaceOrderV2,
ZetaInstruction::PlaceOrderV3 => PlaceOrderV3,
ZetaInstruction::PlaceOrderV4 => PlaceOrderV4,
ZetaInstruction::PlacePerpOrder => PlacePerpOrder,
ZetaInstruction::PlacePerpOrderV2 => PlacePerpOrderV2,
ZetaInstruction::PlacePerpOrderV3 => PlacePerpOrderV3,
ZetaInstruction::PositionMovement => PositionMovement,
ZetaInstruction::PruneExpiredTifOrders => PruneExpiredTifOrders,
ZetaInstruction::RebalanceInsuranceVault => RebalanceInsuranceVault,
ZetaInstruction::ReferUser => ReferUser,
ZetaInstruction::ResetNumFlexUnderlyings => ResetNumFlexUnderlyings,
ZetaInstruction::SetReferralsRewards => SetReferralsRewards,
ZetaInstruction::SettleDexFunds => SettleDexFunds,
ZetaInstruction::SettlePositionsHalted => SettlePositionsHalted,
ZetaInstruction::ToggleMarketMaker => ToggleMarketMaker,
ZetaInstruction::ToggleZetaGroupPerpsOnly => ToggleZetaGroupPerpsOnly,
ZetaInstruction::TransferExcessSpreadBalance => TransferExcessSpreadBalance,
ZetaInstruction::TreasuryMovement => TreasuryMovement,
ZetaInstruction::Unhalt => Unhalt,
ZetaInstruction::UpdateAdmin => UpdateAdmin,
ZetaInstruction::UpdateHaltState => UpdateHaltState,
ZetaInstruction::UpdateInterestRate => UpdateInterestRate,
ZetaInstruction::UpdateMarginParameters => UpdateMarginParameters,
ZetaInstruction::UpdateOracle => UpdateOracle,
ZetaInstruction::UpdateOracleBackupFeed => UpdateOracleBackupFeed,
ZetaInstruction::UpdatePerpParameters => UpdatePerpParameters,
ZetaInstruction::UpdatePricingParameters => UpdatePricingParameters,
ZetaInstruction::UpdatePricingV2 => UpdatePricingV2,
ZetaInstruction::UpdateReferralsAdmin => UpdateReferralsAdmin,
ZetaInstruction::UpdateSecondaryAdmin => UpdateSecondaryAdmin,
ZetaInstruction::UpdateVolatility => UpdateVolatility,
ZetaInstruction::UpdateZetaGroupExpiryParameters => UpdateZetaGroupExpiryParameters,
ZetaInstruction::UpdateZetaGroupMarginParameters => UpdateZetaGroupMarginParameters,
ZetaInstruction::UpdateZetaGroupPerpParameters => UpdateZetaGroupPerpParameters,
ZetaInstruction::UpdateZetaPricingPubkeys => UpdateZetaPricingPubkeys,
ZetaInstruction::UpdateZetaState => UpdateZetaState,
ZetaInstruction::Withdraw => Withdraw,
ZetaInstruction::WithdrawInsuranceVault => WithdrawInsuranceVault,
ZetaInstruction::WithdrawInsuranceVaultV2 => WithdrawInsuranceVaultV2,
ZetaInstruction::WithdrawV2 => WithdrawV2,
ZetaInstruction::CpiEvent => CpiEvent,
)
}
}