@@ -4,6 +4,7 @@ use crate::math::constants::{
44 MARGIN_PRECISION_U128 , MAX_POSITIVE_UPNL_FOR_INITIAL_MARGIN , PERCENTAGE_PRECISION ,
55 PRICE_PRECISION , SPOT_IMF_PRECISION_U128 , SPOT_WEIGHT_PRECISION , SPOT_WEIGHT_PRECISION_U128 ,
66} ;
7+ use crate :: math:: oracle:: LogMode ;
78use crate :: math:: position:: calculate_base_asset_value_and_pnl_with_oracle_price;
89
910use crate :: MARGIN_PRECISION ;
@@ -305,6 +306,7 @@ pub fn calculate_margin_requirement_and_total_collateral_and_liability_info(
305306 spot_market. get_max_confidence_interval_multiplier ( ) ?,
306307 0 ,
307308 0 ,
309+ Some ( LogMode :: Margin ) ,
308310 ) ?;
309311
310312 let mut skip_token_value = false ;
@@ -558,6 +560,7 @@ pub fn calculate_margin_requirement_and_total_collateral_and_liability_info(
558560 quote_spot_market. get_max_confidence_interval_multiplier ( ) ?,
559561 0 ,
560562 0 ,
563+ Some ( LogMode :: Margin ) ,
561564 ) ?;
562565
563566 let strict_quote_price = StrictOraclePrice :: new (
@@ -575,8 +578,9 @@ pub fn calculate_margin_requirement_and_total_collateral_and_liability_info(
575578 & market. oracle_id ( ) ,
576579 market. amm . historical_oracle_data . last_oracle_price_twap ,
577580 market. get_max_confidence_interval_multiplier ( ) ?,
578- 0 ,
579- 0 ,
581+ market. amm . oracle_slot_delay_override ,
582+ market. amm . oracle_low_risk_slot_delay_override ,
583+ Some ( LogMode :: Margin ) ,
580584 ) ?;
581585
582586 let perp_position_custom_margin_ratio =
@@ -993,6 +997,7 @@ pub fn calculate_user_equity(
993997 spot_market. get_max_confidence_interval_multiplier ( ) ?,
994998 0 ,
995999 0 ,
1000+ Some ( LogMode :: Margin ) ,
9961001 ) ?;
9971002 all_oracles_valid &=
9981003 is_oracle_valid_for_action ( oracle_validity, Some ( DriftAction :: MarginCalc ) ) ?;
@@ -1024,6 +1029,7 @@ pub fn calculate_user_equity(
10241029 quote_spot_market. get_max_confidence_interval_multiplier ( ) ?,
10251030 0 ,
10261031 0 ,
1032+ Some ( LogMode :: Margin ) ,
10271033 ) ?;
10281034
10291035 all_oracles_valid &=
@@ -1038,8 +1044,9 @@ pub fn calculate_user_equity(
10381044 & market. oracle_id ( ) ,
10391045 market. amm . historical_oracle_data . last_oracle_price_twap ,
10401046 market. get_max_confidence_interval_multiplier ( ) ?,
1041- 0 ,
1042- 0 ,
1047+ market. amm . oracle_slot_delay_override ,
1048+ market. amm . oracle_low_risk_slot_delay_override ,
1049+ Some ( LogMode :: Margin ) ,
10431050 ) ?;
10441051
10451052 all_oracles_valid &=
0 commit comments