Skip to content

Commit dbc475c

Browse files
committed
tests pass + sdk changes + rename taker_speed_bump_override
1 parent 30636c4 commit dbc475c

File tree

19 files changed

+91
-80
lines changed

19 files changed

+91
-80
lines changed

programs/drift/src/controller/orders.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1090,7 +1090,7 @@ pub fn fill_perp_order(
10901090
&market.amm.oracle_source,
10911091
oracle::LogMode::SafeMMOracle,
10921092
market.amm.oracle_slot_delay_override,
1093-
market.amm.taker_speed_bump_override,
1093+
market.amm.oracle_low_risk_slot_delay_override,
10941094
)?;
10951095

10961096
user_can_skip_duration = user.can_skip_auction_duration(user_stats)?;

programs/drift/src/controller/orders/amm_jit_tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ pub fn get_amm_is_available(
6262
&market.amm.oracle_source,
6363
oracle::LogMode::SafeMMOracle,
6464
market.amm.oracle_slot_delay_override,
65-
market.amm.taker_speed_bump_override,
65+
market.amm.oracle_low_risk_slot_delay_override,
6666
)
6767
.unwrap();
6868
market

programs/drift/src/controller/orders/fuel_tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ pub fn get_amm_is_available(
5858
&market.amm.oracle_source,
5959
crate::math::oracle::LogMode::SafeMMOracle,
6060
market.amm.oracle_slot_delay_override,
61-
market.amm.taker_speed_bump_override,
61+
market.amm.oracle_low_risk_slot_delay_override,
6262
)
6363
.unwrap();
6464
market

programs/drift/src/controller/orders/tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ pub fn get_amm_is_available(
6262
&market.amm.oracle_source,
6363
crate::math::oracle::LogMode::SafeMMOracle,
6464
market.amm.oracle_slot_delay_override,
65-
market.amm.taker_speed_bump_override,
65+
market.amm.oracle_low_risk_slot_delay_override,
6666
)
6767
.unwrap();
6868
market

programs/drift/src/controller/position/tests.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ use crate::controller::repeg::_update_amm;
66

