From 3c7d65ea9186a36f63723c40693283df5de89005 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 18 Jan 2024 17:46:19 +0000 Subject: [PATCH 1/3] Bumping sdk dependency to 2.56.0-beta.0 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 3e65ab1..a5c97d5 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "license": "Apache-2.0", "dependencies": { "@coral-xyz/anchor": "^0.29.0", - "@drift-labs/sdk": "2.55.0-beta.4", + "@drift-labs/sdk": "2.56.0-beta.0", "@opentelemetry/api": "^1.1.0", "@opentelemetry/auto-instrumentations-node": "^0.31.1", "@opentelemetry/exporter-prometheus": "^0.31.0", diff --git a/yarn.lock b/yarn.lock index 2e2297d..6842f33 100644 --- a/yarn.lock +++ b/yarn.lock @@ -115,10 +115,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.55.0-beta.4": - version "2.55.0-beta.4" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.55.0-beta.4.tgz#2a43dc1f15b323f891ab33797495dbcb6d9d214e" - integrity sha512-9SFXsZRKYtk+OMFpWGN1L2GuicLqnUS7kveQmf6G8SVjsMrePo7udkfFJBThyfD7O1yBX4QiShBdZeIDTwsgHQ== +"@drift-labs/sdk@2.56.0-beta.0": + version "2.56.0-beta.0" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.56.0-beta.0.tgz#2ed7b5f2cc9f1597dd6a16512b6f42716d11b624" + integrity sha512-64byprjkruQNmhIxJ/hNTfzFQCf28ls4zHDSw6Wx5Bc+9nj1g4ZwGy+22nfzdHCwres/KSXnkATIwE8BqTgAKg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 5ec515b178f92306e64700ce7d7bca4db01ffb0d Mon Sep 17 00:00:00 2001 From: Nour Alharithi Date: Thu, 18 Jan 2024 13:52:45 -0800 Subject: [PATCH 2/3] strip slot from dlob diff check --- src/dlob-subscriber/DLOBSubscriberIO.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/dlob-subscriber/DLOBSubscriberIO.ts b/src/dlob-subscriber/DLOBSubscriberIO.ts index a630ada..ee984c9 100644 --- a/src/dlob-subscriber/DLOBSubscriberIO.ts +++ b/src/dlob-subscriber/DLOBSubscriberIO.ts @@ -96,6 +96,10 @@ export class DLOBSubscriberIO extends DLOBSubscriber { const grouping = l2Args.grouping; const { marketName, ...l2FuncArgs } = l2Args; const l2 = this.getL2(l2FuncArgs); + const slot = l2.slot; + if (slot) { + delete l2.slot; + } const marketType = isVariant(l2Args.marketType, 'perp') ? 'perp' : 'spot'; let l2Formatted: any; if (grouping) { @@ -119,6 +123,7 @@ export class DLOBSubscriberIO extends DLOBSubscriber { l2Formatted['marketName'] = marketName?.toUpperCase(); l2Formatted['marketType'] = marketType?.toLowerCase(); l2Formatted['marketIndex'] = l2Args.marketIndex; + l2Formatted['slot'] = slot; addOracletoResponse( l2Formatted, this.driftClient, From 1d7d8754e8970445911471afd10e41d9ca6be2c0 Mon Sep 17 00:00:00 2001 From: Nour Alharithi Date: Thu, 18 Jan 2024 15:40:53 -0800 Subject: [PATCH 3/3] add market slot to response' --- src/dlob-subscriber/DLOBSubscriberIO.ts | 9 ++++++++- src/utils/utils.ts | 15 +++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/dlob-subscriber/DLOBSubscriberIO.ts b/src/dlob-subscriber/DLOBSubscriberIO.ts index ee984c9..b67b1b4 100644 --- a/src/dlob-subscriber/DLOBSubscriberIO.ts +++ b/src/dlob-subscriber/DLOBSubscriberIO.ts @@ -10,6 +10,7 @@ import { import { RedisClient } from '../utils/redisClient'; import { SubscriberLookup, + addMarketSlotToResponse, addOracletoResponse, l2WithBNToStrings, } from '../utils/utils'; @@ -130,7 +131,13 @@ export class DLOBSubscriberIO extends DLOBSubscriber { l2Args.marketType, l2Args.marketIndex ); - + addMarketSlotToResponse( + l2Formatted, + this.driftClient, + l2Args.marketType, + l2Args.marketIndex + ); + const l2Formatted_depth100 = Object.assign({}, l2Formatted, { bids: l2Formatted.bids.slice(0, 100), asks: l2Formatted.asks.slice(0, 100), diff --git a/src/utils/utils.ts b/src/utils/utils.ts index d8530ba..831a7fb 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -132,6 +132,21 @@ export const addOracletoResponse = ( } }; +export const addMarketSlotToResponse = ( + response: L2OrderBook | L3OrderBook, + driftClient: DriftClient, + marketType: MarketType, + marketIndex: number +): void => { + let marketSlot: number; + if (isVariant(marketType, 'perp')) { + marketSlot = driftClient.accountSubscriber.getMarketAccountAndSlot(marketIndex).slot; + } else { + marketSlot = driftClient.accountSubscriber.getSpotMarketAccountAndSlot(marketIndex).slot; + } + response['marketSlot'] = marketSlot; +}; + /** * Takes in a req.query like: `{ * marketName: 'SOL-PERP,BTC-PERP,ETH-PERP',