use paused operation (#239)

* update non-cached to use safeguards for include vamm

* use paused operation
This commit is contained in:
moosecat
2024-08-13 14:37:19 -07:00
committed by GitHub
parent 70f0b9811c
commit ecac1f9d9b
2 changed files with 27 additions and 7 deletions

View File

@@ -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,

View File

@@ -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' &&