Skip to content

Commit

Permalink
expose program_id for the stake pool for testing
Browse files Browse the repository at this point in the history
  • Loading branch information
Arrowana committed Sep 27, 2023
1 parent 20deb03 commit bc50a17
Show file tree
Hide file tree
Showing 9 changed files with 56 additions and 19 deletions.
2 changes: 2 additions & 0 deletions common/src/base_amm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ use jupiter_amm_interface::AccountMap;
use solana_program::pubkey::Pubkey;

pub trait BaseStakePoolAmm {
fn program_id(&self) -> Pubkey;

fn stake_pool_label(&self) -> &'static str;

/// For ID purposes
Expand Down
23 changes: 4 additions & 19 deletions common/src/deposit_sol.rs
Original file line number Diff line number Diff line change
Expand Up @@ -167,24 +167,9 @@ where
}

fn program_dependencies(&self) -> Vec<(Pubkey, String)> {
use crate::{eversol_program, lido_program, marinade_program, socean_program};
use solana_sdk::pubkey;

let mut stake_pool_label = self.0.stake_pool_label();
let stake_pool_program = match stake_pool_label {
"Eversol" => eversol_program::ID,
"Socean" => socean_program::ID,
"Marinade" => marinade_program::ID,
"Lido" => lido_program::ID,
"Cogent" | "DaoPool" | "Jito" | "Laine" | "SolBlaze" => {
stake_pool_label = "spl_stake_pool";
pubkey!("SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy")
}
_ => {
println!("Label not recognized: {}", stake_pool_label);
return vec![];
}
};
vec![(stake_pool_program, stake_pool_label.to_lowercase())]
vec![(
self.0.program_id(),
self.0.stake_pool_label().to_lowercase(),
)]
}
}
26 changes: 26 additions & 0 deletions common/src/pool_pair.rs
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,19 @@ where
.underlying_liquidity()
.map(|ul| HashSet::from([*ul]))
}

fn program_dependencies(&self) -> Vec<(Pubkey, String)> {
vec![
(
self.withdraw.program_id(),
self.withdraw.stake_pool_label().to_lowercase(),
),
(
self.deposit.program_id(),
self.deposit.stake_pool_label().to_lowercase(),
),
]
}
}

#[derive(Clone)]
Expand Down Expand Up @@ -345,4 +358,17 @@ where
// Pick a single direction
1 + WithdrawStake::accounts_len(&self.p1) + DepositStake::accounts_len(&self.p2) + 1
}

fn program_dependencies(&self) -> Vec<(Pubkey, String)> {
vec![
(
self.p1.program_id(),
self.p1.stake_pool_label().to_lowercase(),
),
(
self.p2.program_id(),
self.p2.stake_pool_label().to_lowercase(),
),
]
}
}
4 changes: 4 additions & 0 deletions libs/eversol_stake_pool/src/stakedex_traits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,10 @@ impl InitFromKeyedAccount for EversolStakePoolStakedex {
}

impl BaseStakePoolAmm for EversolStakePoolStakedex {
fn program_id(&self) -> Pubkey {
eversol_program::ID
}

fn stake_pool_label(&self) -> &'static str {
EVERSOL_STAKE_POOL_LABEL
}
Expand Down
4 changes: 4 additions & 0 deletions libs/lido/src/stakedex_traits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ impl InitFromKeyedAccount for LidoStakedex {
}

impl BaseStakePoolAmm for LidoStakedex {
fn program_id(&self) -> Pubkey {
lido_program::ID
}

fn stake_pool_label(&self) -> &'static str {
LIDO_LABEL
}
Expand Down
4 changes: 4 additions & 0 deletions libs/marinade/src/stakedex_traits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ impl InitFromKeyedAccount for MarinadeStakedex {
}

impl BaseStakePoolAmm for MarinadeStakedex {
fn program_id(&self) -> Pubkey {
marinade_program::ID
}

fn stake_pool_label(&self) -> &'static str {
MARINADE_LABEL
}
Expand Down
4 changes: 4 additions & 0 deletions libs/socean_stake_pool/src/stakedex_traits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,10 @@ impl InitFromKeyedAccount for SoceanStakePoolStakedex {
}

impl BaseStakePoolAmm for SoceanStakePoolStakedex {
fn program_id(&self) -> Pubkey {
socean_program::ID
}

fn stake_pool_label(&self) -> &'static str {
SOCEAN_STAKE_POOL_LABEL
}
Expand Down
4 changes: 4 additions & 0 deletions libs/spl_stake_pool/src/stakedex_traits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,10 @@ impl InitFromKeyedAccount for SplStakePoolStakedex {
}

impl BaseStakePoolAmm for SplStakePoolStakedex {
fn program_id(&self) -> Pubkey {
spl_stake_pool::ID
}

fn stake_pool_label(&self) -> &'static str {
self.stake_pool_label
}
Expand Down
4 changes: 4 additions & 0 deletions libs/unstake_it/src/stakedex_traits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@ impl InitFromKeyedAccount for UnstakeItStakedex {
}

impl BaseStakePoolAmm for UnstakeItStakedex {
fn program_id(&self) -> Pubkey {
unstake_it_program::ID
}

fn stake_pool_label(&self) -> &'static str {
SANCTUM_LABEL
}
Expand Down

0 comments on commit bc50a17

Please sign in to comment.