Merge pull request #67 from drift-labs/master

dlob diff check + adding more data to response
This commit is contained in:
Nour Alharithi
2024-01-18 15:49:29 -08:00
committed by GitHub
4 changed files with 33 additions and 6 deletions

View File

@@ -6,7 +6,7 @@
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@coral-xyz/anchor": "^0.29.0", "@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/api": "^1.1.0",
"@opentelemetry/auto-instrumentations-node": "^0.31.1", "@opentelemetry/auto-instrumentations-node": "^0.31.1",
"@opentelemetry/exporter-prometheus": "^0.31.0", "@opentelemetry/exporter-prometheus": "^0.31.0",

View File

@@ -10,6 +10,7 @@ import {
import { RedisClient } from '../utils/redisClient'; import { RedisClient } from '../utils/redisClient';
import { import {
SubscriberLookup, SubscriberLookup,
addMarketSlotToResponse,
addOracletoResponse, addOracletoResponse,
l2WithBNToStrings, l2WithBNToStrings,
} from '../utils/utils'; } from '../utils/utils';
@@ -96,6 +97,10 @@ export class DLOBSubscriberIO extends DLOBSubscriber {
const grouping = l2Args.grouping; const grouping = l2Args.grouping;
const { marketName, ...l2FuncArgs } = l2Args; const { marketName, ...l2FuncArgs } = l2Args;
const l2 = this.getL2(l2FuncArgs); const l2 = this.getL2(l2FuncArgs);
const slot = l2.slot;
if (slot) {
delete l2.slot;
}
const marketType = isVariant(l2Args.marketType, 'perp') ? 'perp' : 'spot'; const marketType = isVariant(l2Args.marketType, 'perp') ? 'perp' : 'spot';
let l2Formatted: any; let l2Formatted: any;
if (grouping) { if (grouping) {
@@ -119,12 +124,19 @@ export class DLOBSubscriberIO extends DLOBSubscriber {
l2Formatted['marketName'] = marketName?.toUpperCase(); l2Formatted['marketName'] = marketName?.toUpperCase();
l2Formatted['marketType'] = marketType?.toLowerCase(); l2Formatted['marketType'] = marketType?.toLowerCase();
l2Formatted['marketIndex'] = l2Args.marketIndex; l2Formatted['marketIndex'] = l2Args.marketIndex;
l2Formatted['slot'] = slot;
addOracletoResponse( addOracletoResponse(
l2Formatted, l2Formatted,
this.driftClient, this.driftClient,
l2Args.marketType, l2Args.marketType,
l2Args.marketIndex l2Args.marketIndex
); );
addMarketSlotToResponse(
l2Formatted,
this.driftClient,
l2Args.marketType,
l2Args.marketIndex
);
const l2Formatted_depth100 = Object.assign({}, l2Formatted, { const l2Formatted_depth100 = Object.assign({}, l2Formatted, {
bids: l2Formatted.bids.slice(0, 100), bids: l2Formatted.bids.slice(0, 100),

View File

@@ -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: `{ * Takes in a req.query like: `{
* marketName: 'SOL-PERP,BTC-PERP,ETH-PERP', * marketName: 'SOL-PERP,BTC-PERP,ETH-PERP',

View File

@@ -115,10 +115,10 @@
enabled "2.0.x" enabled "2.0.x"
kuler "^2.0.0" kuler "^2.0.0"
"@drift-labs/sdk@2.55.0-beta.4": "@drift-labs/sdk@2.56.0-beta.0":
version "2.55.0-beta.4" version "2.56.0-beta.0"
resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.55.0-beta.4.tgz#2a43dc1f15b323f891ab33797495dbcb6d9d214e" resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.56.0-beta.0.tgz#2ed7b5f2cc9f1597dd6a16512b6f42716d11b624"
integrity sha512-9SFXsZRKYtk+OMFpWGN1L2GuicLqnUS7kveQmf6G8SVjsMrePo7udkfFJBThyfD7O1yBX4QiShBdZeIDTwsgHQ== integrity sha512-64byprjkruQNmhIxJ/hNTfzFQCf28ls4zHDSw6Wx5Bc+9nj1g4ZwGy+22nfzdHCwres/KSXnkATIwE8BqTgAKg==
dependencies: dependencies:
"@coral-xyz/anchor" "0.28.1-beta.2" "@coral-xyz/anchor" "0.28.1-beta.2"
"@ellipsis-labs/phoenix-sdk" "^1.4.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2"