From 666488e49eee9600c8dfc3c08562f1abaeaf41e3 Mon Sep 17 00:00:00 2001 From: wphan Date: Sun, 26 Nov 2023 23:19:10 -0800 Subject: [PATCH 01/11] add back websocket support as env var toggle --- src/index.ts | 91 ++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 63 insertions(+), 28 deletions(-) diff --git a/src/index.ts b/src/index.ts index 7925208..2b3aab3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -24,6 +24,9 @@ import { UserStatsMap, DLOBSubscriber, BulkAccountLoader, + DriftClientSubscriptionConfig, + SlotSubscriber, + SlotSource, } from '@drift-labs/sdk'; import { logger, setLogLevel } from './utils/logger'; @@ -53,6 +56,7 @@ const sdkConfig = initialize({ env: process.env.ENV }); const stateCommitment: Commitment = 'processed'; const serverPort = process.env.PORT || 6969; export const ORDERBOOK_UPDATE_INTERVAL = 1000; +const useWebsocket = process.env.USE_WEBSOCKET?.toLowerCase() === 'true'; const rateLimitCallsPerSecond = process.env.RATE_LIMIT_CALLS_PER_SECOND ? parseInt(process.env.RATE_LIMIT_CALLS_PER_SECOND) @@ -117,6 +121,7 @@ const endpoint = process.env.ENDPOINT; const wsEndpoint = process.env.WS_ENDPOINT; logger.info(`RPC endpoint: ${endpoint}`); logger.info(`WS endpoint: ${wsEndpoint}`); +logger.info(`useWebsocket: ${useWebsocket}`); logger.info(`DriftEnv: ${driftEnv}`); logger.info(`Commit: ${commitHash}`); @@ -171,33 +176,52 @@ const main = async () => { commitment: stateCommitment, }); - const bulkAccountLoader = new BulkAccountLoader( - connection, - stateCommitment, - ORDERBOOK_UPDATE_INTERVAL - ); + // only set when polling + let bulkAccountLoader: BulkAccountLoader | undefined; + + // only set when using websockets + let slotSubscriber: SlotSubscriber | undefined; + + let accountSubscription: DriftClientSubscriptionConfig; + let slotSource: SlotSource; + + if (!useWebsocket) { + bulkAccountLoader = new BulkAccountLoader( + connection, + stateCommitment, + ORDERBOOK_UPDATE_INTERVAL + ); + + accountSubscription = { + type: 'polling', + accountLoader: bulkAccountLoader, + }; + slotSource = { + getSlot: () => bulkAccountLoader!.getSlot(), + }; + } else { + accountSubscription = { + type: 'websocket', + commitment: stateCommitment, + }; + slotSubscriber = new SlotSubscriber(connection); + await slotSubscriber.subscribe(); + slotSource = { + getSlot: () => slotSubscriber!.getSlot(), + }; + } driftClient = new DriftClient({ connection, wallet, programID: clearingHousePublicKey, - accountSubscription: { - type: 'polling', - accountLoader: bulkAccountLoader, - }, + accountSubscription, env: driftEnv, userStats: true, }); const dlobCoder = DLOBOrdersCoder.create(); - const lamportsBalance = await connection.getBalance(wallet.publicKey); - logger.info( - `DriftClient ProgramId: ${driftClient.program.programId.toBase58()}` - ); - logger.info(`Wallet pubkey: ${wallet.publicKey.toBase58()}`); - logger.info(` . SOL balance: ${lamportsBalance / 10 ** 9}`); - await driftClient.subscribe(); driftClient.eventEmitter.on('error', (e) => { logger.info('clearing house error'); @@ -205,28 +229,39 @@ const main = async () => { }); setInterval(async () => { - lastSlotReceived = bulkAccountLoader.getSlot(); + lastSlotReceived = slotSource.getSlot(); }, ORDERBOOK_UPDATE_INTERVAL); + logger.info(`Initializing userMap...`); + const initUserMapStart = Date.now(); const userMap = new UserMap( driftClient, driftClient.userAccountSubscriptionConfig, false ); await userMap.subscribe(); - const userStatsMap = new UserStatsMap(driftClient, { - type: 'polling', - accountLoader: new BulkAccountLoader(connection, stateCommitment, 0), - }); - await userStatsMap.subscribe(); + logger.info(`userMap initialized in ${Date.now() - initUserMapStart} ms`); + logger.info(`Initializing userStatsMap...`); + const initUserStatsMapStart = Date.now(); + const userStatsMap = new UserStatsMap(driftClient, accountSubscription); + await userStatsMap.subscribe(); + logger.info( + `userStatsMap initialized in ${Date.now() - initUserStatsMapStart} ms` + ); + + logger.info(`Initializing DLOBSubscriber...`); + const initDlobSubscriberStart = Date.now(); const dlobSubscriber = new DLOBSubscriber({ driftClient, dlobSource: userMap, - slotSource: bulkAccountLoader, + slotSource, updateFrequency: ORDERBOOK_UPDATE_INTERVAL, }); await dlobSubscriber.subscribe(); + logger.info( + `DLOBSubscriber initialized in ${Date.now() - initDlobSubscriberStart} ms` + ); MARKET_SUBSCRIBERS = await initializeAllMarketSubscribers(driftClient); @@ -253,7 +288,7 @@ const main = async () => { // object with userAccount key and orders object serialized const orders: Array = []; const oracles: Array = []; - const slot = bulkAccountLoader.getSlot(); + const slot = slotSource.getSlot(); for (const market of driftClient.getPerpMarketAccounts()) { const oracle = driftClient.getOracleDataForPerpMarket( @@ -297,7 +332,7 @@ const main = async () => { app.get('/orders/json', async (_req, res, next) => { try { // object with userAccount key and orders object serialized - const slot = bulkAccountLoader.getSlot(); + const slot = slotSource.getSlot(); const orders: Array = []; const oracles: Array = []; for (const market of driftClient.getPerpMarketAccounts()) { @@ -460,7 +495,7 @@ const main = async () => { res.end( JSON.stringify({ - slot: bulkAccountLoader.getSlot(), + slot: slotSource.getSlot(), data: dlobCoder.encode(dlobOrders).toString('base64'), }) ); @@ -549,7 +584,7 @@ const main = async () => { .getDLOB() .getRestingLimitBids( normedMarketIndex, - bulkAccountLoader.getSlot(), + slotSource.getSlot(), normedMarketType, oracle ) @@ -560,7 +595,7 @@ const main = async () => { .getDLOB() .getRestingLimitAsks( normedMarketIndex, - bulkAccountLoader.getSlot(), + slotSource.getSlot(), normedMarketType, oracle ) From 3f54ba6d586f93f02741069a98b45b017c83fe55 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Nov 2023 18:08:42 +0000 Subject: [PATCH 02/11] Bumping sdk dependency to 2.48.0-beta.1 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c613d86..a6da7ec 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.48.0-beta.0", + "@drift-labs/sdk": "2.48.0-beta.1", "@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 4c93c7b..a4d76af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.48.0-beta.0": - version "2.48.0-beta.0" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.0.tgz#dcda51d878bf458cc5e070528f8b0714f9c53589" - integrity sha512-okRb3ErrApZvks24AFMwLrmsdrcntLAUTRNcSfutg/Ri10hjMAIaiRdsYSbMZcDGWgjRq/+sozKIqiqfd7xfpg== +"@drift-labs/sdk@2.48.0-beta.1": + version "2.48.0-beta.1" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.1.tgz#e1b71a01024bcedb64697f216e8fe748932ddb56" + integrity sha512-jMmKZyiVxZ6lsrCNM1VXLaIiismaVwqXLvyB4fvY3UpTvm9eIP6MQ+eDDFVfjCrGvimfJk8QPhBuoFbTttIqRg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 51a34fb2266717ab240786e6e28a99bd85dec8d3 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 27 Nov 2023 20:38:42 +0000 Subject: [PATCH 03/11] Bumping sdk dependency to 2.48.0-beta.2 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a6da7ec..13043b6 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.48.0-beta.1", + "@drift-labs/sdk": "2.48.0-beta.2", "@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 a4d76af..cd8e73d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.48.0-beta.1": - version "2.48.0-beta.1" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.1.tgz#e1b71a01024bcedb64697f216e8fe748932ddb56" - integrity sha512-jMmKZyiVxZ6lsrCNM1VXLaIiismaVwqXLvyB4fvY3UpTvm9eIP6MQ+eDDFVfjCrGvimfJk8QPhBuoFbTttIqRg== +"@drift-labs/sdk@2.48.0-beta.2": + version "2.48.0-beta.2" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.2.tgz#447cdd132e99e7283eecb96adbce6709724f4e3f" + integrity sha512-zp0OxvuwDDLoqN1GfknPuEDCwPVzLRvRVpnrJFzeTNgBS1ish0ZmqtM5URFMHuXJ9ZaEt3gezqhhlqRID917rQ== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 58526bd9d160253b6742c7e456236d349bff0056 Mon Sep 17 00:00:00 2001 From: wphan Date: Mon, 27 Nov 2023 14:50:32 -0800 Subject: [PATCH 04/11] bump sdk, new user stats map loading --- example/clientWithSlot.ts | 4 ++-- package.json | 4 ++-- src/index.ts | 40 +++++++++++++++++++-------------------- yarn.lock | 8 ++++---- 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/example/clientWithSlot.ts b/example/clientWithSlot.ts index 9f9315b..a03e28d 100644 --- a/example/clientWithSlot.ts +++ b/example/clientWithSlot.ts @@ -55,8 +55,8 @@ const driftClientPublicKey = new PublicKey(sdkConfig.DRIFT_PROGRAM_ID); let lastSeenSlot = 0; /********** initializing driftClient as usual **********/ -var accountSubscription: DriftClientSubscriptionConfig; -var logProviderConfig: LogProviderConfig; +let accountSubscription: DriftClientSubscriptionConfig; +let logProviderConfig: LogProviderConfig; if (useWebsocket) { accountSubscription = { type: 'websocket', diff --git a/package.json b/package.json index 13043b6..96e87a8 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.48.0-beta.2", + "@drift-labs/sdk": "2.48.0-beta.4", "@opentelemetry/api": "^1.1.0", "@opentelemetry/auto-instrumentations-node": "^0.31.1", "@opentelemetry/exporter-prometheus": "^0.31.0", @@ -64,4 +64,4 @@ "lint:fix": "eslint . --ext ts --fix", "playground": "ts-node src/playground.ts" } -} +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index c3775e5..50c90ed 100644 --- a/src/index.ts +++ b/src/index.ts @@ -16,7 +16,10 @@ import { DLOBOrdersCoder, DLOBSubscriber, DriftClient, + DriftClientSubscriptionConfig, DriftEnv, + SlotSource, + SlotSubscriber, UserMap, UserStatsMap, Wallet, @@ -214,7 +217,6 @@ const main = async () => { programID: clearingHousePublicKey, accountSubscription, env: driftEnv, - userStats: true, }); const dlobCoder = DLOBOrdersCoder.create(); @@ -229,24 +231,22 @@ const main = async () => { lastSlotReceived = slotSource.getSlot(); }, ORDERBOOK_UPDATE_INTERVAL); + const userStatsMap = new UserStatsMap(driftClient); + logger.info(`Initializing userMap...`); const initUserMapStart = Date.now(); const userMap = new UserMap( driftClient, driftClient.userAccountSubscriptionConfig, - false + false, + async (authorities) => { + await userStatsMap.sync(authorities); + }, + { hasOpenOrders: true } ); await userMap.subscribe(); logger.info(`userMap initialized in ${Date.now() - initUserMapStart} ms`); - logger.info(`Initializing userStatsMap...`); - const initUserStatsMapStart = Date.now(); - const userStatsMap = new UserStatsMap(driftClient, accountSubscription); - await userStatsMap.subscribe(); - logger.info( - `userStatsMap initialized in ${Date.now() - initUserStatsMapStart} ms` - ); - logger.info(`Initializing DLOBSubscriber...`); const initDlobSubscriberStart = Date.now(); const dlobSubscriber = new DLOBSubscriber({ @@ -650,11 +650,11 @@ const main = async () => { numVammOrders: parseInt((numVammOrders ?? '100') as string), fallbackL2Generators: isSpot ? [ - `${includePhoenix}`.toLowerCase() === 'true' && - MARKET_SUBSCRIBERS[normedMarketIndex].phoenix, - `${includeSerum}`.toLowerCase() === 'true' && - MARKET_SUBSCRIBERS[normedMarketIndex].serum, - ].filter((a) => !!a) + `${includePhoenix}`.toLowerCase() === 'true' && + MARKET_SUBSCRIBERS[normedMarketIndex].phoenix, + `${includeSerum}`.toLowerCase() === 'true' && + MARKET_SUBSCRIBERS[normedMarketIndex].serum, + ].filter((a) => !!a) : [], }); @@ -768,11 +768,11 @@ const main = async () => { : `${normedParam['includeVamm']}`.toLowerCase() === 'true', fallbackL2Generators: isSpot ? [ - `${normedParam['includePhoenix']}`.toLowerCase() === 'true' && - MARKET_SUBSCRIBERS[normedMarketIndex].phoenix, - `${normedParam['includeSerum']}`.toLowerCase() === 'true' && - MARKET_SUBSCRIBERS[normedMarketIndex].serum, - ].filter((a) => !!a) + `${normedParam['includePhoenix']}`.toLowerCase() === 'true' && + MARKET_SUBSCRIBERS[normedMarketIndex].phoenix, + `${normedParam['includeSerum']}`.toLowerCase() === 'true' && + MARKET_SUBSCRIBERS[normedMarketIndex].serum, + ].filter((a) => !!a) : [], }); diff --git a/yarn.lock b/yarn.lock index cd8e73d..53969be 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.48.0-beta.2": - version "2.48.0-beta.2" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.2.tgz#447cdd132e99e7283eecb96adbce6709724f4e3f" - integrity sha512-zp0OxvuwDDLoqN1GfknPuEDCwPVzLRvRVpnrJFzeTNgBS1ish0ZmqtM5URFMHuXJ9ZaEt3gezqhhlqRID917rQ== +"@drift-labs/sdk@2.48.0-beta.4": + version "2.48.0-beta.4" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.4.tgz#80395976b04d59fa5340e5c9a7839c72b3ee3c2e" + integrity sha512-gsxKL1xOAtOlybDaI+kAvA070WfqnkaGCPyAs87gILYDAVrCyoGX37EE6e3v098X3qsR0VIAjaVlCqz4nZfPwg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From f76f11adae5eae0c0e1b600b130f87c2a298d9c4 Mon Sep 17 00:00:00 2001 From: wphan Date: Mon, 27 Nov 2023 15:43:32 -0800 Subject: [PATCH 05/11] fix publishers driftClient init --- src/index.ts | 20 ++++++++++---------- src/publishers/dlobPublisher.ts | 1 - src/publishers/tradesPublisher.ts | 1 - 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/index.ts b/src/index.ts index 50c90ed..e327da4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -650,11 +650,11 @@ const main = async () => { numVammOrders: parseInt((numVammOrders ?? '100') as string), fallbackL2Generators: isSpot ? [ - `${includePhoenix}`.toLowerCase() === 'true' && - MARKET_SUBSCRIBERS[normedMarketIndex].phoenix, - `${includeSerum}`.toLowerCase() === 'true' && - MARKET_SUBSCRIBERS[normedMarketIndex].serum, - ].filter((a) => !!a) + `${includePhoenix}`.toLowerCase() === 'true' && + MARKET_SUBSCRIBERS[normedMarketIndex].phoenix, + `${includeSerum}`.toLowerCase() === 'true' && + MARKET_SUBSCRIBERS[normedMarketIndex].serum, + ].filter((a) => !!a) : [], }); @@ -768,11 +768,11 @@ const main = async () => { : `${normedParam['includeVamm']}`.toLowerCase() === 'true', fallbackL2Generators: isSpot ? [ - `${normedParam['includePhoenix']}`.toLowerCase() === 'true' && - MARKET_SUBSCRIBERS[normedMarketIndex].phoenix, - `${normedParam['includeSerum']}`.toLowerCase() === 'true' && - MARKET_SUBSCRIBERS[normedMarketIndex].serum, - ].filter((a) => !!a) + `${normedParam['includePhoenix']}`.toLowerCase() === 'true' && + MARKET_SUBSCRIBERS[normedMarketIndex].phoenix, + `${normedParam['includeSerum']}`.toLowerCase() === 'true' && + MARKET_SUBSCRIBERS[normedMarketIndex].serum, + ].filter((a) => !!a) : [], }); diff --git a/src/publishers/dlobPublisher.ts b/src/publishers/dlobPublisher.ts index 4f7399f..a598f30 100644 --- a/src/publishers/dlobPublisher.ts +++ b/src/publishers/dlobPublisher.ts @@ -66,7 +66,6 @@ const main = async () => { accountLoader: bulkAccountLoader, }, env: driftEnv, - userStats: true, }); const slotSubscriber = new SlotSubscriber(connection, {}); diff --git a/src/publishers/tradesPublisher.ts b/src/publishers/tradesPublisher.ts index 5feaaf1..d0bd14e 100644 --- a/src/publishers/tradesPublisher.ts +++ b/src/publishers/tradesPublisher.ts @@ -74,7 +74,6 @@ const main = async () => { accountLoader: bulkAccountLoader, }, env: driftEnv, - userStats: true, }); const slotSubscriber = new SlotSubscriber(connection, {}); From 70bc7bb91a7dfae97a046e36cbbad245711da95e Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 00:09:58 +0000 Subject: [PATCH 06/11] Bumping sdk dependency to 2.48.0-beta.5 --- package.json | 4 ++-- yarn.lock | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 96e87a8..c7e6144 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.48.0-beta.4", + "@drift-labs/sdk": "2.48.0-beta.5", "@opentelemetry/api": "^1.1.0", "@opentelemetry/auto-instrumentations-node": "^0.31.1", "@opentelemetry/exporter-prometheus": "^0.31.0", @@ -64,4 +64,4 @@ "lint:fix": "eslint . --ext ts --fix", "playground": "ts-node src/playground.ts" } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index 53969be..647a76a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.48.0-beta.4": - version "2.48.0-beta.4" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.4.tgz#80395976b04d59fa5340e5c9a7839c72b3ee3c2e" - integrity sha512-gsxKL1xOAtOlybDaI+kAvA070WfqnkaGCPyAs87gILYDAVrCyoGX37EE6e3v098X3qsR0VIAjaVlCqz4nZfPwg== +"@drift-labs/sdk@2.48.0-beta.5": + version "2.48.0-beta.5" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.5.tgz#51ced5c612926c3e651ee865c263c8cca2c905b2" + integrity sha512-hSWDNt0WvsPV00auA/fMkJ42GIC4N3j4n08uvxIDdjYRZxHId0/BpB9SdMKQw11KqTWbIYpgOSJq1H3op2NTPA== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 642614db7fc1163897e39879d5ef8b1a04893f31 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 00:22:47 +0000 Subject: [PATCH 07/11] Bumping sdk dependency to 2.48.0-beta.6 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index c7e6144..aaf8c1b 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.48.0-beta.5", + "@drift-labs/sdk": "2.48.0-beta.6", "@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 647a76a..2ee4567 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.48.0-beta.5": - version "2.48.0-beta.5" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.5.tgz#51ced5c612926c3e651ee865c263c8cca2c905b2" - integrity sha512-hSWDNt0WvsPV00auA/fMkJ42GIC4N3j4n08uvxIDdjYRZxHId0/BpB9SdMKQw11KqTWbIYpgOSJq1H3op2NTPA== +"@drift-labs/sdk@2.48.0-beta.6": + version "2.48.0-beta.6" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.6.tgz#df8a43e225ae9fc7225cb496b716be527a17933b" + integrity sha512-4oXNCFUwLeooum5INQkg0YmNbZfqCP3YCSrYfdijgb9aMu2ONQO6U+1kU+I1iou2TuQHxitOlxPQL8Lu7OFy1A== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 03268418be2c4567e46e67d61a7e9311bb04e72d Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 00:48:18 +0000 Subject: [PATCH 08/11] Bumping sdk dependency to 2.48.0-beta.7 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index aaf8c1b..d7ae873 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.48.0-beta.6", + "@drift-labs/sdk": "2.48.0-beta.7", "@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 2ee4567..354c8be 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.48.0-beta.6": - version "2.48.0-beta.6" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.6.tgz#df8a43e225ae9fc7225cb496b716be527a17933b" - integrity sha512-4oXNCFUwLeooum5INQkg0YmNbZfqCP3YCSrYfdijgb9aMu2ONQO6U+1kU+I1iou2TuQHxitOlxPQL8Lu7OFy1A== +"@drift-labs/sdk@2.48.0-beta.7": + version "2.48.0-beta.7" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.7.tgz#65c6dfa0b36233d976968308d8e4fe3cf9e264f9" + integrity sha512-C0+z6Nw6R1Db7eg1vxs20edGLGLdghMqcu7goC50NZ5bMMLoHYKUAsE13nwAm0APZsOWraan6DSxZr7Cgyjq9A== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From af3bae82bd3d01b45f06585519b2b1285559d4d2 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 07:39:13 +0000 Subject: [PATCH 09/11] Bumping sdk dependency to 2.48.0-beta.8 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d7ae873..9955d9a 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.48.0-beta.7", + "@drift-labs/sdk": "2.48.0-beta.8", "@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 354c8be..7091290 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.48.0-beta.7": - version "2.48.0-beta.7" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.7.tgz#65c6dfa0b36233d976968308d8e4fe3cf9e264f9" - integrity sha512-C0+z6Nw6R1Db7eg1vxs20edGLGLdghMqcu7goC50NZ5bMMLoHYKUAsE13nwAm0APZsOWraan6DSxZr7Cgyjq9A== +"@drift-labs/sdk@2.48.0-beta.8": + version "2.48.0-beta.8" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.8.tgz#c4ca04c123d945c0879f2a549b8729cab2d8a428" + integrity sha512-Z6QGGgnwitISVq8aOhakGZi/y3Z3m8tBdlAkSWhFKoEZMzP59DYu1v6GMLJyHhEUlVX4uQPxCWfvh5b3xy1taw== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From bdea4a1bb8c30a2716fd9af6c9a8576046f74c5a Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 12:58:23 +0000 Subject: [PATCH 10/11] Bumping sdk dependency to 2.48.0-beta.9 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 9955d9a..8e7e9ba 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.48.0-beta.8", + "@drift-labs/sdk": "2.48.0-beta.9", "@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 7091290..fe86aa4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.48.0-beta.8": - version "2.48.0-beta.8" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.8.tgz#c4ca04c123d945c0879f2a549b8729cab2d8a428" - integrity sha512-Z6QGGgnwitISVq8aOhakGZi/y3Z3m8tBdlAkSWhFKoEZMzP59DYu1v6GMLJyHhEUlVX4uQPxCWfvh5b3xy1taw== +"@drift-labs/sdk@2.48.0-beta.9": + version "2.48.0-beta.9" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.9.tgz#2d0c99f58387ff3c5e45859ae4fe088339c8dd55" + integrity sha512-y0wrq680nv7Uwvcg9jOrjZPXxoae9yRg8M9B4bQgDFeNJmZNmcEmnLhWQ+CbPi8u/O0glhOdtKUk4UF9eSPXAg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From b29a29998c0f6fb83eec2cc407847b19118a42d4 Mon Sep 17 00:00:00 2001 From: Nour Alharithi Date: Tue, 28 Nov 2023 10:41:49 -0800 Subject: [PATCH 11/11] trades publisher fix --- src/publishers/tradesPublisher.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/publishers/tradesPublisher.ts b/src/publishers/tradesPublisher.ts index d0bd14e..16d9542 100644 --- a/src/publishers/tradesPublisher.ts +++ b/src/publishers/tradesPublisher.ts @@ -18,6 +18,7 @@ import { PRICE_PRECISION, getVariant, ZERO, + BN, } from '@drift-labs/sdk'; import { logger, setLogLevel } from '../utils/logger'; @@ -146,7 +147,9 @@ const main = async () => { ), taker: fill.taker?.toBase58(), takerOrderId: fill.takerOrderId, - takerOrderDirection: getVariant(fill.takerOrderDirection), + takerOrderDirection: fill.takerOrderDirection + ? getVariant(fill.takerOrderDirection) + : undefined, takerOrderBaseAssetAmount: convertToNumber( fill.takerOrderBaseAssetAmount, BASE_PRECISION @@ -182,7 +185,7 @@ const main = async () => { action: 'fill', actionExplanation: getVariant(fill.actionExplanation), referrerReward: convertToNumber( - fill.referrerReward ?? ZERO, + new BN(fill.referrerReward ?? ZERO), QUOTE_PRECISION ), };