From 4d0a8dcdbff1706dd4447ab63f562c040c2b9e6f Mon Sep 17 00:00:00 2001 From: Pierre Date: Tue, 15 Feb 2022 02:33:44 +1100 Subject: [PATCH] fix: stable market tiers (#217) --- dex/src/fees.rs | 2 +- dex/src/state.rs | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/dex/src/fees.rs b/dex/src/fees.rs index b3f6766c..8dc24c7e 100644 --- a/dex/src/fees.rs +++ b/dex/src/fees.rs @@ -90,7 +90,7 @@ impl FeeTier { pub fn from_srm_and_msrm_balances(market: &Pubkey, srm_held: u64, msrm_held: u64) -> FeeTier { let one_srm = 1_000_000; - if market == &stable_markets::usdt_usdc::ID || market == &stable_markets::msol_sol::ID { + if market == &stable_markets::usdt_usdc::ID || market == &stable_markets::msol_sol::ID || market == &stable_markets::ust_usdc::ID || market == &stable_markets::ust_usdt::ID || market == &stable_markets::stsol_sol::ID { return FeeTier::Stable; } diff --git a/dex/src/state.rs b/dex/src/state.rs index 14016d1f..3d79f009 100644 --- a/dex/src/state.rs +++ b/dex/src/state.rs @@ -537,9 +537,10 @@ impl MarketState { expected_owner: &[u64; 4], srm_or_msrm_account: Option, ) -> DexResult { + let market_addr = self.pubkey(); let srm_or_msrm_account = match srm_or_msrm_account { Some(a) => a, - None => return Ok(FeeTier::Base), + None => return Ok(FeeTier::from_srm_and_msrm_balances(&market_addr, 0, 0)), }; let data = srm_or_msrm_account.inner().try_borrow_data()?; @@ -547,8 +548,6 @@ impl MarketState { bytes_of_mut(&mut aligned_data).copy_from_slice(&data[..72]); let (mint, owner, &[balance]) = array_refs![&aligned_data, 4, 4, 1]; - let market_addr = self.pubkey(); - check_assert_eq!(owner, expected_owner)?; if mint == &srm_token::ID.to_aligned_bytes() { return Ok(FeeTier::from_srm_and_msrm_balances(