Skip to content

Commit 91e1a83

Browse files
committed
repurpose taker_speed_bump_override
1 parent 052daca commit 91e1a83

File tree

9 files changed

+17
-21
lines changed

9 files changed

+17
-21
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.slots_before_stale_for_amm_low_risk,
1093+
market.amm.taker_speed_bump_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: 3 additions & 4 deletions
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.slots_before_stale_for_amm_low_risk,
65+
market.amm.taker_speed_bump_override,
6666
)
6767
.unwrap();
6868
market
@@ -565,9 +565,9 @@ pub mod amm_jit {
565565
Some(PRICE_PRECISION_I64),
566566
now,
567567
slot,
568-
is_amm_available,
569-
FillMode::Fill,
570568
false,
569+
FillMode::Fill,
570+
is_amm_available,
571571
&mut None,
572572
false,
573573
)
@@ -581,7 +581,6 @@ pub mod amm_jit {
581581
-(BASE_PRECISION_I64 + BASE_PRECISION_I64 / 2)
582582
);
583583

584-
println!("amm is available: {}", is_amm_available);
585584
// nets to zero
586585
let market_after = market_map.get_ref(&0).unwrap();
587586
assert_eq!(market_after.amm.base_asset_amount_with_amm, 0);

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.slots_before_stale_for_amm_low_risk,
61+
market.amm.taker_speed_bump_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.slots_before_stale_for_amm_low_risk,
65+
market.amm.taker_speed_bump_override,
6666
)
6767
.unwrap();
6868
market

programs/drift/src/instructions/admin.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1080,8 +1080,7 @@ pub fn handle_initialize_perp_market(
10801080
reference_price_offset: 0,
10811081
amm_inventory_spread_adjustment: 0,
10821082
reference_price_offset_deadband_pct: 0,
1083-
slots_before_stale_for_amm_low_risk: 0,
1084-
padding: [0; 1],
1083+
padding: [0; 2],
10851084
last_funding_oracle_twap: 0,
10861085
},
10871086
};

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.slots_before_stale_for_amm_low_risk,
1792+
perp_market.amm.taker_speed_bump_override,
17931793
)?;
17941794
step_size = perp_market.amm.order_step_size;
17951795
tick_size = perp_market.amm.order_tick_size;

programs/drift/src/math/oracle.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ pub fn oracle_validity(
254254
oracle_source: &OracleSource,
255255
log_mode: LogMode,
256256
slots_before_stale_for_amm_immdiate_override: i8,
257-
slots_before_stale_for_amm_low_risk: i8,
257+
taker_speed_bump_override: i8,
258258
) -> DriftResult<OracleValidity> {
259259
let OraclePriceData {
260260
price: oracle_price,
@@ -285,8 +285,8 @@ pub fn oracle_validity(
285285
oracle_delay.gt(&valid_oracle_guard_rails.slots_before_stale_for_amm)
286286
};
287287

288-
let is_stale_for_amm_low_risk = if slots_before_stale_for_amm_low_risk != 0 {
289-
oracle_delay.gt(&slots_before_stale_for_amm_low_risk.max(0).cast()?)
288+
let is_stale_for_amm_low_risk = if taker_speed_bump_override != 0 {
289+
oracle_delay.gt(&taker_speed_bump_override.max(0).cast()?)
290290
} else {
291291
// Default to current behavior if not set on the amm
292292
false

programs/drift/src/state/oracle_map.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ impl<'a> OracleMap<'a> {
8989
last_oracle_price_twap: i64,
9090
max_confidence_interval_multiplier: u64,
9191
slots_before_stale_for_amm_override: i8,
92-
slots_before_stale_for_amm_low_risk_override: i8,
92+
taker_speed_bump_override_override: i8,
9393
) -> DriftResult<(&OraclePriceData, OracleValidity)> {
9494
if self.should_get_quote_asset_price_data(&oracle_id.0) {
9595
return Ok((&self.quote_asset_price_data, OracleValidity::Valid));
@@ -111,7 +111,7 @@ impl<'a> OracleMap<'a> {
111111
&oracle_id.1,
112112
LogMode::ExchangeOracle,
113113
slots_before_stale_for_amm_override,
114-
slots_before_stale_for_amm_low_risk_override,
114+
taker_speed_bump_override_override,
115115
)?;
116116
self.validity.insert(*oracle_id, oracle_validity);
117117
oracle_validity
@@ -142,7 +142,7 @@ impl<'a> OracleMap<'a> {
142142
&oracle_id.1,
143143
LogMode::ExchangeOracle,
144144
slots_before_stale_for_amm_override,
145-
slots_before_stale_for_amm_low_risk_override,
145+
taker_speed_bump_override_override,
146146
)?;
147147
self.validity.insert(*oracle_id, oracle_validity);
148148

programs/drift/src/state/perp_market.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -846,7 +846,7 @@ impl PerpMarket {
846846
&self.amm.oracle_source,
847847
LogMode::MMOracle,
848848
self.amm.oracle_slot_delay_override,
849-
self.amm.slots_before_stale_for_amm_low_risk,
849+
self.amm.taker_speed_bump_override,
850850
)?
851851
};
852852
Ok(MMOraclePriceData::new(
@@ -1231,8 +1231,7 @@ pub struct AMM {
12311231
/// signed scale amm_spread similar to fee_adjustment logic (-100 = 0, 100 = double)
12321232
pub amm_inventory_spread_adjustment: i8,
12331233
pub reference_price_offset_deadband_pct: u8,
1234-
pub slots_before_stale_for_amm_low_risk: i8,
1235-
pub padding: [u8; 1],
1234+
pub padding: [u8; 2],
12361235
pub last_funding_oracle_twap: i64,
12371236
}
12381237

@@ -1324,8 +1323,7 @@ impl Default for AMM {
13241323
reference_price_offset: 0,
13251324
amm_inventory_spread_adjustment: 0,
13261325
reference_price_offset_deadband_pct: 0,
1327-
slots_before_stale_for_amm_low_risk: 0,
1328-
padding: [0; 1],
1326+
padding: [0; 2],
13291327
last_funding_oracle_twap: 0,
13301328
}
13311329
}

0 commit comments

Comments
 (0)