From dc4426268b00a5f1ce071538ce8e7bd959ca53e6 Mon Sep 17 00:00:00 2001 From: wphan Date: Sun, 24 Dec 2023 01:58:43 -0800 Subject: [PATCH] tested --- src/dlob-subscriber/DLOBSubscriberIO.ts | 10 +++++----- src/publishers/dlobPublisher.ts | 21 ++++++++++++++------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/dlob-subscriber/DLOBSubscriberIO.ts b/src/dlob-subscriber/DLOBSubscriberIO.ts index 8b88c23..1494b52 100644 --- a/src/dlob-subscriber/DLOBSubscriberIO.ts +++ b/src/dlob-subscriber/DLOBSubscriberIO.ts @@ -41,8 +41,8 @@ export class DLOBSubscriberIO extends DLOBSubscriber { constructor( config: DLOBSubscriptionConfig & { redisClient: RedisClient; - perpMarketsInfos: wsMarketInfo[]; - spotMarketsInfos: wsMarketInfo[]; + perpMarketInfos: wsMarketInfo[]; + spotMarketInfos: wsMarketInfo[]; spotMarketSubscribers: SubscriberLookup; } ) { @@ -54,7 +54,7 @@ export class DLOBSubscriberIO extends DLOBSubscriber { this.lastSeenL2Formatted.set(MarketType.SPOT, new Map()); this.lastSeenL2Formatted.set(MarketType.PERP, new Map()); - for (const market of config.perpMarketsInfos) { + for (const market of config.perpMarketInfos) { this.marketL2Args.push({ marketIndex: market.marketIndex, marketType: MarketType.PERP, @@ -66,7 +66,7 @@ export class DLOBSubscriberIO extends DLOBSubscriber { fallbackL2Generators: [], }); } - for (const market of config.spotMarketsInfos) { + for (const market of config.spotMarketInfos) { this.marketL2Args.push({ marketIndex: market.marketIndex, marketType: MarketType.SPOT, @@ -88,7 +88,7 @@ export class DLOBSubscriberIO extends DLOBSubscriber { try { this.getL2AndSendMsg(l2Args); } catch (error) { - logger.error(error); + console.error(error); console.log(`Error getting L2 ${l2Args.marketName}`); } } diff --git a/src/publishers/dlobPublisher.ts b/src/publishers/dlobPublisher.ts index f3063d6..450bad9 100644 --- a/src/publishers/dlobPublisher.ts +++ b/src/publishers/dlobPublisher.ts @@ -16,6 +16,7 @@ import { isVariant, OracleInfo, PerpMarketConfig, + SpotMarketConfig, } from '@drift-labs/sdk'; import { logger, setLogLevel } from '../utils/logger'; @@ -98,8 +99,11 @@ const getMarketsAndOraclesToLoad = ( const perpMarketInfos: wsMarketInfo[] = []; const spotMarketInfos: wsMarketInfo[] = []; - if (PERP_MARKETS_TO_LOAD!.length > 0) { - for (const idx of PERP_MARKETS_TO_LOAD) { + const perpIndexes = PERP_MARKETS_TO_LOAD + ? PERP_MARKETS_TO_LOAD + : sdkConfig.PERP_MARKETS.map((m) => m.marketIndex); + if (perpIndexes.length > 0) { + for (const idx of perpIndexes) { const perpMarketConfig = sdkConfig.PERP_MARKETS[idx] as PerpMarketConfig; if (!perpMarketConfig) { throw new Error(`Perp market config for ${idx} not found`); @@ -123,9 +127,12 @@ const getMarketsAndOraclesToLoad = ( ); } - if (SPOT_MARKETS_TO_LOAD!.length > 0) { - for (const idx of SPOT_MARKETS_TO_LOAD) { - const spotMarketConfig = sdkConfig.PERP_MARKETS[idx] as PerpMarketConfig; + const spotIndexes = SPOT_MARKETS_TO_LOAD + ? SPOT_MARKETS_TO_LOAD + : sdkConfig.SPOT_MARKETS.map((m) => m.marketIndex); + if (spotIndexes.length > 0) { + for (const idx of spotIndexes) { + const spotMarketConfig = sdkConfig.SPOT_MARKETS[idx] as SpotMarketConfig; if (!spotMarketConfig) { throw new Error(`Spot market config for ${idx} not found`); } @@ -369,8 +376,8 @@ const main = async () => { updateFrequency: ORDERBOOK_UPDATE_INTERVAL, redisClient, spotMarketSubscribers: MARKET_SUBSCRIBERS, - perpMarketsInfos, - spotMarketsInfos, + perpMarketInfos, + spotMarketInfos, }); await dlobSubscriber.subscribe(); if (useWebsocket && !FEATURE_FLAGS.DISABLE_GPA_REFRESH) {