From 4a3941d3747e1ae95c902da5010b2cb2c770fa53 Mon Sep 17 00:00:00 2001 From: Nour Alharithi Date: Fri, 17 Nov 2023 09:38:39 -0800 Subject: [PATCH] address PR comments --- src/publishers/tradesPublisher.ts | 20 +++++++++----------- src/wsConnectionManager.ts | 16 +++++++++------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/publishers/tradesPublisher.ts b/src/publishers/tradesPublisher.ts index 5283394..4f53f57 100644 --- a/src/publishers/tradesPublisher.ts +++ b/src/publishers/tradesPublisher.ts @@ -12,12 +12,11 @@ import { BulkAccountLoader, EventSubscriber, OrderAction, - MarketType, convertToNumber, BASE_PRECISION, QUOTE_PRECISION, PRICE_PRECISION, - isVariant, + getVariant, } from '@drift-labs/sdk'; import { logger, setLogLevel } from '../utils/logger'; @@ -129,12 +128,10 @@ const main = async () => { return { ts: fill.ts.toNumber(), marketIndex: fill.marketIndex, - marketType: isVariant(fill.marketType as MarketType, 'perp') - ? 'perp' - : 'spot', + marketType: getVariant(fill.marketType), filler: fill.filler?.toBase58(), - takerFee: convertToNumber(fill.takerFee, BASE_PRECISION), - makerFee: convertToNumber(fill.makerFee, BASE_PRECISION), + takerFee: convertToNumber(fill.takerFee, QUOTE_PRECISION), + makerFee: convertToNumber(fill.makerFee, QUOTE_PRECISION), quoteAssetAmountSurplus: convertToNumber( fill.quoteAssetAmountSurplus, QUOTE_PRECISION @@ -149,9 +146,7 @@ const main = async () => { ), taker: fill.taker?.toBase58(), takerOrderId: fill.takerOrderId, - takerOrderDirection: isVariant(fill.takerOrderDirection, 'short') - ? 'short' - : 'long', + takerOrderDirection: getVariant(fill.takerOrderDirection), takerOrderBaseAssetAmount: convertToNumber( fill.takerOrderBaseAssetAmount, BASE_PRECISION @@ -166,7 +161,7 @@ const main = async () => { ), maker: fill.maker?.toBase58(), makerOrderId: fill.makerOrderId, - makerOrderDirection: fill.makerOrderDirection, + makerOrderDirection: getVariant(fill.makerOrderDirection), makerOrderBaseAssetAmount: convertToNumber( fill.makerOrderBaseAssetAmount, BASE_PRECISION @@ -182,6 +177,9 @@ const main = async () => { oraclePrice: convertToNumber(fill.oraclePrice, PRICE_PRECISION), txSig: fill.txSig, slot: fill.slot, + action: 'fill', + actionExplanation: getVariant(fill.actionExplanation), + referrerReward: convertToNumber(fill.referrerReward, QUOTE_PRECISION), }; }) ) diff --git a/src/wsConnectionManager.ts b/src/wsConnectionManager.ts index 478a571..12a98f2 100644 --- a/src/wsConnectionManager.ts +++ b/src/wsConnectionManager.ts @@ -41,11 +41,11 @@ const getRedisChannelFromMessage = (message: any): string => { let marketIndex: number; if (marketType === 'spot') { marketIndex = SpotMarkets[driftEnv].find( - (market) => market.symbol === marketName + (market) => market.symbol.toUpperCase() === marketName ).marketIndex; } else if (marketType === 'perp') { marketIndex = PerpMarkets[driftEnv].find( - (market) => market.symbol === marketName + (market) => market.symbol.toUpperCase() === marketName ).marketIndex; } @@ -154,11 +154,13 @@ async function main() { channelSubscribers.get(redisChannel).add(ws); // Fetch and send last message - const lastMessage = await lastMessageRetriever.client.get( - `last_update_${redisChannel}` - ); - if (lastMessage !== null) { - ws.send(JSON.stringify({ redisChannel, data: lastMessage })); + if (redisChannel.includes('orderbook')) { + const lastMessage = await lastMessageRetriever.client.get( + `last_update_${redisChannel}` + ); + if (lastMessage !== null) { + ws.send(JSON.stringify({ redisChannel, data: lastMessage })); + } } break; }