use paused operation (#239)
* update non-cached to use safeguards for include vamm * use paused operation
This commit is contained in:
@@ -4,7 +4,9 @@ import {
|
||||
DriftEnv,
|
||||
L2OrderBookGenerator,
|
||||
MarketType,
|
||||
PerpOperation,
|
||||
PositionDirection,
|
||||
isOperationPaused,
|
||||
isVariant,
|
||||
} from '@drift-labs/sdk';
|
||||
import { RedisClient } from '@drift/common';
|
||||
@@ -86,9 +88,10 @@ export class DLOBSubscriberIO extends DLOBSubscriber {
|
||||
const perpMarket = this.driftClient.getPerpMarketAccount(
|
||||
market.marketIndex
|
||||
);
|
||||
const includeVamm =
|
||||
!isVariant(perpMarket.status, 'ammPaused') &&
|
||||
!isVariant(perpMarket.status, 'initialized');
|
||||
const includeVamm = !isOperationPaused(
|
||||
perpMarket.pausedOperations,
|
||||
PerpOperation.AMM_FILL
|
||||
);
|
||||
|
||||
this.marketArgs.push({
|
||||
marketIndex: market.marketIndex,
|
||||
|
||||
25
src/index.ts
25
src/index.ts
@@ -20,6 +20,8 @@ import {
|
||||
MarketType,
|
||||
PhoenixSubscriber,
|
||||
BulkAccountLoader,
|
||||
isOperationPaused,
|
||||
PerpOperation,
|
||||
} from '@drift-labs/sdk';
|
||||
import { RedisClient, RedisClientPrefix } from '@drift/common';
|
||||
|
||||
@@ -774,11 +776,19 @@ const main = async (): Promise<void> => {
|
||||
}
|
||||
}
|
||||
|
||||
let validateIncludeVamm = false;
|
||||
if (!isSpot && `${includeVamm}`.toLowerCase() === 'true') {
|
||||
const perpMarket = driftClient.getPerpMarketAccount(normedMarketIndex);
|
||||
validateIncludeVamm = !isOperationPaused(
|
||||
perpMarket.pausedOperations,
|
||||
PerpOperation.AMM_FILL
|
||||
);
|
||||
}
|
||||
const l2 = dlobSubscriber.getL2({
|
||||
marketIndex: normedMarketIndex,
|
||||
marketType: normedMarketType,
|
||||
depth: parseInt(adjustedDepth as string),
|
||||
includeVamm: isSpot ? false : `${includeVamm}`.toLowerCase() === 'true',
|
||||
includeVamm: validateIncludeVamm,
|
||||
numVammOrders: parseInt((numVammOrders ?? '100') as string),
|
||||
fallbackL2Generators: isSpot
|
||||
? [
|
||||
@@ -938,13 +948,20 @@ const main = async (): Promise<void> => {
|
||||
}
|
||||
}
|
||||
|
||||
let validateIncludeVamm = false;
|
||||
if (!isSpot && `${includeVamm}`.toLowerCase() === 'true') {
|
||||
const perpMarket =
|
||||
driftClient.getPerpMarketAccount(normedMarketIndex);
|
||||
validateIncludeVamm = !isOperationPaused(
|
||||
perpMarket.pausedOperations,
|
||||
PerpOperation.AMM_FILL
|
||||
);
|
||||
}
|
||||
const l2 = dlobSubscriber.getL2({
|
||||
marketIndex: normedMarketIndex,
|
||||
marketType: normedMarketType,
|
||||
depth: parseInt(adjustedDepth as string),
|
||||
includeVamm: isSpot
|
||||
? false
|
||||
: `${normedParam['includeVamm']}`.toLowerCase() === 'true',
|
||||
includeVamm: validateIncludeVamm,
|
||||
fallbackL2Generators: isSpot
|
||||
? [
|
||||
`${normedParam['includePhoenix']}`.toLowerCase() === 'true' &&
|
||||
|
||||
Reference in New Issue
Block a user