From 37438998102b176be635dd40a10fd7b25cc63fd8 Mon Sep 17 00:00:00 2001 From: Nour Alharithi Date: Mon, 7 Oct 2024 12:55:57 -0700 Subject: [PATCH 01/12] invalidate delisted markets --- src/index.ts | 2 ++ src/utils/utils.ts | 14 ++++---- yarn.lock | 83 ++++++++++++++++++++++++++++++++-------------- 3 files changed, 66 insertions(+), 33 deletions(-) diff --git a/src/index.ts b/src/index.ts index 7f70a4a..e3a13e3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -22,6 +22,7 @@ import { BulkAccountLoader, isOperationPaused, PerpOperation, + DelistedMarketSetting, } from '@drift-labs/sdk'; import { RedisClient, RedisClientPrefix } from '@drift/common'; @@ -232,6 +233,7 @@ const main = async (): Promise => { resubTimeoutMs: 60_000, }, env: driftEnv, + delistedMarketSetting: DelistedMarketSetting.Discard, }); let updatesReceivedTotal = 0; diff --git a/src/utils/utils.ts b/src/utils/utils.ts index a579df6..9946459 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -6,12 +6,10 @@ import { MarketType, OpenbookV2Subscriber, OraclePriceData, - PerpMarkets, PhoenixSubscriber, PublicKey, SerumSubscriber, SpotMarketConfig, - SpotMarkets, decodeUser, isVariant, } from '@drift-labs/sdk'; @@ -294,9 +292,9 @@ export const validateDlobQuery = ( case 'spot': { normedMarketType = MarketType.SPOT; normedMarketIndex = parseInt(marketIndex as string); - const spotMarketIndicies = SpotMarkets[driftEnv].map( - (mkt) => mkt.marketIndex - ); + const spotMarketIndicies = driftClient + .getSpotMarketAccounts() + .map((mkt) => mkt.marketIndex); if (!spotMarketIndicies.includes(normedMarketIndex)) { return { error: 'Bad Request: invalid marketIndex', @@ -307,9 +305,9 @@ export const validateDlobQuery = ( case 'perp': { normedMarketType = MarketType.PERP; normedMarketIndex = parseInt(marketIndex as string); - const perpMarketIndicies = PerpMarkets[driftEnv].map( - (mkt) => mkt.marketIndex - ); + const perpMarketIndicies = driftClient + .getPerpMarketAccounts() + .map((mkt) => mkt.marketIndex); if (!perpMarketIndicies.includes(normedMarketIndex)) { return { error: 'Bad Request: invalid marketIndex', diff --git a/yarn.lock b/yarn.lock index f9a726d..0068cf9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -335,6 +335,13 @@ "@babel/helper-validator-identifier" "^7.24.5" to-fast-properties "^2.0.0" +"@brokerloop/ttlcache@^3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@brokerloop/ttlcache/-/ttlcache-3.2.3.tgz#bc3c79bb381f7b43f83745eb96e86673f75d3d11" + integrity sha512-kZWoyJGBYTv1cL5oHBYEixlJysJBf2RVnub3gbclD+dwaW9aKubbHzbZ9q1q6bONosxaOqMsoBorOrZKzBDiqg== + dependencies: + "@soncodi/signal" "~2.0.7" + "@colors/colors@1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" @@ -453,19 +460,19 @@ kuler "^2.0.0" "@drift-labs/sdk@file:./drift-common/protocol/sdk", "@drift-labs/sdk@file:drift-common/protocol/sdk": - version "2.93.0-beta.0" + version "2.96.0-beta.25" dependencies: "@coral-xyz/anchor" "0.28.0" "@coral-xyz/anchor-30" "npm:@coral-xyz/anchor@0.30.1" "@ellipsis-labs/phoenix-sdk" "^1.4.2" - "@openbook-dex/openbook-v2" "^0.2.10" + "@openbook-dex/openbook-v2" "0.2.10" "@project-serum/serum" "^0.13.38" "@pythnetwork/client" "2.5.3" "@pythnetwork/price-service-sdk" "^1.7.1" "@pythnetwork/pyth-solana-receiver" "^0.7.0" "@solana/spl-token" "0.3.7" "@solana/web3.js" "1.92.3" - "@switchboard-xyz/on-demand" "1.2.1" + "@switchboard-xyz/on-demand" "1.2.42" anchor-bankrun "^0.3.0" node-cache "^5.1.2" rpc-websockets "7.5.1" @@ -477,7 +484,7 @@ "@drift/common@file:./drift-common/common-ts": version "1.0.0" dependencies: - "@drift-labs/sdk" "file:../../Library/Caches/Yarn/v6/npm-@drift-common-1.0.0-e6d021ea-be53-435b-9d93-28103a3b1f1d-1723581999652/node_modules/@drift/protocol/sdk" + "@drift-labs/sdk" "file:../../Library/Caches/Yarn/v6/npm-@drift-common-1.0.0-66ae29fc-f764-4f8c-951d-c0993d2ea55f-1728326228912/node_modules/@drift/protocol/sdk" "@jest/globals" "^29.3.1" "@slack/web-api" "^6.4.0" "@solana/spl-token" "^0.3.8" @@ -946,7 +953,7 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@openbook-dex/openbook-v2@^0.2.10": +"@openbook-dex/openbook-v2@0.2.10": version "0.2.10" resolved "https://registry.yarnpkg.com/@openbook-dex/openbook-v2/-/openbook-v2-0.2.10.tgz#a5cfcd30ce827ecd446b76429a5e41baa23a318c" integrity sha512-JOroVQHeia+RbghpluDJB5psUIhdhYRPLu0zWoG0h5vgDU4SjXwlcC+LJiIa2HVPasvZjWuCtlKWFyrOS75lOA== @@ -2088,6 +2095,11 @@ decimal.js "^10.4.0" typescript "^4.8.2" +"@soncodi/signal@~2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@soncodi/signal/-/signal-2.0.7.tgz#0a2c361b02dbfdbcf4e66b78e5f711e0a13d6e83" + integrity sha512-zA2oZluZmVvgZEDjF243KWD1S2J+1SH1MVynI0O1KRgDt1lU8nqk7AK3oQfW/WpwT51L5waGSU0xKF/9BTP5Cw== + "@swc/helpers@^0.5.11": version "0.5.12" resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.12.tgz#37aaca95284019eb5d2207101249435659709f4b" @@ -2095,10 +2107,10 @@ dependencies: tslib "^2.4.0" -"@switchboard-xyz/common@^2.4.2": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@switchboard-xyz/common/-/common-2.4.4.tgz#4896d526d67c10a8131e5ea4044a2e43a7a8b999" - integrity sha512-Pcny+VzenXPCuCOj1W8lBm/S7bDSc1CU6T35Tt0o2bTDnzHgVGtYJ/OLqgPhqGhZ/fjMwrRiCPPIkuavK0Ik3Q== +"@switchboard-xyz/common@^2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@switchboard-xyz/common/-/common-2.5.0.tgz#15f60abd0c2503d855caf6f120ed98f8f0dd9d25" + integrity sha512-BgQTvqOZGZxMSscy2x3GHrs2/BRhFf55t7QrqVdED1KneCP0KgcZn436GjGttc61nP2i8Yd7VoJzTNksezn2kA== dependencies: "@solana/web3.js" "^1.93.0" axios "^1.7.2" @@ -2107,23 +2119,25 @@ bs58 "^5.0.0" cron-validator "^1.3.1" decimal.js "^10.4.3" + js-sha256 "^0.11.0" lodash "^4.17.21" protobufjs "^7.2.6" + yaml "^2.5.0" -"@switchboard-xyz/on-demand@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@switchboard-xyz/on-demand/-/on-demand-1.2.1.tgz#47b6b6dfcc95c19a83a6a41f7805250eac6148ac" - integrity sha512-rzF8u+7hClsAYjVk+MGzkGsTqLYRmeN0aOgtvTXpvYScNyQh72+ht45lkiSHJ3/vvTuGCbnEZrbc+ZY51gl4pQ== +"@switchboard-xyz/on-demand@1.2.42": + version "1.2.42" + resolved "https://registry.yarnpkg.com/@switchboard-xyz/on-demand/-/on-demand-1.2.42.tgz#1ec8ae18381baa66e20341648a1cdbd3c30efc8f" + integrity sha512-Q2qMpBM95RIDhGWA5vqRrAySRYncWKa7QWpAwLaIu5xPZMlSqNo12+lX30fUnqTWVeIXey/rp/3n6yOJLBsjjA== dependencies: + "@brokerloop/ttlcache" "^3.2.3" "@coral-xyz/anchor-30" "npm:@coral-xyz/anchor@0.30.1" "@solana/web3.js" "^1.95.0" "@solworks/soltoolkit-sdk" "^0.0.23" - "@switchboard-xyz/common" "^2.4.2" - axios "^1.2.0" + "@switchboard-xyz/common" "^2.5.0" + axios "^1.7.4" big.js "^6.2.1" bs58 "^5.0.0" js-yaml "^4.1.0" - node-cache "^5.1.2" protobufjs "^7.2.6" "@triton-one/yellowstone-grpc@^0.3.0": @@ -2889,15 +2903,6 @@ avvio@^7.1.2: fastq "^1.6.1" queue-microtask "^1.1.2" -axios@^1.2.0, axios@^1.6.8, axios@^1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.2.tgz#b625db8a7051fbea61c35a3cbb3a1daa7b9c7621" - integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - axios@^1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2" @@ -2916,6 +2921,24 @@ axios@^1.6.5: form-data "^4.0.0" proxy-from-env "^1.1.0" +axios@^1.6.8, axios@^1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.2.tgz#b625db8a7051fbea61c35a3cbb3a1daa7b9c7621" + integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +axios@^1.7.4: + version "1.7.7" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" + integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + babel-plugin-istanbul@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" @@ -4717,6 +4740,11 @@ joi@^17.3.0: "@sideway/formula" "^3.0.0" "@sideway/pinpoint" "^2.0.0" +js-sha256@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.11.0.tgz#256a921d9292f7fe98905face82e367abaca9576" + integrity sha512-6xNlKayMZvds9h1Y1VWc0fQHQ82BxTXizWPEtEeGvmOUYpBRy4gbWroHLpzowe6xiQhHpelCQiE7HEdznyBL9Q== + js-sha256@^0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" @@ -6593,6 +6621,11 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yaml@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.1.tgz#c9772aacf62cb7494a95b0c4f1fb065b563db130" + integrity sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q== + yargs-parser@20.2.4: version "20.2.4" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" From 07b22020838ded028cfcc99eb681b4985ffdc84f Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 10 Oct 2024 22:59:28 +0000 Subject: [PATCH 02/12] Bumping drift-common to 74f711f6198fc7759ef0954ca57b577e66bd32d6 --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index 3bece9c..74f711f 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit 3bece9cac80c0c2fbe6a12c874d16fd45c6ca66a +Subproject commit 74f711f6198fc7759ef0954ca57b577e66bd32d6 From 2aced23b297fcb58afdcfb25036be07d2eb7b2dc Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 11 Oct 2024 23:12:30 +0000 Subject: [PATCH 03/12] Bumping drift-common to fef623d355dc36ad8f5654517888c407787a1c8f --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index 74f711f..fef623d 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit 74f711f6198fc7759ef0954ca57b577e66bd32d6 +Subproject commit fef623d355dc36ad8f5654517888c407787a1c8f From c813dbc13fdb248de1de8228718eccc319038cf3 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 15:38:50 +0000 Subject: [PATCH 04/12] Bumping drift-common to a546e8fab2c754b2ebd88f90306f2eeeecf83ee0 --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index fef623d..a546e8f 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit fef623d355dc36ad8f5654517888c407787a1c8f +Subproject commit a546e8fab2c754b2ebd88f90306f2eeeecf83ee0 From 1ba874e6d62c998182dc34a8b0d99f2053ce4ac1 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:22:23 +0000 Subject: [PATCH 05/12] Bumping drift-common to be79fec0c651465bf0777f5d8413686cd71a8d77 --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index a546e8f..be79fec 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit a546e8fab2c754b2ebd88f90306f2eeeecf83ee0 +Subproject commit be79fec0c651465bf0777f5d8413686cd71a8d77 From 3e7aacf3e058a67a0637f799ab8e82da2b89ee08 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 16:47:49 +0000 Subject: [PATCH 06/12] Bumping drift-common to 24346b31337762fc102fcc365077477bef72769c --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index be79fec..24346b3 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit be79fec0c651465bf0777f5d8413686cd71a8d77 +Subproject commit 24346b31337762fc102fcc365077477bef72769c From 0d9c8286b5943f61ed18703fcfd58263ae7c9ffe Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 18:42:34 +0000 Subject: [PATCH 07/12] Bumping drift-common to e02ed3601715f7b7c789b6417ca98663da586324 --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index 24346b3..e02ed36 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit 24346b31337762fc102fcc365077477bef72769c +Subproject commit e02ed3601715f7b7c789b6417ca98663da586324 From 782c5ffd52ea7e68d3b33ae1d51d7adbbd6a581a Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 20:03:55 +0000 Subject: [PATCH 08/12] Bumping drift-common to b7501e5975c696b2bb8f3bdc6ec0edcf37cfa88d --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index e02ed36..b7501e5 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit e02ed3601715f7b7c789b6417ca98663da586324 +Subproject commit b7501e5975c696b2bb8f3bdc6ec0edcf37cfa88d From d74c1c79fbf94571b7993e53310122b9c3d7b90a Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 20:15:09 +0000 Subject: [PATCH 09/12] Bumping drift-common to defb7a0438c8d6569e5dee8b7acc1f253b5a2e8c --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index b7501e5..defb7a0 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit b7501e5975c696b2bb8f3bdc6ec0edcf37cfa88d +Subproject commit defb7a0438c8d6569e5dee8b7acc1f253b5a2e8c From f8e9598e776a38996902519a472c9f51c1e46d82 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 23:28:36 +0000 Subject: [PATCH 10/12] Bumping drift-common to 0ae66879151fccc50b292f7da1a2055ea00185a2 --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index defb7a0..0ae6687 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit defb7a0438c8d6569e5dee8b7acc1f253b5a2e8c +Subproject commit 0ae66879151fccc50b292f7da1a2055ea00185a2 From ee7f3c965af1f3e65db0cf9797490b9fb1809483 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 23:48:03 +0000 Subject: [PATCH 11/12] Bumping drift-common to a21205ce6e5106afc16ea6587bfe6168af162a1f --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index 0ae6687..a21205c 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit 0ae66879151fccc50b292f7da1a2055ea00185a2 +Subproject commit a21205ce6e5106afc16ea6587bfe6168af162a1f From a512bda45efe740101b83b95bd7460ee807deb3f Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 05:34:37 +0000 Subject: [PATCH 12/12] Bumping drift-common to 5acc7cae03b3801a738fd84d3e222c999aedd8e9 --- drift-common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drift-common b/drift-common index a21205c..5acc7ca 160000 --- a/drift-common +++ b/drift-common @@ -1 +1 @@ -Subproject commit a21205ce6e5106afc16ea6587bfe6168af162a1f +Subproject commit 5acc7cae03b3801a738fd84d3e222c999aedd8e9