diff --git a/CHANGELOG.md b/CHANGELOG.md index efaf04f6d..65f1e70e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixes +- program: fix base spread validate for perp market [#2052](https://github.com/drift-labs/protocol-v2/pull/2052) - sdk: fix for initializing a new user account with a token2022 deposit ### Breaking diff --git a/programs/drift/src/validation/perp_market.rs b/programs/drift/src/validation/perp_market.rs index 30bce4ded..91ddecea8 100644 --- a/programs/drift/src/validation/perp_market.rs +++ b/programs/drift/src/validation/perp_market.rs @@ -139,9 +139,9 @@ pub fn validate_perp_market(market: &PerpMarket) -> DriftResult { if market.amm.amm_spread_adjustment >= 0 && market.amm.amm_inventory_spread_adjustment >= 0 { validate!( - market.amm.long_spread + market.amm.short_spread >= market.amm.base_spread, + market.amm.long_spread + market.amm.short_spread >= market.amm.base_spread.saturating_sub(2), ErrorCode::InvalidAmmDetected, - "market {} amm long_spread + short_spread < base_spread: {} + {} < {}", + "market {} amm long_spread + short_spread < base_spread - 2: {} + {} < {}", market.market_index, market.amm.long_spread, market.amm.short_spread,