use crate::types::{
AlphaQSwapOptions, BisonFiSwapOptions, ClearpoolsSwapOptions, DFlowDynamicRouteV1Options,
DeriverseSwapOptions, GammaSwapOptions, GhostSwapOptions, HeavenSwapOptions,
HumidiFiSwapOptions, KDEXSwapOptions, LemmingsFiSwapOptions, LifinityV2SwapOptions,
ManifestSwapOptions, MetaDaoSwapOptions, MeteoraDammV1SwapOptions, MeteoraDammV2SwapOptions,
MeteoraDbcSwapOptions, MeteoraDlmmSwapOptions, MeteoraDlmmSwapV2Options, MozartSwapOptions,
NexusSwapOptions, ObricV2SwapOptions, OpenPredictionsOrderOptions, PhoenixSwapOptions,
PumpFunAmmBuyOptions, PumpFunAmmSellOptions, PumpFunBuyOptions, PumpFunSellOptions,
RaydiumAmmSwapOptions, RaydiumClmmSwapOptions, RaydiumClmmSwapV2Options, RaydiumCpSwapOptions,
RaydiumLaunchlabSwapOptions, RecordId2Options, RecordIdOptions, RubiconSwapOptions,
SanctumInfinityLiquidityOptions, SanctumInfinitySwapOptions, SarosDlmmSwapOptions,
ScorchSwapOptions, SetMaxUnderconsumptionBpsOptions, SetMinimumLegOutputsOptions,
SetMinimumLegPricesOptions, SolFiSwapOptions, SolFiV2SwapOptions, StabbleStableSwapOptions,
StabbleWeightedSwapOptions, TesseraVSwapOptions, TokenSwapOptions, TransferFeeOptions,
VaultSwapOptions, VertigoSwapOptions, WhirlpoolsSwapOptions, WhirlpoolsSwapV2Options,
WrapSolOptions, XoCashExchangeSwapOptions, ZeroFiSwapOptions, O,
};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, Clone, borsh::BorshSerialize, borsh::BorshDeserialize, PartialEq)]
pub enum Action {
WhirlpoolsSwap(WhirlpoolsSwapOptions),
ClearpoolsSwap(ClearpoolsSwapOptions),
RaydiumAmmSwap(RaydiumAmmSwapOptions),
LifinityV2Swap(LifinityV2SwapOptions),
MeteoraDlmmSwap(MeteoraDlmmSwapOptions),
RaydiumClmmSwap(RaydiumClmmSwapOptions),
RaydiumClmmSwapV2(RaydiumClmmSwapV2Options),
PhoenixSwap(PhoenixSwapOptions),
PumpFunBuy(PumpFunBuyOptions),
PumpFunSell(PumpFunSellOptions),
GammaSwap(GammaSwapOptions),
ObricV2Swap(ObricV2SwapOptions),
PumpFunAmmBuy(PumpFunAmmBuyOptions),
PumpFunAmmSell(PumpFunAmmSellOptions),
SolFiSwap(SolFiSwapOptions),
RubiconSwap(RubiconSwapOptions),
MeteoraDammV1Swap(MeteoraDammV1SwapOptions),
RaydiumCpSwap(RaydiumCpSwapOptions),
StabbleStableSwap(StabbleStableSwapOptions),
TesseraVSwap(TesseraVSwapOptions),
MeteoraDammV2Swap(MeteoraDammV2SwapOptions),
RaydiumLaunchlabSwap(RaydiumLaunchlabSwapOptions),
MeteoraDbcSwap(MeteoraDbcSwapOptions),
HumidiFiSwap(HumidiFiSwapOptions),
WhirlpoolsSwapV2(WhirlpoolsSwapV2Options),
MeteoraDlmmSwapV2(MeteoraDlmmSwapV2Options),
ZeroFiSwap(ZeroFiSwapOptions),
AlphaQSwap(AlphaQSwapOptions),
TokenSwap(TokenSwapOptions),
SolFiV2Swap(SolFiV2SwapOptions),
MozartSwap(MozartSwapOptions),
DFlowDynamicRouteV1(DFlowDynamicRouteV1Options),
HeavenSwap(HeavenSwapOptions),
NexusSwap(NexusSwapOptions),
SarosDlmmSwap(SarosDlmmSwapOptions),
TransferFee(TransferFeeOptions),
TransferFeeWithMint(TransferFeeOptions),
RecordId(RecordIdOptions),
RecordId2(RecordId2Options),
ManifestSwap(ManifestSwapOptions),
BisonFiSwap(BisonFiSwapOptions),
SanctumInfinitySwap(SanctumInfinitySwapOptions),
SanctumInfinityLiquidity(SanctumInfinityLiquidityOptions),
OpenPredictionsOrder(OpenPredictionsOrderOptions),
ScorchSwap(ScorchSwapOptions),
IncludeAccount,
StabbleWeightedSwap(StabbleWeightedSwapOptions),
VertigoSwap(VertigoSwapOptions),
SetMinimumLegOutputs(SetMinimumLegOutputsOptions),
SetMinimumLegPrices(SetMinimumLegPricesOptions),
SetSponsor,
WrapSol(WrapSolOptions),
UnwrapSol,
KDEXSwap(KDEXSwapOptions),
DeriverseSwap(DeriverseSwapOptions),
VaultSwap(VaultSwapOptions),
MetaDaoSwap(MetaDaoSwapOptions),
D(O),
XoCashExchangeSwap(XoCashExchangeSwapOptions),
LemmingsFiSwap(LemmingsFiSwapOptions),
InitAtaIdempotent,
SetMaxUnderconsumptionBps(SetMaxUnderconsumptionBpsOptions),
GhostSwap(GhostSwapOptions),
TransferFeeV2(TransferFeeOptions),
TransferFeeWithMintV2(TransferFeeOptions),
}