From 32e8571d4e4d7cbc601152cc59cf87b29263c707 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 2 Oct 2023 19:28:23 +0000 Subject: [PATCH 01/10] Bumping sdk dependency to 2.41.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 7f69375..4c88b60 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.40.0-beta.15", + "@drift-labs/sdk": "2.41.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 da147ee..66ec572 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.40.0-beta.15": - version "2.40.0-beta.15" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.40.0-beta.15.tgz#b9e78d120bd51f372b6156681480f1ba302057cc" - integrity sha512-FRTgMC7A0K4N3TMG0WLvYPmyQNO/Yv1Br11RuXkdSheAvoM3Eo3OMLJns6a6MipIaWh8ddf89HtzQJmOZHKVnA== +"@drift-labs/sdk@2.41.0-beta.1": + version "2.41.0-beta.1" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.41.0-beta.1.tgz#9bdd49fb89d78762ea0eab62f5aa5590db393def" + integrity sha512-Tpaj91v2yF2ocoAX92B7FimPWlFP33ZER/StCI+DeDxXEwlTpugiXg70dP+CNe7/FdV/xemr8scdjx3PIgNHBg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 490a3b713de9a73b32b69adbe066228835d95742 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 17:19:04 +0000 Subject: [PATCH 02/10] Bumping sdk dependency to 2.41.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 4c88b60..f81f3ba 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.41.0-beta.1", + "@drift-labs/sdk": "2.41.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 66ec572..9ba5e2c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.41.0-beta.1": - version "2.41.0-beta.1" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.41.0-beta.1.tgz#9bdd49fb89d78762ea0eab62f5aa5590db393def" - integrity sha512-Tpaj91v2yF2ocoAX92B7FimPWlFP33ZER/StCI+DeDxXEwlTpugiXg70dP+CNe7/FdV/xemr8scdjx3PIgNHBg== +"@drift-labs/sdk@2.41.0-beta.2": + version "2.41.0-beta.2" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.41.0-beta.2.tgz#a91cac5bd5ae80ac3e7350bdb6fa337f67fab462" + integrity sha512-NdG4ip1af28i8539aZ3bY5Lb42dcPX6WfzG+vjqROzXiYP9s+Wm05fFYOQD3AoP0ZECWO5t5vrUzTSUvEAXSZA== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From c25d49825b3a4f059447715328baf078dd228949 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 22:27:38 +0000 Subject: [PATCH 03/10] Bumping sdk dependency to 2.41.0-beta.3 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f81f3ba..8916328 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.41.0-beta.2", + "@drift-labs/sdk": "2.41.0-beta.3", "@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 9ba5e2c..486a267 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.41.0-beta.2": - version "2.41.0-beta.2" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.41.0-beta.2.tgz#a91cac5bd5ae80ac3e7350bdb6fa337f67fab462" - integrity sha512-NdG4ip1af28i8539aZ3bY5Lb42dcPX6WfzG+vjqROzXiYP9s+Wm05fFYOQD3AoP0ZECWO5t5vrUzTSUvEAXSZA== +"@drift-labs/sdk@2.41.0-beta.3": + version "2.41.0-beta.3" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.41.0-beta.3.tgz#c56a33c14bd1fe0f2839a650b9a7bda2fb90d7de" + integrity sha512-1PcLtU+tMkGWIRSu2QmwDrutZprnIkKf4M9xHS3NcLY0SuQfB/Q1TKh1QSROsjp/MMgvph4jfOAGkG3VOV/A1g== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 9e3c55103ea09fe7176471c661b1f40801e906ae Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 21:53:37 +0000 Subject: [PATCH 04/10] Bumping sdk dependency to 2.41.0-beta.4 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 8916328..6452553 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.41.0-beta.3", + "@drift-labs/sdk": "2.41.0-beta.4", "@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 486a267..f7b22ec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.41.0-beta.3": - version "2.41.0-beta.3" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.41.0-beta.3.tgz#c56a33c14bd1fe0f2839a650b9a7bda2fb90d7de" - integrity sha512-1PcLtU+tMkGWIRSu2QmwDrutZprnIkKf4M9xHS3NcLY0SuQfB/Q1TKh1QSROsjp/MMgvph4jfOAGkG3VOV/A1g== +"@drift-labs/sdk@2.41.0-beta.4": + version "2.41.0-beta.4" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.41.0-beta.4.tgz#d315f8e78cd922d5c820eb18ce7dcf2b4238e2df" + integrity sha512-mvZlJ3RtgcBqNpGq0unFru/qwnlhHTZOeO8E/s7USlmoI06wCj6dIq4UiN26ostTkNmPoEHquUekuebUlRV4Sg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 9689690b6106db0b959a83c9203290fec9a33f78 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 17:20:23 +0000 Subject: [PATCH 05/10] Bumping sdk dependency to 2.42.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 6452553..6c89366 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.41.0-beta.4", + "@drift-labs/sdk": "2.42.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 f7b22ec..0d2c912 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.41.0-beta.4": - version "2.41.0-beta.4" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.41.0-beta.4.tgz#d315f8e78cd922d5c820eb18ce7dcf2b4238e2df" - integrity sha512-mvZlJ3RtgcBqNpGq0unFru/qwnlhHTZOeO8E/s7USlmoI06wCj6dIq4UiN26ostTkNmPoEHquUekuebUlRV4Sg== +"@drift-labs/sdk@2.42.0-beta.0": + version "2.42.0-beta.0" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.42.0-beta.0.tgz#d19d6bbd58fb08390539b48b9190027f1f79a1c7" + integrity sha512-9Tv/5AuJ1W02PvkMRz/tYxovlYmrnDRfVNrtvpWnIKNkeOpx9mObKz/72W8SWrUfofG1y+VmOsAc/ql7afMBhA== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 40ebd8bbe980d6a61de99217f2a8bb61fe244cb0 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 5 Oct 2023 18:00:30 +0000 Subject: [PATCH 06/10] Bumping sdk dependency to 2.42.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 6c89366..2b63b82 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.42.0-beta.0", + "@drift-labs/sdk": "2.42.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 0d2c912..83bd318 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.42.0-beta.0": - version "2.42.0-beta.0" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.42.0-beta.0.tgz#d19d6bbd58fb08390539b48b9190027f1f79a1c7" - integrity sha512-9Tv/5AuJ1W02PvkMRz/tYxovlYmrnDRfVNrtvpWnIKNkeOpx9mObKz/72W8SWrUfofG1y+VmOsAc/ql7afMBhA== +"@drift-labs/sdk@2.42.0-beta.1": + version "2.42.0-beta.1" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.42.0-beta.1.tgz#118b32a00bcee898b91668b997f14e5ac80cf571" + integrity sha512-9S2eylmmP9z18ZTixAPWVy1OzlB7CEHsleVrCX8QM2mEBOccef2653R6CTPzlZ/7dPMmJ1xeexf39+DkdHTOGA== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From f5bbaac35c4c5305543b6f6c0a48983013e89c36 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 6 Oct 2023 22:22:40 +0000 Subject: [PATCH 07/10] Bumping sdk dependency to 2.42.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 2b63b82..ae8ca95 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.42.0-beta.1", + "@drift-labs/sdk": "2.42.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 83bd318..8e4d69d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.42.0-beta.1": - version "2.42.0-beta.1" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.42.0-beta.1.tgz#118b32a00bcee898b91668b997f14e5ac80cf571" - integrity sha512-9S2eylmmP9z18ZTixAPWVy1OzlB7CEHsleVrCX8QM2mEBOccef2653R6CTPzlZ/7dPMmJ1xeexf39+DkdHTOGA== +"@drift-labs/sdk@2.42.0-beta.2": + version "2.42.0-beta.2" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.42.0-beta.2.tgz#96c8f7fc820935f6b592fe66d15226ad06847eba" + integrity sha512-/rZjyhScy1w+1DzxIcD0+vYbOPRj5oNADAb1XH+97G1vV5Ifrle1w1MBLvjjBrNnd2DRDJT8ex2fRUiZ9LuiYQ== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 65aa3b78debec8dde87bc66f5d624fa7fef27ada Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 8 Oct 2023 23:56:57 +0000 Subject: [PATCH 08/10] Bumping sdk dependency to 2.42.0-beta.3 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ae8ca95..6007d5e 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "lib/index.js", "license": "Apache-2.0", "dependencies": { - "@drift-labs/sdk": "2.42.0-beta.2", + "@drift-labs/sdk": "2.42.0-beta.3", "@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 8e4d69d..c8ae4d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,10 +80,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.42.0-beta.2": - version "2.42.0-beta.2" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.42.0-beta.2.tgz#96c8f7fc820935f6b592fe66d15226ad06847eba" - integrity sha512-/rZjyhScy1w+1DzxIcD0+vYbOPRj5oNADAb1XH+97G1vV5Ifrle1w1MBLvjjBrNnd2DRDJT8ex2fRUiZ9LuiYQ== +"@drift-labs/sdk@2.42.0-beta.3": + version "2.42.0-beta.3" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.42.0-beta.3.tgz#23be10343631a85f63a9a9c0ee0f9349992c838b" + integrity sha512-el2ylBRXk+MRqR6q4YjRd/7xRLsQUwOJPX5E8BL8S1iHf83wy80XDITeatDWefcbo0zeFyXOick0oK24JtLHdg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 8ae9cb4fd2f6b55ea1f95ee4ceb29fc657c566de Mon Sep 17 00:00:00 2001 From: wphan Date: Tue, 10 Oct 2023 22:44:59 -0700 Subject: [PATCH 09/10] add includeOracle query param --- src/index.ts | 66 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 59 insertions(+), 7 deletions(-) diff --git a/src/index.ts b/src/index.ts index 5f71842..008203d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -887,6 +887,21 @@ const main = async () => { return l2; }; + const getOracleForMarket = ( + marketType: MarketType, + marketIndex: number + ): number => { + if (isVariant(marketType, 'spot')) { + return driftClient + .getOracleDataForSpotMarket(marketIndex) + .price.toNumber(); + } else if (isVariant(marketType, 'perp')) { + return driftClient + .getOracleDataForPerpMarket(marketIndex) + .price.toNumber(); + } + }; + app.get('/l2', async (req, res, next) => { try { const { @@ -899,6 +914,7 @@ const main = async () => { includePhoenix, includeSerum, grouping, // undefined or PRICE_PRECISION + includeOracle, } = req.query; const { normedMarketType, normedMarketIndex, error } = validateDlobQuery( @@ -945,14 +961,30 @@ const main = async () => { return; } const groupingBN = new BN(parseInt(grouping as string)); - res.writeHead(200); - res.end( - JSON.stringify(l2WithBNToStrings(groupL2(l2, groupingBN, finalDepth))) + const l2Formatted = l2WithBNToStrings( + groupL2(l2, groupingBN, finalDepth) ); + if (`${includeOracle}`.toLowerCase() === 'true') { + l2Formatted['oracle'] = getOracleForMarket( + normedMarketType, + normedMarketIndex + ); + } + + res.writeHead(200); + res.end(JSON.stringify(l2Formatted)); } else { // make the BNs into strings + const l2Formatted = l2WithBNToStrings(l2); + if (`${includeOracle}`.toLowerCase() === 'true') { + l2Formatted['oracle'] = getOracleForMarket( + normedMarketType, + normedMarketIndex + ); + } + res.writeHead(200); - res.end(JSON.stringify(l2WithBNToStrings(l2))); + res.end(JSON.stringify(l2Formatted)); } } catch (err) { next(err); @@ -1109,10 +1141,26 @@ const main = async () => { parseInt(normedParam['grouping'] as string) ); - return l2WithBNToStrings(groupL2(l2, groupingBN, finalDepth)); + const l2Formatted = l2WithBNToStrings( + groupL2(l2, groupingBN, finalDepth) + ); + if (`${normedParam['includeOracle']}`.toLowerCase() === 'true') { + l2Formatted['oracle'] = getOracleForMarket( + normedMarketType, + normedMarketIndex + ); + } + return l2Formatted; } else { // make the BNs into strings - return l2WithBNToStrings(l2); + const l2Formatted = l2WithBNToStrings(l2); + if (`${normedParam['includeOracle']}`.toLowerCase() === 'true') { + l2Formatted['oracle'] = getOracleForMarket( + normedMarketType, + normedMarketIndex + ); + } + return l2Formatted; } }); @@ -1125,7 +1173,7 @@ const main = async () => { app.get('/l3', async (req, res, next) => { try { - const { marketName, marketIndex, marketType } = req.query; + const { marketName, marketIndex, marketType, includeOracle } = req.query; const { normedMarketType, normedMarketIndex, error } = validateDlobQuery( marketType as string, @@ -1153,6 +1201,10 @@ const main = async () => { } } + if (`${includeOracle}`.toLowerCase() === 'true') { + l3['oracle'] = getOracleForMarket(normedMarketType, normedMarketIndex); + } + res.writeHead(200); res.end(JSON.stringify(l3)); } catch (err) { From d8b12305e92f266ad16dfaba6661d86a9ea02ce3 Mon Sep 17 00:00:00 2001 From: wphan Date: Wed, 11 Oct 2023 08:56:09 -0700 Subject: [PATCH 10/10] add includeUserStats to /topMakers --- src/index.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index 008203d..6d73ced 100644 --- a/src/index.ts +++ b/src/index.ts @@ -33,6 +33,7 @@ import { groupL2, L2OrderBook, Wallet, + UserStatsMap, } from '@drift-labs/sdk'; import { Mutex } from 'async-mutex'; @@ -391,6 +392,10 @@ const main = async () => { false ); await userMap.subscribe(); + const userStatsMap = new UserStatsMap( + driftClient, + driftClient.userStatsAccountSubscriptionConfig + ); const dlobSubscriber = new DLOBSubscriber({ driftClient, @@ -787,6 +792,7 @@ const main = async () => { marketType, side, // bid or ask limit, // number of unique makers to return, if undefined will return all + includeUserStats, } = req.query; const { normedMarketType, normedMarketIndex, error } = validateDlobQuery( @@ -817,7 +823,7 @@ const main = async () => { normedLimit = parseInt(limit as string); } - const topMakers: Set = new Set(); + const topMakers = new Set(); let foundMakers = 0; const findMakers = (sideGenerator: Generator) => { for (const side of sideGenerator) { @@ -829,7 +835,15 @@ const main = async () => { if (topMakers.has(maker)) { continue; } else { - topMakers.add(side.userAccount.toBase58()); + if (`${includeUserStats}`.toLowerCase() === 'true') { + const userAccount = side.userAccount.toBase58(); + const userStats = userStatsMap + .get(userAccount) + .userStatsAccountPublicKey.toBase58(); + topMakers.add([userAccount, userStats]); + } else { + topMakers.add(side.userAccount.toBase58()); + } foundMakers++; } } else {