From ecac1f9d9bfe0cb75ef391d46f035978d53a1f62 Mon Sep 17 00:00:00 2001 From: moosecat Date: Tue, 13 Aug 2024 14:37:19 -0700 Subject: [PATCH 1/3] use paused operation (#239) * update non-cached to use safeguards for include vamm * use paused operation --- src/dlob-subscriber/DLOBSubscriberIO.ts | 9 ++++++--- src/index.ts | 25 +++++++++++++++++++++---- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/dlob-subscriber/DLOBSubscriberIO.ts b/src/dlob-subscriber/DLOBSubscriberIO.ts index 352a936..d288dd1 100644 --- a/src/dlob-subscriber/DLOBSubscriberIO.ts +++ b/src/dlob-subscriber/DLOBSubscriberIO.ts @@ -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, diff --git a/src/index.ts b/src/index.ts index 54c3935..b72307f 100644 --- a/src/index.ts +++ b/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 => { } } + 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 => { } } + 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' && From 22903d5368d60793a375cc5fa3dfaf97d921b1a5 Mon Sep 17 00:00:00 2001 From: moosecat Date: Thu, 15 Aug 2024 10:17:53 -0700 Subject: [PATCH 2/3] bump common and use paused operations (#242) * update non-cached to use safeguards for include vamm * use paused operation * bump protocol --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index 82dbbf3..23a4d85 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit 82dbbf336b2e50f31438c288fd1d1a380b76d9ca +Subproject commit 23a4d854e9964d74f102f5a1e8f65d6bc3cbc0eb From 927b9f934126a2bcf8c61386f4d242b945dc39a5 Mon Sep 17 00:00:00 2001 From: wphan Date: Thu, 5 Sep 2024 10:41:06 -0700 Subject: [PATCH 3/3] bump common --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index 14e08a9..10e469a 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit 14e08a9c4afb482ade38f6c9e56fa51c537ee274 +Subproject commit 10e469a115284dd598f378c75c22245bda45191c