@@ -29,12 +29,11 @@ pub fn jit<'info>(ctx: Context<'_, '_, '_, 'info, Jit<'info>>, params: JitParams
29
29
let market_index = taker_order. market_index ;
30
30
let taker_direction = taker_order. direction ;
31
31
32
- let slots_left = slot. cast :: < i64 > ( ) ?. safe_sub (
33
- taker_order
34
- . slot
35
- . safe_add ( taker_order. auction_duration . cast ( ) ?) ?
36
- . cast ( ) ?,
37
- ) ?;
32
+ let slots_left = taker_order
33
+ . slot
34
+ . safe_add ( taker_order. auction_duration . cast ( ) ?) ?
35
+ . cast :: < i64 > ( ) ?
36
+ . safe_sub ( slot. cast ( ) ?) ?;
38
37
msg ! (
39
38
"slot = {} auction duration = {} slots_left = {}" ,
40
39
slot,
@@ -43,11 +42,12 @@ pub fn jit<'info>(ctx: Context<'_, '_, '_, 'info, Jit<'info>>, params: JitParams
43
42
) ;
44
43
45
44
msg ! (
46
- "order type {:?} auction start {} auction end {} limit price {}" ,
45
+ "taker order type {:?} auction start {} auction end {} limit price {} oracle price offset {}" ,
47
46
taker_order. order_type,
48
47
taker_order. auction_start_price,
49
48
taker_order. auction_end_price,
50
- taker_order. price
49
+ taker_order. price,
50
+ taker_order. oracle_price_offset
51
51
) ;
52
52
53
53
let remaining_accounts_iter = & mut ctx. remaining_accounts . iter ( ) . peekable ( ) ;
@@ -175,7 +175,7 @@ pub fn jit<'info>(ctx: Context<'_, '_, '_, 'info, Jit<'info>>, params: JitParams
175
175
reduce_only : false ,
176
176
post_only : params
177
177
. post_only
178
- . unwrap_or ( PostOnlyParam :: Slide )
178
+ . unwrap_or ( PostOnlyParam :: MustPostOnly )
179
179
. to_drift_param ( ) ,
180
180
immediate_or_cancel : true ,
181
181
max_ts : None ,
@@ -201,13 +201,22 @@ pub fn jit<'info>(ctx: Context<'_, '_, '_, 'info, Jit<'info>>, params: JitParams
201
201
202
202
if taker_base_asset_amount_unfilled_after == taker_base_asset_amount_unfilled {
203
203
// taker order failed to fill
204
- msg ! ( "taker order failed to fill" ) ;
205
204
msg ! (
206
- "taker price = {} maker price = {} oracle price = {}" ,
205
+ "taker price = {} oracle price = {}" ,
207
206
taker_price,
208
- maker_price,
209
207
oracle_price
210
208
) ;
209
+ msg ! ( "jit params {:?}" , params) ;
210
+ if market_type == DriftMarketType :: Perp {
211
+ let perp_market = perp_market_map. get_ref ( & market_index) ?;
212
+ let reserve_price = perp_market. amm . reserve_price ( ) ?;
213
+ let ( bid_price, ask_price) = perp_market. amm . bid_ask_price ( reserve_price) ?;
214
+ msg ! (
215
+ "vamm bid price = {} vamm ask price = {}" ,
216
+ bid_price,
217
+ ask_price
218
+ ) ;
219
+ }
211
220
return Err ( ErrorCode :: NoFill . into ( ) ) ;
212
221
}
213
222
0 commit comments