77
use crate::math::amm::calculate_market_open_bids_asks;
88
use crate::math::constants::{
9-
AMM_RESERVE_PRECISION, AMM_RESERVE_PRECISION_I128, BASE_PRECISION, BASE_PRECISION_I64,
10-
PRICE_PRECISION_I64, PRICE_PRECISION_U64, QUOTE_PRECISION_I128,
9+
BASE_PRECISION, BASE_PRECISION_I64, PRICE_PRECISION_I64, PRICE_PRECISION_U64,
1110
SPOT_CUMULATIVE_INTEREST_PRECISION, SPOT_WEIGHT_PRECISION,
1211
};
1312
use crate::math::oracle::OracleValidity;
@@ -34,7 +33,6 @@ use crate::state::spot_market_map::SpotMarketMap;
3433
use crate::state::user::SpotPosition;
3534
use crate::test_utils::get_anchor_account_bytes;
3635
use crate::test_utils::get_hardcoded_pyth_price;
37-
use crate::QUOTE_PRECISION_I64;
3836
use anchor_lang::prelude::{AccountLoader, Clock};
3937
use anchor_lang::Owner;
4038
use solana_program::pubkey::Pubkey;
@@ -949,6 +947,7 @@ fn amm_negative_ref_price_offset_decay_logic() {
949947
assert_eq!(perp_market.amm.last_update_slot, 353317544);
950948

951949
perp_market.amm.curve_update_intensity = 200;
950+
perp_market.amm.oracle_slot_delay_override = -1;
952951

953952
let max_ref_offset = perp_market.amm.get_max_reference_price_offset().unwrap();
954953

programs/drift/src/controller/repeg.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,11 @@ pub fn _update_amm(
166166
}
167167

168168
let oracle_data = &mm_oracle_price_data.get_safe_oracle_price_data();
169+
let slot_delay_override = state
170+
.oracle_guard_rails
171+
.validity
172+
.slots_before_stale_for_amm
173+
.cast()?;
169174
let oracle_validity = oracle::oracle_validity(
170175
MarketType::Perp,
171176
market.market_index,
@@ -175,8 +180,8 @@ pub fn _update_amm(
175180
market.get_max_confidence_interval_multiplier()?,
176181
&market.amm.oracle_source,
177182
oracle::LogMode::SafeMMOracle,
178-
0,
179-
0,
183+
slot_delay_override,
184+
slot_delay_override,
180185
)?;
181186

182187
let mut amm_update_cost = 0;

programs/drift/src/controller/repeg/tests.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ pub fn update_amm_test() {
114114
market.get_max_confidence_interval_multiplier().unwrap(),
115115
&market.amm.oracle_source,
116116
LogMode::ExchangeOracle,
117-
0,
118-
0,
117+
state.oracle_guard_rails.validity.slots_before_stale_for_amm as i8,
118+
state.oracle_guard_rails.validity.slots_before_stale_for_amm as i8,
119119
)
120120
.unwrap()
121121
== OracleValidity::Valid;

programs/drift/src/instructions/admin.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1071,8 +1071,8 @@ pub fn handle_initialize_perp_market(
10711071
last_oracle_valid: false,
10721072
target_base_asset_amount_per_lp: 0,
10731073
per_lp_base: 0,
1074-
oracle_slot_delay_override: 0,
1075-
taker_speed_bump_override: 0,
1074+
oracle_slot_delay_override: -1,
1075+
oracle_low_risk_slot_delay_override: 0,
10761076
amm_spread_adjustment: 0,
10771077
mm_oracle_sequence_id: 0,
10781078
net_unsettled_funding_pnl: 0,
@@ -4150,20 +4150,20 @@ pub fn handle_update_perp_market_protected_maker_params(
41504150
#[access_control(
41514151
perp_market_valid(&ctx.accounts.perp_market)
41524152
)]
4153-
pub fn handle_update_perp_market_taker_speed_bump_override(
4153+
pub fn handle_update_perp_market_oracle_low_risk_slot_delay_override(
41544154
ctx: Context<HotAdminUpdatePerpMarket>,
4155-
taker_speed_bump_override: i8,
4155+
oracle_low_risk_slot_delay_override: i8,
41564156
) -> Result<()> {
41574157
let perp_market = &mut load_mut!(ctx.accounts.perp_market)?;
41584158
msg!("perp market {}", perp_market.market_index);
41594159

41604160
msg!(
4161-
"perp_market.amm.taker_speed_bump_override: {:?} -> {:?}",
4162-
perp_market.amm.taker_speed_bump_override,
4163-
taker_speed_bump_override
4161+
"perp_market.amm.oracle_low_risk_slot_delay_override: {:?} -> {:?}",
4162+
perp_market.amm.oracle_low_risk_slot_delay_override,
4163+
oracle_low_risk_slot_delay_override
41644164
);
41654165

4166-
perp_market.amm.taker_speed_bump_override = taker_speed_bump_override;
4166+
perp_market.amm.oracle_low_risk_slot_delay_override = oracle_low_risk_slot_delay_override;
41674167
Ok(())
41684168
}
41694169

programs/drift/src/instructions/user.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1789,7 +1789,7 @@ pub fn handle_transfer_perp_position<'c: 'info, 'info>(
17891789
.last_oracle_price_twap,
17901790
perp_market.get_max_confidence_interval_multiplier()?,
17911791
perp_market.amm.oracle_slot_delay_override,
1792-
perp_market.amm.taker_speed_bump_override,
1792+
perp_market.amm.oracle_low_risk_slot_delay_override,
17931793
)?;
17941794
step_size = perp_market.amm.order_step_size;
17951795
tick_size = perp_market.amm.order_tick_size;

programs/drift/src/lib.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1583,11 +1583,14 @@ pub mod drift {
15831583
)
15841584
}
15851585

1586-
pub fn update_perp_market_taker_speed_bump_override(
1586+
pub fn update_perp_market_oracle_low_risk_slot_delay_override(
15871587
ctx: Context<HotAdminUpdatePerpMarket>,
1588-
taker_speed_bump_override: i8,
1588+
oracle_low_risk_slot_delay_override: i8,
15891589
) -> Result<()> {
1590-
handle_update_perp_market_taker_speed_bump_override(ctx, taker_speed_bump_override)
1590+
handle_update_perp_market_oracle_low_risk_slot_delay_override(
1591+
ctx,
1592+
oracle_low_risk_slot_delay_override,
1593+
)
15911594
}
15921595

15931596
pub fn update_perp_market_amm_spread_adjustment(

0 commit comments

Comments
 (0)