#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, Clone, borsh::BorshSerialize, borsh::BorshDeserialize, PartialEq)]
pub enum Dex {
SplTokenSwap,
StableSwap,
Whirlpool,
MeteoraDynamicpool,
RaydiumSwap,
RaydiumStableSwap,
RaydiumClmmSwap,
AldrinExchangeV1,
AldrinExchangeV2,
LifinityV1,
LifinityV2,
RaydiumClmmSwapV2,
FluxBeam,
MeteoraDlmm,
RaydiumCpmmSwap,
OpenBookV2,
WhirlpoolV2,
Phoenix,
ObricV2,
SanctumAddLiq,
SanctumRemoveLiq,
SanctumNonWsolSwap,
SanctumWsolSwap,
PumpfunBuy,
PumpfunSell,
StabbleSwap,
SanctumRouter,
MeteoraVaultDeposit,
MeteoraVaultWithdraw,
Saros,
MeteoraLst,
Solfi,
QualiaSwap,
Zerofi,
PumpfunammBuy,
PumpfunammSell,
Virtuals,
VertigoBuy,
VertigoSell,
PerpetualsAddLiq,
PerpetualsRemoveLiq,
PerpetualsSwap,
RaydiumLaunchpad,
LetsBonkFun,
Woofi,
MeteoraDbc,
MeteoraDlmmSwap2,
MeteoraDAMMV2,
Gavel,
BoopfunBuy,
BoopfunSell,
MeteoraDbc2,
GooseFX,
Dooar,
Numeraire,
SaberDecimalWrapperDeposit,
SaberDecimalWrapperWithdraw,
SarosDlmm,
OneDexSwap,
Manifest,
ByrealClmm,
PancakeSwapV3Swap,
PancakeSwapV3SwapV2,
Tessera,
SolRfq {
rfq_id: u64,
expected_maker_amount: u64,
expected_taker_amount: u64,
maker_send_amount: u64,
taker_send_amount: u64,
expiry: u64,
maker_use_native_sol: bool,
taker_use_native_sol: bool,
},
PumpfunBuy2,
PumpfunammBuy2,
Humidifi,
HeavenBuy,
HeavenSell,
SolfiV2,
PumpfunBuy3,
PumpfunSell3,
PumpfunammBuy3,
PumpfunammSell3,
Goonfi,
MoonitBuy,
MoonitSell,
RaydiumSwapV2,
Whalestreet,
SugarMoneyBuy {
bonding_curve_bump: u8,
bonding_curve_sol_associated_account_bump: u8,
},
SugarMoneySell {
bonding_curve_bump: u8,
bonding_curve_sol_associated_account_bump: u8,
},
MeteoraDAMMV2Swap2,
AlphaQ,
FutarchyAmm,
PumpfunSell2,
HumidifiSwap2 {
swap_id: u64,
},
Scorch {
id: u128,
},
JupiterLendDeposit,
JupiterLendRedeem,
TaurusFi,
BisonFi,
GoonfiV2,
Quantum,
BoopfunBuy2,
BoopfunSell2,
ByrealClmm2,
Dooar2,
HeavenBuy2,
HeavenSell2,
MoonitBuy2,
MoonitSell2,
SaberDecimalWrapperDeposit2,
SaberDecimalWrapperWithdraw2,
ByrealPropAmm,
SanctumPrefundSwapViaStake {
swap_id: u64,
},
AbyssAmm,
Aquifer,
WhalestreetV2 {
auth_amount_in: u64,
auth: u64,
},
SolfiV2WithSig {
unix_timestamp: u64,
msg_amount_in: u64,
expect_amount_out: u64,
slippage: u16,
user_request_slot: u64,
#[cfg_attr(feature = "serde", serde(with = "serde_big_array::BigArray"))]
signature: [u8; 64],
recovery_id: u8,
},
}