carbon_zeta_decoder/instructions/
mod.rs

1use crate::PROGRAM_ID;
2
3use super::ZetaDecoder;
4pub mod add_market_indexes;
5pub mod add_perp_market_index;
6pub mod admin_crank_event_queue;
7pub mod admin_force_cancel_orders;
8pub mod admin_reset_dex_open_orders;
9pub mod admin_set_order_state;
10pub mod apply_funding_event;
11pub mod apply_perp_funding;
12pub mod burn_vault_tokens;
13pub mod cancel_all_market_orders;
14pub mod cancel_order;
15pub mod cancel_order_by_client_order_id;
16pub mod cancel_order_by_client_order_id_no_error;
17pub mod cancel_order_halted;
18pub mod cancel_order_no_error;
19pub mod cancel_trigger_order;
20pub mod cancel_trigger_order_v2;
21pub mod choose_airdrop_community;
22pub mod clean_zeta_market_halted;
23pub mod clean_zeta_markets;
24pub mod close_cross_margin_account;
25pub mod close_cross_margin_account_manager;
26pub mod close_margin_account;
27pub mod close_open_orders;
28pub mod close_open_orders_v2;
29pub mod close_open_orders_v3;
30pub mod close_open_orders_v4;
31pub mod close_referrer_accounts;
32pub mod close_spread_account;
33pub mod collect_treasury_funds;
34pub mod crank_event_queue;
35pub mod deposit;
36pub mod deposit_insurance_vault;
37pub mod deposit_insurance_vault_v2;
38pub mod deposit_permissionless;
39pub mod deposit_v2;
40pub mod edit_delegated_pubkey;
41pub mod edit_ma_type;
42pub mod edit_trigger_order;
43pub mod edit_trigger_order_v2;
44pub mod execute_trigger_order;
45pub mod execute_trigger_order_v2;
46pub mod expire_series;
47pub mod expire_series_override;
48pub mod force_cancel_order_by_order_id;
49pub mod force_cancel_order_by_order_id_v2;
50pub mod force_cancel_orders;
51pub mod force_cancel_orders_v2;
52pub mod force_cancel_trigger_order;
53pub mod halt;
54pub mod initialize_combined_insurance_vault;
55pub mod initialize_combined_socialized_loss_account;
56pub mod initialize_combined_vault;
57pub mod initialize_cross_margin_account;
58pub mod initialize_cross_margin_account_manager;
59pub mod initialize_cross_margin_account_manager_v2;
60pub mod initialize_insurance_deposit_account;
61pub mod initialize_margin_account;
62pub mod initialize_market_indexes;
63pub mod initialize_market_node;
64pub mod initialize_market_pda;
65pub mod initialize_market_strikes;
66pub mod initialize_market_tif_epoch_cycle;
67pub mod initialize_min_lots_and_tick_sizes;
68pub mod initialize_open_orders;
69pub mod initialize_open_orders_v2;
70pub mod initialize_open_orders_v3;
71pub mod initialize_perp_sync_queue;
72pub mod initialize_referrer_accounts;
73pub mod initialize_spread_account;
74pub mod initialize_underlying;
75pub mod initialize_whitelist_deposit_account;
76pub mod initialize_whitelist_insurance_account;
77pub mod initialize_whitelist_trading_fees_account;
78pub mod initialize_zeta_group;
79pub mod initialize_zeta_market;
80pub mod initialize_zeta_pricing;
81pub mod initialize_zeta_referrals_rewards_wallet;
82pub mod initialize_zeta_specific_market_vaults;
83pub mod initialize_zeta_state;
84pub mod initialize_zeta_treasury_wallet;
85pub mod liquidate;
86pub mod liquidate_v2;
87pub mod liquidation_event;
88pub mod migrate_to_cross_margin_account;
89pub mod migrate_to_new_cross_margin_account;
90pub mod order_complete_event;
91pub mod override_expiry;
92pub mod place_multi_orders;
93pub mod place_multi_orders_event;
94pub mod place_order;
95pub mod place_order_event;
96pub mod place_order_v2;
97pub mod place_order_v3;
98pub mod place_order_v4;
99pub mod place_perp_order;
100pub mod place_perp_order_v2;
101pub mod place_perp_order_v3;
102pub mod place_perp_order_v4;
103pub mod place_perp_order_v5;
104pub mod place_trigger_order;
105pub mod position_movement;
106pub mod position_movement_event;
107pub mod prune_expired_tif_orders;
108pub mod prune_expired_tif_orders_v2;
109pub mod rebalance_insurance_vault;
110pub mod rebalance_insurance_vault_v2;
111pub mod reset_num_flex_underlyings;
112pub mod settle_dex_funds;
113pub mod settle_positions_halted;
114pub mod take_trigger_order;
115pub mod toggle_market_maker;
116pub mod toggle_zeta_group_perps_only;
117pub mod trade_event;
118pub mod trade_event_v2_event;
119pub mod trade_event_v3_event;
120pub mod transfer_excess_spread_balance;
121pub mod treasury_movement;
122pub mod unhalt;
123pub mod update_admin;
124pub mod update_halt_state;
125pub mod update_interest_rate;
126pub mod update_ma_type_admin;
127pub mod update_maker_rebate_percentage;
128pub mod update_margin_parameters;
129pub mod update_min_lot;
130pub mod update_oracle;
131pub mod update_oracle_backup_feed;
132pub mod update_perp_parameters;
133pub mod update_pricing_admin;
134pub mod update_pricing_parameters;
135pub mod update_pricing_v2;
136pub mod update_pricing_v3;
137pub mod update_referrals_admin;
138pub mod update_secondary_admin;
139pub mod update_take_trigger_order_fee_percentage;
140pub mod update_tick_size;
141pub mod update_treasury_split_token_account;
142pub mod update_trigger_admin;
143pub mod update_volatility;
144pub mod update_zeta_group_expiry_parameters;
145pub mod update_zeta_group_margin_parameters;
146pub mod update_zeta_group_perp_parameters;
147pub mod update_zeta_pricing_pubkeys;
148pub mod update_zeta_state;
149pub mod withdraw;
150pub mod withdraw_insurance_vault;
151pub mod withdraw_insurance_vault_v2;
152pub mod withdraw_v2;
153
154#[derive(
155    carbon_core::InstructionType,
156    serde::Serialize,
157    serde::Deserialize,
158    PartialEq,
159    Eq,
160    Debug,
161    Clone,
162    Hash,
163)]
164pub enum ZetaInstruction {
165    InitializeZetaPricing(initialize_zeta_pricing::InitializeZetaPricing),
166    UpdateZetaPricingPubkeys(update_zeta_pricing_pubkeys::UpdateZetaPricingPubkeys),
167    InitializeZetaGroup(initialize_zeta_group::InitializeZetaGroup),
168    OverrideExpiry(override_expiry::OverrideExpiry),
169    MigrateToNewCrossMarginAccount(
170        migrate_to_new_cross_margin_account::MigrateToNewCrossMarginAccount,
171    ),
172    MigrateToCrossMarginAccount(migrate_to_cross_margin_account::MigrateToCrossMarginAccount),
173    InitializeCrossMarginAccountManager(
174        initialize_cross_margin_account_manager::InitializeCrossMarginAccountManager,
175    ),
176    InitializeCrossMarginAccountManagerV2(
177        initialize_cross_margin_account_manager_v2::InitializeCrossMarginAccountManagerV2,
178    ),
179    InitializeCrossMarginAccount(initialize_cross_margin_account::InitializeCrossMarginAccount),
180    InitializeMarginAccount(initialize_margin_account::InitializeMarginAccount),
181    InitializeSpreadAccount(initialize_spread_account::InitializeSpreadAccount),
182    CloseCrossMarginAccountManager(
183        close_cross_margin_account_manager::CloseCrossMarginAccountManager,
184    ),
185    CloseCrossMarginAccount(close_cross_margin_account::CloseCrossMarginAccount),
186    CloseMarginAccount(close_margin_account::CloseMarginAccount),
187    CloseSpreadAccount(close_spread_account::CloseSpreadAccount),
188    InitializeUnderlying(initialize_underlying::InitializeUnderlying),
189    InitializePerpSyncQueue(initialize_perp_sync_queue::InitializePerpSyncQueue),
190    InitializeMarketIndexes(initialize_market_indexes::InitializeMarketIndexes),
191    InitializeMarketNode(initialize_market_node::InitializeMarketNode),
192    Halt(halt::Halt),
193    Unhalt(unhalt::Unhalt),
194    UpdateHaltState(update_halt_state::UpdateHaltState),
195    UpdateVolatility(update_volatility::UpdateVolatility),
196    UpdateInterestRate(update_interest_rate::UpdateInterestRate),
197    AddPerpMarketIndex(add_perp_market_index::AddPerpMarketIndex),
198    AddMarketIndexes(add_market_indexes::AddMarketIndexes),
199    InitializeZetaState(initialize_zeta_state::InitializeZetaState),
200    InitializeZetaTreasuryWallet(initialize_zeta_treasury_wallet::InitializeZetaTreasuryWallet),
201    InitializeZetaReferralsRewardsWallet(
202        initialize_zeta_referrals_rewards_wallet::InitializeZetaReferralsRewardsWallet,
203    ),
204    UpdateAdmin(update_admin::UpdateAdmin),
205    UpdateSecondaryAdmin(update_secondary_admin::UpdateSecondaryAdmin),
206    UpdateTriggerAdmin(update_trigger_admin::UpdateTriggerAdmin),
207    UpdateMaTypeAdmin(update_ma_type_admin::UpdateMaTypeAdmin),
208    UpdateReferralsAdmin(update_referrals_admin::UpdateReferralsAdmin),
209    UpdatePricingAdmin(update_pricing_admin::UpdatePricingAdmin),
210    UpdateTreasurySplitTokenAccount(
211        update_treasury_split_token_account::UpdateTreasurySplitTokenAccount,
212    ),
213    UpdateMakerRebatePercentage(update_maker_rebate_percentage::UpdateMakerRebatePercentage),
214    UpdateTakeTriggerOrderFeePercentage(
215        update_take_trigger_order_fee_percentage::UpdateTakeTriggerOrderFeePercentage,
216    ),
217    UpdateZetaState(update_zeta_state::UpdateZetaState),
218    UpdateOracle(update_oracle::UpdateOracle),
219    UpdateOracleBackupFeed(update_oracle_backup_feed::UpdateOracleBackupFeed),
220    UpdatePricingParameters(update_pricing_parameters::UpdatePricingParameters),
221    UpdateMarginParameters(update_margin_parameters::UpdateMarginParameters),
222    UpdateZetaGroupMarginParameters(
223        update_zeta_group_margin_parameters::UpdateZetaGroupMarginParameters,
224    ),
225    UpdatePerpParameters(update_perp_parameters::UpdatePerpParameters),
226    UpdateZetaGroupPerpParameters(update_zeta_group_perp_parameters::UpdateZetaGroupPerpParameters),
227    UpdateZetaGroupExpiryParameters(
228        update_zeta_group_expiry_parameters::UpdateZetaGroupExpiryParameters,
229    ),
230    ToggleZetaGroupPerpsOnly(toggle_zeta_group_perps_only::ToggleZetaGroupPerpsOnly),
231    CleanZetaMarkets(clean_zeta_markets::CleanZetaMarkets),
232    CleanZetaMarketHalted(clean_zeta_market_halted::CleanZetaMarketHalted),
233    SettlePositionsHalted(settle_positions_halted::SettlePositionsHalted),
234    InitializeMarketStrikes(initialize_market_strikes::InitializeMarketStrikes),
235    ExpireSeriesOverride(expire_series_override::ExpireSeriesOverride),
236    ExpireSeries(expire_series::ExpireSeries),
237    InitializeMarketPda(initialize_market_pda::InitializeMarketPda),
238    InitializeZetaSpecificMarketVaults(
239        initialize_zeta_specific_market_vaults::InitializeZetaSpecificMarketVaults,
240    ),
241    InitializeZetaMarket(initialize_zeta_market::InitializeZetaMarket),
242    InitializeMarketTifEpochCycle(initialize_market_tif_epoch_cycle::InitializeMarketTifEpochCycle),
243    UpdatePricingV2(update_pricing_v2::UpdatePricingV2),
244    UpdatePricingV3(update_pricing_v3::UpdatePricingV3),
245    ApplyPerpFunding(apply_perp_funding::ApplyPerpFunding),
246    Deposit(deposit::Deposit),
247    DepositV2(deposit_v2::DepositV2),
248    DepositPermissionless(deposit_permissionless::DepositPermissionless),
249    DepositInsuranceVault(deposit_insurance_vault::DepositInsuranceVault),
250    DepositInsuranceVaultV2(deposit_insurance_vault_v2::DepositInsuranceVaultV2),
251    ChooseAirdropCommunity(choose_airdrop_community::ChooseAirdropCommunity),
252    Withdraw(withdraw::Withdraw),
253    WithdrawV2(withdraw_v2::WithdrawV2),
254    WithdrawInsuranceVault(withdraw_insurance_vault::WithdrawInsuranceVault),
255    WithdrawInsuranceVaultV2(withdraw_insurance_vault_v2::WithdrawInsuranceVaultV2),
256    InitializeOpenOrders(initialize_open_orders::InitializeOpenOrders),
257    InitializeOpenOrdersV2(initialize_open_orders_v2::InitializeOpenOrdersV2),
258    InitializeOpenOrdersV3(initialize_open_orders_v3::InitializeOpenOrdersV3),
259    CloseOpenOrders(close_open_orders::CloseOpenOrders),
260    CloseOpenOrdersV2(close_open_orders_v2::CloseOpenOrdersV2),
261    CloseOpenOrdersV3(close_open_orders_v3::CloseOpenOrdersV3),
262    CloseOpenOrdersV4(close_open_orders_v4::CloseOpenOrdersV4),
263    AdminResetDexOpenOrders(admin_reset_dex_open_orders::AdminResetDexOpenOrders),
264    InitializeWhitelistDepositAccount(
265        initialize_whitelist_deposit_account::InitializeWhitelistDepositAccount,
266    ),
267    InitializeWhitelistInsuranceAccount(
268        initialize_whitelist_insurance_account::InitializeWhitelistInsuranceAccount,
269    ),
270    InitializeWhitelistTradingFeesAccount(
271        initialize_whitelist_trading_fees_account::InitializeWhitelistTradingFeesAccount,
272    ),
273    InitializeInsuranceDepositAccount(
274        initialize_insurance_deposit_account::InitializeInsuranceDepositAccount,
275    ),
276    InitializeCombinedInsuranceVault(
277        initialize_combined_insurance_vault::InitializeCombinedInsuranceVault,
278    ),
279    InitializeCombinedVault(initialize_combined_vault::InitializeCombinedVault),
280    InitializeCombinedSocializedLossAccount(
281        initialize_combined_socialized_loss_account::InitializeCombinedSocializedLossAccount,
282    ),
283    PlaceOrder(place_order::PlaceOrder),
284    PlaceOrderV2(place_order_v2::PlaceOrderV2),
285    PlaceOrderV3(place_order_v3::PlaceOrderV3),
286    PlacePerpOrder(place_perp_order::PlacePerpOrder),
287    PlacePerpOrderV2(place_perp_order_v2::PlacePerpOrderV2),
288    PlaceOrderV4(place_order_v4::PlaceOrderV4),
289    PlacePerpOrderV3(place_perp_order_v3::PlacePerpOrderV3),
290    PlacePerpOrderV4(place_perp_order_v4::PlacePerpOrderV4),
291    PlacePerpOrderV5(place_perp_order_v5::PlacePerpOrderV5),
292    PlaceMultiOrders(place_multi_orders::PlaceMultiOrders),
293    PlaceTriggerOrder(place_trigger_order::PlaceTriggerOrder),
294    ExecuteTriggerOrderV2(execute_trigger_order_v2::ExecuteTriggerOrderV2),
295    TakeTriggerOrder(take_trigger_order::TakeTriggerOrder),
296    ExecuteTriggerOrder(execute_trigger_order::ExecuteTriggerOrder),
297    ForceCancelTriggerOrder(force_cancel_trigger_order::ForceCancelTriggerOrder),
298    CancelTriggerOrderV2(cancel_trigger_order_v2::CancelTriggerOrderV2),
299    CancelTriggerOrder(cancel_trigger_order::CancelTriggerOrder),
300    UpdateMinLot(update_min_lot::UpdateMinLot),
301    UpdateTickSize(update_tick_size::UpdateTickSize),
302    InitializeMinLotsAndTickSizes(
303        initialize_min_lots_and_tick_sizes::InitializeMinLotsAndTickSizes,
304    ),
305    EditTriggerOrder(edit_trigger_order::EditTriggerOrder),
306    EditTriggerOrderV2(edit_trigger_order_v2::EditTriggerOrderV2),
307    CancelOrder(cancel_order::CancelOrder),
308    CancelOrderNoError(cancel_order_no_error::CancelOrderNoError),
309    CancelAllMarketOrders(cancel_all_market_orders::CancelAllMarketOrders),
310    CancelOrderHalted(cancel_order_halted::CancelOrderHalted),
311    CancelOrderByClientOrderId(cancel_order_by_client_order_id::CancelOrderByClientOrderId),
312    CancelOrderByClientOrderIdNoError(
313        cancel_order_by_client_order_id_no_error::CancelOrderByClientOrderIdNoError,
314    ),
315    PruneExpiredTifOrders(prune_expired_tif_orders::PruneExpiredTifOrders),
316    PruneExpiredTifOrdersV2(prune_expired_tif_orders_v2::PruneExpiredTifOrdersV2),
317    ForceCancelOrderByOrderIdV2(force_cancel_order_by_order_id_v2::ForceCancelOrderByOrderIdV2),
318    ForceCancelOrderByOrderId(force_cancel_order_by_order_id::ForceCancelOrderByOrderId),
319    AdminSetOrderState(admin_set_order_state::AdminSetOrderState),
320    AdminForceCancelOrders(admin_force_cancel_orders::AdminForceCancelOrders),
321    ForceCancelOrdersV2(force_cancel_orders_v2::ForceCancelOrdersV2),
322    ForceCancelOrders(force_cancel_orders::ForceCancelOrders),
323    AdminCrankEventQueue(admin_crank_event_queue::AdminCrankEventQueue),
324    CrankEventQueue(crank_event_queue::CrankEventQueue),
325    CollectTreasuryFunds(collect_treasury_funds::CollectTreasuryFunds),
326    TreasuryMovement(treasury_movement::TreasuryMovement),
327    RebalanceInsuranceVault(rebalance_insurance_vault::RebalanceInsuranceVault),
328    RebalanceInsuranceVaultV2(rebalance_insurance_vault_v2::RebalanceInsuranceVaultV2),
329    LiquidateV2(liquidate_v2::LiquidateV2),
330    Liquidate(liquidate::Liquidate),
331    BurnVaultTokens(burn_vault_tokens::BurnVaultTokens),
332    SettleDexFunds(settle_dex_funds::SettleDexFunds),
333    PositionMovement(position_movement::PositionMovement),
334    TransferExcessSpreadBalance(transfer_excess_spread_balance::TransferExcessSpreadBalance),
335    ToggleMarketMaker(toggle_market_maker::ToggleMarketMaker),
336    InitializeReferrerAccounts(initialize_referrer_accounts::InitializeReferrerAccounts),
337    CloseReferrerAccounts(close_referrer_accounts::CloseReferrerAccounts),
338    EditMaType(edit_ma_type::EditMaType),
339    EditDelegatedPubkey(edit_delegated_pubkey::EditDelegatedPubkey),
340    ResetNumFlexUnderlyings(reset_num_flex_underlyings::ResetNumFlexUnderlyings),
341    TradeEvent(trade_event::TradeEvent),
342    TradeEventV2Event(trade_event_v2_event::TradeEventV2Event),
343    TradeEventV3Event(trade_event_v3_event::TradeEventV3Event),
344    PositionMovementEvent(position_movement_event::PositionMovementEvent),
345    PlaceOrderEvent(place_order_event::PlaceOrderEvent),
346    LiquidationEvent(liquidation_event::LiquidationEvent),
347    OrderCompleteEvent(order_complete_event::OrderCompleteEvent),
348    ApplyFundingEvent(apply_funding_event::ApplyFundingEvent),
349    PlaceMultiOrdersEvent(place_multi_orders_event::PlaceMultiOrdersEvent),
350}
351
352impl carbon_core::instruction::InstructionDecoder<'_> for ZetaDecoder {
353    type InstructionType = ZetaInstruction;
354
355    fn decode_instruction(
356        &self,
357        instruction: &solana_instruction::Instruction,
358    ) -> Option<carbon_core::instruction::DecodedInstruction<Self::InstructionType>> {
359        if !instruction.program_id.eq(&PROGRAM_ID) {
360            return None;
361        }
362
363        carbon_core::try_decode_instructions!(instruction,
364            ZetaInstruction::InitializeZetaPricing => initialize_zeta_pricing::InitializeZetaPricing,
365            ZetaInstruction::UpdateZetaPricingPubkeys => update_zeta_pricing_pubkeys::UpdateZetaPricingPubkeys,
366            ZetaInstruction::InitializeZetaGroup => initialize_zeta_group::InitializeZetaGroup,
367            ZetaInstruction::OverrideExpiry => override_expiry::OverrideExpiry,
368            ZetaInstruction::MigrateToNewCrossMarginAccount => migrate_to_new_cross_margin_account::MigrateToNewCrossMarginAccount,
369            ZetaInstruction::MigrateToCrossMarginAccount => migrate_to_cross_margin_account::MigrateToCrossMarginAccount,
370            ZetaInstruction::InitializeCrossMarginAccountManager => initialize_cross_margin_account_manager::InitializeCrossMarginAccountManager,
371            ZetaInstruction::InitializeCrossMarginAccountManagerV2 => initialize_cross_margin_account_manager_v2::InitializeCrossMarginAccountManagerV2,
372            ZetaInstruction::InitializeCrossMarginAccount => initialize_cross_margin_account::InitializeCrossMarginAccount,
373            ZetaInstruction::InitializeMarginAccount => initialize_margin_account::InitializeMarginAccount,
374            ZetaInstruction::InitializeSpreadAccount => initialize_spread_account::InitializeSpreadAccount,
375            ZetaInstruction::CloseCrossMarginAccountManager => close_cross_margin_account_manager::CloseCrossMarginAccountManager,
376            ZetaInstruction::CloseCrossMarginAccount => close_cross_margin_account::CloseCrossMarginAccount,
377            ZetaInstruction::CloseMarginAccount => close_margin_account::CloseMarginAccount,
378            ZetaInstruction::CloseSpreadAccount => close_spread_account::CloseSpreadAccount,
379            ZetaInstruction::InitializeUnderlying => initialize_underlying::InitializeUnderlying,
380            ZetaInstruction::InitializePerpSyncQueue => initialize_perp_sync_queue::InitializePerpSyncQueue,
381            ZetaInstruction::InitializeMarketIndexes => initialize_market_indexes::InitializeMarketIndexes,
382            ZetaInstruction::InitializeMarketNode => initialize_market_node::InitializeMarketNode,
383            ZetaInstruction::Halt => halt::Halt,
384            ZetaInstruction::Unhalt => unhalt::Unhalt,
385            ZetaInstruction::UpdateHaltState => update_halt_state::UpdateHaltState,
386            ZetaInstruction::UpdateVolatility => update_volatility::UpdateVolatility,
387            ZetaInstruction::UpdateInterestRate => update_interest_rate::UpdateInterestRate,
388            ZetaInstruction::AddPerpMarketIndex => add_perp_market_index::AddPerpMarketIndex,
389            ZetaInstruction::AddMarketIndexes => add_market_indexes::AddMarketIndexes,
390            ZetaInstruction::InitializeZetaState => initialize_zeta_state::InitializeZetaState,
391            ZetaInstruction::InitializeZetaTreasuryWallet => initialize_zeta_treasury_wallet::InitializeZetaTreasuryWallet,
392            ZetaInstruction::InitializeZetaReferralsRewardsWallet => initialize_zeta_referrals_rewards_wallet::InitializeZetaReferralsRewardsWallet,
393            ZetaInstruction::UpdateAdmin => update_admin::UpdateAdmin,
394            ZetaInstruction::UpdateSecondaryAdmin => update_secondary_admin::UpdateSecondaryAdmin,
395            ZetaInstruction::UpdateTriggerAdmin => update_trigger_admin::UpdateTriggerAdmin,
396            ZetaInstruction::UpdateMaTypeAdmin => update_ma_type_admin::UpdateMaTypeAdmin,
397            ZetaInstruction::UpdateReferralsAdmin => update_referrals_admin::UpdateReferralsAdmin,
398            ZetaInstruction::UpdatePricingAdmin => update_pricing_admin::UpdatePricingAdmin,
399            ZetaInstruction::UpdateTreasurySplitTokenAccount => update_treasury_split_token_account::UpdateTreasurySplitTokenAccount,
400            ZetaInstruction::UpdateMakerRebatePercentage => update_maker_rebate_percentage::UpdateMakerRebatePercentage,
401            ZetaInstruction::UpdateTakeTriggerOrderFeePercentage => update_take_trigger_order_fee_percentage::UpdateTakeTriggerOrderFeePercentage,
402            ZetaInstruction::UpdateZetaState => update_zeta_state::UpdateZetaState,
403            ZetaInstruction::UpdateOracle => update_oracle::UpdateOracle,
404            ZetaInstruction::UpdateOracleBackupFeed => update_oracle_backup_feed::UpdateOracleBackupFeed,
405            ZetaInstruction::UpdatePricingParameters => update_pricing_parameters::UpdatePricingParameters,
406            ZetaInstruction::UpdateMarginParameters => update_margin_parameters::UpdateMarginParameters,
407            ZetaInstruction::UpdateZetaGroupMarginParameters => update_zeta_group_margin_parameters::UpdateZetaGroupMarginParameters,
408            ZetaInstruction::UpdatePerpParameters => update_perp_parameters::UpdatePerpParameters,
409            ZetaInstruction::UpdateZetaGroupPerpParameters => update_zeta_group_perp_parameters::UpdateZetaGroupPerpParameters,
410            ZetaInstruction::UpdateZetaGroupExpiryParameters => update_zeta_group_expiry_parameters::UpdateZetaGroupExpiryParameters,
411            ZetaInstruction::ToggleZetaGroupPerpsOnly => toggle_zeta_group_perps_only::ToggleZetaGroupPerpsOnly,
412            ZetaInstruction::CleanZetaMarkets => clean_zeta_markets::CleanZetaMarkets,
413            ZetaInstruction::CleanZetaMarketHalted => clean_zeta_market_halted::CleanZetaMarketHalted,
414            ZetaInstruction::SettlePositionsHalted => settle_positions_halted::SettlePositionsHalted,
415            ZetaInstruction::InitializeMarketStrikes => initialize_market_strikes::InitializeMarketStrikes,
416            ZetaInstruction::ExpireSeriesOverride => expire_series_override::ExpireSeriesOverride,
417            ZetaInstruction::ExpireSeries => expire_series::ExpireSeries,
418            ZetaInstruction::InitializeMarketPda => initialize_market_pda::InitializeMarketPda,
419            ZetaInstruction::InitializeZetaSpecificMarketVaults => initialize_zeta_specific_market_vaults::InitializeZetaSpecificMarketVaults,
420            ZetaInstruction::InitializeZetaMarket => initialize_zeta_market::InitializeZetaMarket,
421            ZetaInstruction::InitializeMarketTifEpochCycle => initialize_market_tif_epoch_cycle::InitializeMarketTifEpochCycle,
422            ZetaInstruction::UpdatePricingV2 => update_pricing_v2::UpdatePricingV2,
423            ZetaInstruction::UpdatePricingV3 => update_pricing_v3::UpdatePricingV3,
424            ZetaInstruction::ApplyPerpFunding => apply_perp_funding::ApplyPerpFunding,
425            ZetaInstruction::Deposit => deposit::Deposit,
426            ZetaInstruction::DepositV2 => deposit_v2::DepositV2,
427            ZetaInstruction::DepositPermissionless => deposit_permissionless::DepositPermissionless,
428            ZetaInstruction::DepositInsuranceVault => deposit_insurance_vault::DepositInsuranceVault,
429            ZetaInstruction::DepositInsuranceVaultV2 => deposit_insurance_vault_v2::DepositInsuranceVaultV2,
430            ZetaInstruction::ChooseAirdropCommunity => choose_airdrop_community::ChooseAirdropCommunity,
431            ZetaInstruction::Withdraw => withdraw::Withdraw,
432            ZetaInstruction::WithdrawV2 => withdraw_v2::WithdrawV2,
433            ZetaInstruction::WithdrawInsuranceVault => withdraw_insurance_vault::WithdrawInsuranceVault,
434            ZetaInstruction::WithdrawInsuranceVaultV2 => withdraw_insurance_vault_v2::WithdrawInsuranceVaultV2,
435            ZetaInstruction::InitializeOpenOrders => initialize_open_orders::InitializeOpenOrders,
436            ZetaInstruction::InitializeOpenOrdersV2 => initialize_open_orders_v2::InitializeOpenOrdersV2,
437            ZetaInstruction::InitializeOpenOrdersV3 => initialize_open_orders_v3::InitializeOpenOrdersV3,
438            ZetaInstruction::CloseOpenOrders => close_open_orders::CloseOpenOrders,
439            ZetaInstruction::CloseOpenOrdersV2 => close_open_orders_v2::CloseOpenOrdersV2,
440            ZetaInstruction::CloseOpenOrdersV3 => close_open_orders_v3::CloseOpenOrdersV3,
441            ZetaInstruction::CloseOpenOrdersV4 => close_open_orders_v4::CloseOpenOrdersV4,
442            ZetaInstruction::AdminResetDexOpenOrders => admin_reset_dex_open_orders::AdminResetDexOpenOrders,
443            ZetaInstruction::InitializeWhitelistDepositAccount => initialize_whitelist_deposit_account::InitializeWhitelistDepositAccount,
444            ZetaInstruction::InitializeWhitelistInsuranceAccount => initialize_whitelist_insurance_account::InitializeWhitelistInsuranceAccount,
445            ZetaInstruction::InitializeWhitelistTradingFeesAccount => initialize_whitelist_trading_fees_account::InitializeWhitelistTradingFeesAccount,
446            ZetaInstruction::InitializeInsuranceDepositAccount => initialize_insurance_deposit_account::InitializeInsuranceDepositAccount,
447            ZetaInstruction::InitializeCombinedInsuranceVault => initialize_combined_insurance_vault::InitializeCombinedInsuranceVault,
448            ZetaInstruction::InitializeCombinedVault => initialize_combined_vault::InitializeCombinedVault,
449            ZetaInstruction::InitializeCombinedSocializedLossAccount => initialize_combined_socialized_loss_account::InitializeCombinedSocializedLossAccount,
450            ZetaInstruction::PlaceOrder => place_order::PlaceOrder,
451            ZetaInstruction::PlaceOrderV2 => place_order_v2::PlaceOrderV2,
452            ZetaInstruction::PlaceOrderV3 => place_order_v3::PlaceOrderV3,
453            ZetaInstruction::PlacePerpOrder => place_perp_order::PlacePerpOrder,
454            ZetaInstruction::PlacePerpOrderV2 => place_perp_order_v2::PlacePerpOrderV2,
455            ZetaInstruction::PlaceOrderV4 => place_order_v4::PlaceOrderV4,
456            ZetaInstruction::PlacePerpOrderV3 => place_perp_order_v3::PlacePerpOrderV3,
457            ZetaInstruction::PlacePerpOrderV4 => place_perp_order_v4::PlacePerpOrderV4,
458            ZetaInstruction::PlacePerpOrderV5 => place_perp_order_v5::PlacePerpOrderV5,
459            ZetaInstruction::PlaceMultiOrders => place_multi_orders::PlaceMultiOrders,
460            ZetaInstruction::PlaceTriggerOrder => place_trigger_order::PlaceTriggerOrder,
461            ZetaInstruction::ExecuteTriggerOrderV2 => execute_trigger_order_v2::ExecuteTriggerOrderV2,
462            ZetaInstruction::TakeTriggerOrder => take_trigger_order::TakeTriggerOrder,
463            ZetaInstruction::ExecuteTriggerOrder => execute_trigger_order::ExecuteTriggerOrder,
464            ZetaInstruction::ForceCancelTriggerOrder => force_cancel_trigger_order::ForceCancelTriggerOrder,
465            ZetaInstruction::CancelTriggerOrderV2 => cancel_trigger_order_v2::CancelTriggerOrderV2,
466            ZetaInstruction::CancelTriggerOrder => cancel_trigger_order::CancelTriggerOrder,
467            ZetaInstruction::UpdateMinLot => update_min_lot::UpdateMinLot,
468            ZetaInstruction::UpdateTickSize => update_tick_size::UpdateTickSize,
469            ZetaInstruction::InitializeMinLotsAndTickSizes => initialize_min_lots_and_tick_sizes::InitializeMinLotsAndTickSizes,
470            ZetaInstruction::EditTriggerOrder => edit_trigger_order::EditTriggerOrder,
471            ZetaInstruction::EditTriggerOrderV2 => edit_trigger_order_v2::EditTriggerOrderV2,
472            ZetaInstruction::CancelOrder => cancel_order::CancelOrder,
473            ZetaInstruction::CancelOrderNoError => cancel_order_no_error::CancelOrderNoError,
474            ZetaInstruction::CancelAllMarketOrders => cancel_all_market_orders::CancelAllMarketOrders,
475            ZetaInstruction::CancelOrderHalted => cancel_order_halted::CancelOrderHalted,
476            ZetaInstruction::CancelOrderByClientOrderId => cancel_order_by_client_order_id::CancelOrderByClientOrderId,
477            ZetaInstruction::CancelOrderByClientOrderIdNoError => cancel_order_by_client_order_id_no_error::CancelOrderByClientOrderIdNoError,
478            ZetaInstruction::PruneExpiredTifOrders => prune_expired_tif_orders::PruneExpiredTifOrders,
479            ZetaInstruction::PruneExpiredTifOrdersV2 => prune_expired_tif_orders_v2::PruneExpiredTifOrdersV2,
480            ZetaInstruction::ForceCancelOrderByOrderIdV2 => force_cancel_order_by_order_id_v2::ForceCancelOrderByOrderIdV2,
481            ZetaInstruction::ForceCancelOrderByOrderId => force_cancel_order_by_order_id::ForceCancelOrderByOrderId,
482            ZetaInstruction::AdminSetOrderState => admin_set_order_state::AdminSetOrderState,
483            ZetaInstruction::AdminForceCancelOrders => admin_force_cancel_orders::AdminForceCancelOrders,
484            ZetaInstruction::ForceCancelOrdersV2 => force_cancel_orders_v2::ForceCancelOrdersV2,
485            ZetaInstruction::ForceCancelOrders => force_cancel_orders::ForceCancelOrders,
486            ZetaInstruction::AdminCrankEventQueue => admin_crank_event_queue::AdminCrankEventQueue,
487            ZetaInstruction::CrankEventQueue => crank_event_queue::CrankEventQueue,
488            ZetaInstruction::CollectTreasuryFunds => collect_treasury_funds::CollectTreasuryFunds,
489            ZetaInstruction::TreasuryMovement => treasury_movement::TreasuryMovement,
490            ZetaInstruction::RebalanceInsuranceVault => rebalance_insurance_vault::RebalanceInsuranceVault,
491            ZetaInstruction::RebalanceInsuranceVaultV2 => rebalance_insurance_vault_v2::RebalanceInsuranceVaultV2,
492            ZetaInstruction::LiquidateV2 => liquidate_v2::LiquidateV2,
493            ZetaInstruction::Liquidate => liquidate::Liquidate,
494            ZetaInstruction::BurnVaultTokens => burn_vault_tokens::BurnVaultTokens,
495            ZetaInstruction::SettleDexFunds => settle_dex_funds::SettleDexFunds,
496            ZetaInstruction::PositionMovement => position_movement::PositionMovement,
497            ZetaInstruction::TransferExcessSpreadBalance => transfer_excess_spread_balance::TransferExcessSpreadBalance,
498            ZetaInstruction::ToggleMarketMaker => toggle_market_maker::ToggleMarketMaker,
499            ZetaInstruction::InitializeReferrerAccounts => initialize_referrer_accounts::InitializeReferrerAccounts,
500            ZetaInstruction::CloseReferrerAccounts => close_referrer_accounts::CloseReferrerAccounts,
501            ZetaInstruction::EditMaType => edit_ma_type::EditMaType,
502            ZetaInstruction::EditDelegatedPubkey => edit_delegated_pubkey::EditDelegatedPubkey,
503            ZetaInstruction::ResetNumFlexUnderlyings => reset_num_flex_underlyings::ResetNumFlexUnderlyings,
504            ZetaInstruction::TradeEvent => trade_event::TradeEvent,
505            ZetaInstruction::TradeEventV2Event => trade_event_v2_event::TradeEventV2Event,
506            ZetaInstruction::TradeEventV3Event => trade_event_v3_event::TradeEventV3Event,
507            ZetaInstruction::PositionMovementEvent => position_movement_event::PositionMovementEvent,
508            ZetaInstruction::PlaceOrderEvent => place_order_event::PlaceOrderEvent,
509            ZetaInstruction::LiquidationEvent => liquidation_event::LiquidationEvent,
510            ZetaInstruction::OrderCompleteEvent => order_complete_event::OrderCompleteEvent,
511            ZetaInstruction::ApplyFundingEvent => apply_funding_event::ApplyFundingEvent,
512            ZetaInstruction::PlaceMultiOrdersEvent => place_multi_orders_event::PlaceMultiOrdersEvent,
513        )
514    }
515}