diff --git a/Cargo.lock b/Cargo.lock index 932efbd..f98c979 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1427,7 +1427,7 @@ dependencies = [ [[package]] name = "jupiter-amm-interface" -version = "0.3.3" +version = "0.4.4" dependencies = [ "anyhow", "borsh 0.10.3", diff --git a/Cargo.toml b/Cargo.toml index d12a718..1664638 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "jupiter-amm-interface" -version = "0.3.3" +version = "0.4.4" license = "Apache-2.0" edition = "2021" description = "AMM interface to integrate a DEX into jupiter-core" diff --git a/src/swap.rs b/src/swap.rs index 06104c6..8b81509 100644 --- a/src/swap.rs +++ b/src/swap.rs @@ -6,7 +6,7 @@ pub enum Side { Ask, } -#[derive(BorshSerialize, Copy, Clone, Debug, PartialEq)] +#[derive(BorshSerialize, Clone, Debug, PartialEq)] pub enum Swap { Saber, SaberAddDecimalsDeposit, @@ -100,4 +100,39 @@ pub enum Swap { lst_value_calc_accs: u8, lst_index: u32, }, + RaydiumCP, + WhirlpoolSwapV2 { + a_to_b: bool, + remaining_accounts_info: Option, + }, + OneIntro, + PumpdotfunWrappedBuy, + PumpdotfunWrappedSell, + PerpsV2Swap, + PerpsV2AddLiquidity, + PerpsV2RemoveLiquidity, +} + +#[derive(BorshSerialize, Copy, Clone, PartialEq, Eq, Debug)] +pub enum AccountsType { + TransferHookA, + TransferHookB, + // TransferHookReward, + // TransferHookInput, + // TransferHookIntermediate, + // TransferHookOutput, + //TickArray, + //TickArrayOne, + //TickArrayTwo, +} + +#[derive(BorshSerialize, Clone, Debug, PartialEq)] +pub struct RemainingAccountsSlice { + pub accounts_type: AccountsType, + pub length: u8, +} + +#[derive(BorshSerialize, Clone, Debug, PartialEq)] +pub struct RemainingAccountsInfo { + pub slices: Vec, }