File tree Expand file tree Collapse file tree 1 file changed +17
-1
lines changed
Expand file tree Collapse file tree 1 file changed +17
-1
lines changed Original file line number Diff line number Diff line change @@ -24,6 +24,8 @@ import {
2424 BN ,
2525 convertToBN ,
2626 PRICE_PRECISION ,
27+ getTriggerPrice ,
28+ useMedianTriggerPrice ,
2729} from '@drift-labs/sdk' ;
2830import { Mutex , tryAcquire , E_ALREADY_LOCKED } from 'async-mutex' ;
2931
@@ -582,11 +584,25 @@ export class TriggerBot implements Bot {
582584 marketIndex
583585 ) ;
584586
587+ const freshestOraclePrice = offChainPrice
588+ ? offChainPrice
589+ : oraclePriceData . price ;
590+ let triggerPrice = freshestOraclePrice ;
591+
592+ if ( isVariant ( marketType , 'perp' ) ) {
593+ triggerPrice = getTriggerPrice (
594+ market as PerpMarketAccount ,
595+ freshestOraclePrice ,
596+ new BN ( Date . now ( ) / 1000 ) ,
597+ useMedianTriggerPrice ( this . driftClient . getStateAccount ( ) )
598+ ) ;
599+ }
600+
585601 const dlob = this . dlobSubscriber ! . getDLOB ( ) ;
586602 const nodesToTrigger = dlob . findNodesToTrigger (
587603 marketIndex ,
588604 this . slotSubscriber . getSlot ( ) ,
589- offChainPrice ? offChainPrice : oraclePriceData . price ,
605+ triggerPrice ,
590606 marketType ,
591607 this . driftClient . getStateAccount ( )
592608 ) ;
You can’t perform that action at this time.
0 commit comments