File tree Expand file tree Collapse file tree 3 files changed +11
-9
lines changed Expand file tree Collapse file tree 3 files changed +11
-9
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515
1616### Fixes
1717
18+ - program: make it easier to fill step size orders ([ #1799 ] ( https://github.com/drift-labs/protocol-v2/pull/1799 ) )
1819- program: relax fee tier constraints for maker ([ #1876 ] ( https://github.com/drift-labs/protocol-v2/pull/1876 ) )
1920
2021### Breaking
Original file line number Diff line number Diff line change @@ -2172,12 +2172,13 @@ pub fn fulfill_perp_order_with_amm(
21722172 } ;
21732173
21742174 // if user position is less than min order size, step size is the threshold
2175- let amm_size_threshold =
2176- if existing_base_asset_amount. unsigned_abs ( ) > market. amm . min_order_size {
2177- market. amm . min_order_size
2178- } else {
2179- market. amm . order_step_size
2180- } ;
2175+ let amm_size_threshold = if !user. orders [ order_index] . reduce_only
2176+ && existing_base_asset_amount. unsigned_abs ( ) > market. amm . min_order_size
2177+ {
2178+ market. amm . min_order_size
2179+ } else {
2180+ market. amm . order_step_size
2181+ } ;
21812182
21822183 if base_asset_amount < amm_size_threshold {
21832184 // if is an actual swap (and not amm jit order) then msg!
Original file line number Diff line number Diff line change @@ -142,7 +142,7 @@ fn validate_limit_order(
142142 order,
143143 market. amm . order_step_size ,
144144 market. amm . min_order_size ,
145- order. reduce_only ,
145+ order. reduce_only || order . is_jit_maker ( ) ,
146146 ) ?;
147147
148148 if order. price == 0 && !order. has_oracle_price_offset ( ) {
@@ -339,7 +339,7 @@ fn validate_base_asset_amount(
339339 order : & Order ,
340340 step_size : u64 ,
341341 min_order_size : u64 ,
342- reduce_only : bool ,
342+ reduce_only_or_jit_maker : bool ,
343343) -> DriftResult {
344344 if order. base_asset_amount == 0 {
345345 msg ! ( "Order base_asset_amount cant be 0" ) ;
@@ -355,7 +355,7 @@ fn validate_base_asset_amount(
355355 ) ?;
356356
357357 validate ! (
358- reduce_only || order. base_asset_amount >= min_order_size,
358+ reduce_only_or_jit_maker || order. base_asset_amount >= min_order_size,
359359 ErrorCode :: InvalidOrderMinOrderSize ,
360360 "Order base_asset_amount ({}) < min_order_size ({})" ,
361361 order. base_asset_amount,
You can’t perform that action at this time.
0 commit comments