From 69c6aba572585e7e07f504082621ce4424d02def Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 21:52:01 +0000 Subject: [PATCH 01/17] Bumping sdk dependency to 2.74.0-beta.13 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 129c1b8..f6c0091 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.74.0-beta.12", + "@drift-labs/sdk": "2.74.0-beta.13", "@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 dfee1f1..592d608 100644 --- a/yarn.lock +++ b/yarn.lock @@ -115,10 +115,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.74.0-beta.12": - version "2.74.0-beta.12" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.74.0-beta.12.tgz#86a4e0657c5b425e303c4d3684ad82fe1f7919ce" - integrity sha512-YFr6jnQn1ANRrAiby5gdg93dHyKVG3wJ9bTe/U3p2T6PoxDzzhZF4/1oabewodGNia5PHvTRiA3rpbmTHdvWkQ== +"@drift-labs/sdk@2.74.0-beta.13": + version "2.74.0-beta.13" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.74.0-beta.13.tgz#cd9f94ccc34ae552cc3d811f06f8203e4a8175a3" + integrity sha512-AdkAg6AqmxMgvn3nPwLzkOZ5fYlmfIJVkezJwAEEYwTuKqgxPqXuXdDFZ1EymJY5Nld+z05gEtpXMskx62Qw+w== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From ea39910eae432364c1d0a7622df7f3d93a557fc7 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 22:51:03 +0000 Subject: [PATCH 02/17] Bumping sdk dependency to 2.74.0-beta.14 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index f6c0091..103f372 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.74.0-beta.13", + "@drift-labs/sdk": "2.74.0-beta.14", "@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 592d608..8080da3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -115,10 +115,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.74.0-beta.13": - version "2.74.0-beta.13" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.74.0-beta.13.tgz#cd9f94ccc34ae552cc3d811f06f8203e4a8175a3" - integrity sha512-AdkAg6AqmxMgvn3nPwLzkOZ5fYlmfIJVkezJwAEEYwTuKqgxPqXuXdDFZ1EymJY5Nld+z05gEtpXMskx62Qw+w== +"@drift-labs/sdk@2.74.0-beta.14": + version "2.74.0-beta.14" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.74.0-beta.14.tgz#7108e4814be85ef98a98c30fb9a8283321241523" + integrity sha512-N4j/Cn3qfgDfaEN9D/V7E8gPI3uttaMO5yRG2orBiMRcGdYpQlVozf4ylcyAv2paJ5ER2FQnGvftv/lgsuXCLg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From da50d206a9c814b4218faaa5b3b7be4e48aebc95 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 22:58:57 +0000 Subject: [PATCH 03/17] Bumping sdk dependency to 2.75.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 103f372..f851927 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.74.0-beta.14", + "@drift-labs/sdk": "2.75.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 8080da3..8927565 100644 --- a/yarn.lock +++ b/yarn.lock @@ -115,10 +115,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.74.0-beta.14": - version "2.74.0-beta.14" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.74.0-beta.14.tgz#7108e4814be85ef98a98c30fb9a8283321241523" - integrity sha512-N4j/Cn3qfgDfaEN9D/V7E8gPI3uttaMO5yRG2orBiMRcGdYpQlVozf4ylcyAv2paJ5ER2FQnGvftv/lgsuXCLg== +"@drift-labs/sdk@2.75.0-beta.0": + version "2.75.0-beta.0" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.0.tgz#4229e84725022c22becd94a851ed9d41a8e0758c" + integrity sha512-EVehNycqj9MsPYrmIoqtDL5pRZ3LZMpFrFoyGe9DHi9dcpVICMjBu/gRJFY87hSXsAfTJfUul9AD6W0keCj/SA== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From ca46d05ea75e7db746deba3c9c15d2fba6859d16 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 19:29:16 +0000 Subject: [PATCH 04/17] Bumping sdk dependency to 2.75.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 f851927..41f8adf 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.75.0-beta.0", + "@drift-labs/sdk": "2.75.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 8927565..47d0a29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -115,10 +115,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.75.0-beta.0": - version "2.75.0-beta.0" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.0.tgz#4229e84725022c22becd94a851ed9d41a8e0758c" - integrity sha512-EVehNycqj9MsPYrmIoqtDL5pRZ3LZMpFrFoyGe9DHi9dcpVICMjBu/gRJFY87hSXsAfTJfUul9AD6W0keCj/SA== +"@drift-labs/sdk@2.75.0-beta.1": + version "2.75.0-beta.1" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.1.tgz#3f774fceaa012eb98eda8edddb652424923d7d59" + integrity sha512-hS0AKUcbvHvNkXIwxC86AlcBO+cfZmjSapEvi809ERN/9y5xIHW51KRiVHS74QuGJ7qoqGwPDgWSlPlAZwmqfw== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From fa506344dda59c7da175e86d10cd8ffe27d65f32 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 19:41:19 +0000 Subject: [PATCH 05/17] Bumping sdk dependency to 2.75.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 41f8adf..1b84cb8 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.75.0-beta.1", + "@drift-labs/sdk": "2.75.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 47d0a29..21c3dc4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -115,10 +115,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.75.0-beta.1": - version "2.75.0-beta.1" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.1.tgz#3f774fceaa012eb98eda8edddb652424923d7d59" - integrity sha512-hS0AKUcbvHvNkXIwxC86AlcBO+cfZmjSapEvi809ERN/9y5xIHW51KRiVHS74QuGJ7qoqGwPDgWSlPlAZwmqfw== +"@drift-labs/sdk@2.75.0-beta.2": + version "2.75.0-beta.2" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.2.tgz#abcf227c4beec46fefeed75099d5a23852cd2fbc" + integrity sha512-sNX7nidy4DpiSWCv5H1VgznNqPh8OFoHDboO4+DG9MuFetGp3x8j3rg+00Nqc08IxVvcNKVJbI2vcS8cHT24Eg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From ca0120faf0dee8e323d213f0d901314b729d7c90 Mon Sep 17 00:00:00 2001 From: Nour Alharithi Date: Fri, 29 Mar 2024 17:25:28 -0700 Subject: [PATCH 06/17] update docker file and node version --- Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 37e7284..673e222 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,6 +9,4 @@ COPY . . RUN yarn RUN yarn build -EXPOSE 9464 - -CMD [ "yarn", "start:all" ] \ No newline at end of file +EXPOSE 9464 \ No newline at end of file From 4865d14c2dfc52bd92d3e61cf0405c399e01bb23 Mon Sep 17 00:00:00 2001 From: Nour Alharithi Date: Fri, 29 Mar 2024 17:26:36 -0700 Subject: [PATCH 07/17] update docker cmd and node version --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 673e222..d9e3758 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM public.ecr.aws/bitnami/node:16 +FROM public.ecr.aws/bitnami/node:18 RUN apt-get install git ENV NODE_ENV=production RUN npm install -g yarn From 92f28f57235a4cfd8176fc555e52304f0b38448d Mon Sep 17 00:00:00 2001 From: Nour Alharithi Date: Fri, 29 Mar 2024 17:41:15 -0700 Subject: [PATCH 08/17] add perp market to ignore for devnet --- src/dlob-subscriber/DLOBSubscriberIO.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dlob-subscriber/DLOBSubscriberIO.ts b/src/dlob-subscriber/DLOBSubscriberIO.ts index f8291fd..454964c 100644 --- a/src/dlob-subscriber/DLOBSubscriberIO.ts +++ b/src/dlob-subscriber/DLOBSubscriberIO.ts @@ -34,7 +34,7 @@ const SPOT_MAKRET_STALENESS_THRESHOLD = 20 * 60 * 1000; const PERP_MARKETS_TO_SKIP_SLOT_CHECK = { 'mainnet-beta': [17], - devnet: [17, 21], + devnet: [17, 21, 23], }; const SPOT_MARKETS_TO_SKIP_SLOT_CHECK = { From 19190a25fa306fc5e5a492ec90ca89b72a798ec4 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 30 Mar 2024 17:40:22 +0000 Subject: [PATCH 09/17] Bumping sdk dependency to 2.75.0-beta.3 --- package.json | 2 +- yarn.lock | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1b84cb8..6a11cd8 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.75.0-beta.2", + "@drift-labs/sdk": "2.75.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 21c3dc4..5705cec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -115,10 +115,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.75.0-beta.2": - version "2.75.0-beta.2" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.2.tgz#abcf227c4beec46fefeed75099d5a23852cd2fbc" - integrity sha512-sNX7nidy4DpiSWCv5H1VgznNqPh8OFoHDboO4+DG9MuFetGp3x8j3rg+00Nqc08IxVvcNKVJbI2vcS8cHT24Eg== +"@drift-labs/sdk@2.75.0-beta.3": + version "2.75.0-beta.3" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.3.tgz#91eaa10ec2c217af45eec39cd6738147923256e1" + integrity sha512-TLbf7aOIb7vM/PBUAxETG1hC8+uE4L/4aQgCG1VGBegdkjlHO4xJ9RaXjqoV5q3hVxSInsU115deDvjxi5CDPA== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" @@ -128,6 +128,7 @@ "@solana/web3.js" "1.73.2" strict-event-emitter-types "^2.0.0" uuid "^8.3.2" + zstddec "^0.1.0" "@ellipsis-labs/phoenix-sdk@^1.4.2": version "1.4.2" @@ -4507,3 +4508,8 @@ yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +zstddec@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/zstddec/-/zstddec-0.1.0.tgz#7050f3f0e0c3978562d0c566b3e5a427d2bad7ec" + integrity sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg== From 1d557249f10a2d45d96af783f83f1bfed450eda1 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 31 Mar 2024 02:39:15 +0000 Subject: [PATCH 10/17] Bumping sdk dependency to 2.75.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 6a11cd8..bcfdbf4 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.75.0-beta.3", + "@drift-labs/sdk": "2.75.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 5705cec..b4adca2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -115,10 +115,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.75.0-beta.3": - version "2.75.0-beta.3" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.3.tgz#91eaa10ec2c217af45eec39cd6738147923256e1" - integrity sha512-TLbf7aOIb7vM/PBUAxETG1hC8+uE4L/4aQgCG1VGBegdkjlHO4xJ9RaXjqoV5q3hVxSInsU115deDvjxi5CDPA== +"@drift-labs/sdk@2.75.0-beta.4": + version "2.75.0-beta.4" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.4.tgz#ede5a8e87d9cb2f99cf0902d97069e0cffb587b6" + integrity sha512-MhHUmIdrG/jVKfPRIHBtDxuunBO/YIa+nplkYRJK3jmCDlej8+LBkbDeqwNQR8CmD4E3FTU1L/ZHePNb49pvuw== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 25e2c63a847c4f91dc8f46b53e333a93918f11a8 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 16:02:18 +0000 Subject: [PATCH 11/17] Bumping sdk dependency to 2.75.0-beta.5 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index bcfdbf4..fda01b3 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.75.0-beta.4", + "@drift-labs/sdk": "2.75.0-beta.5", "@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 b4adca2..817c587 100644 --- a/yarn.lock +++ b/yarn.lock @@ -115,10 +115,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.75.0-beta.4": - version "2.75.0-beta.4" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.4.tgz#ede5a8e87d9cb2f99cf0902d97069e0cffb587b6" - integrity sha512-MhHUmIdrG/jVKfPRIHBtDxuunBO/YIa+nplkYRJK3jmCDlej8+LBkbDeqwNQR8CmD4E3FTU1L/ZHePNb49pvuw== +"@drift-labs/sdk@2.75.0-beta.5": + version "2.75.0-beta.5" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.5.tgz#109d1b0c5d38ee33f737d52e5bca151a97e8fc2c" + integrity sha512-rNzDX/mUO5/wMk2tsFUx2Qo3ALB2GUPxThFTQP5k5jIPUY1iQYjwv9d0Eh3yqXzu7FGfx9TfK+C7DpgibMCnrw== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From e4e4b72473a1eec03456bc65fe4cbc0b57332979 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 21:36:33 +0000 Subject: [PATCH 12/17] Bumping sdk dependency to 2.75.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 fda01b3..78d0f00 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.75.0-beta.5", + "@drift-labs/sdk": "2.75.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 817c587..47e6a22 100644 --- a/yarn.lock +++ b/yarn.lock @@ -115,10 +115,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.75.0-beta.5": - version "2.75.0-beta.5" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.5.tgz#109d1b0c5d38ee33f737d52e5bca151a97e8fc2c" - integrity sha512-rNzDX/mUO5/wMk2tsFUx2Qo3ALB2GUPxThFTQP5k5jIPUY1iQYjwv9d0Eh3yqXzu7FGfx9TfK+C7DpgibMCnrw== +"@drift-labs/sdk@2.75.0-beta.6": + version "2.75.0-beta.6" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.6.tgz#02f1a13cabfb608fa3361cdb1c4b8c51a872a469" + integrity sha512-J/2aGcfcRi5tO1ijOZ6HsncQczZsi0oG4g9BvxkRrIdXoJO9z11yAYXH+PBTeVkdn1BCmk8cNb0ciT9+6fjBLg== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From dd8b4ef3c37daf3bd81a65b4f4d7d1b3d1fcd62b Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 22:48:03 +0000 Subject: [PATCH 13/17] Bumping sdk dependency to 2.76.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 78d0f00..027b657 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.75.0-beta.6", + "@drift-labs/sdk": "2.76.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 47e6a22..eab882b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -115,10 +115,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.75.0-beta.6": - version "2.75.0-beta.6" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.75.0-beta.6.tgz#02f1a13cabfb608fa3361cdb1c4b8c51a872a469" - integrity sha512-J/2aGcfcRi5tO1ijOZ6HsncQczZsi0oG4g9BvxkRrIdXoJO9z11yAYXH+PBTeVkdn1BCmk8cNb0ciT9+6fjBLg== +"@drift-labs/sdk@2.76.0-beta.0": + version "2.76.0-beta.0" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.76.0-beta.0.tgz#5b03a89ad4baeb71f43e77faf3d0cd38363daf3c" + integrity sha512-eBZ+pi8WqFzJ6dI0TkNvd6Tt2h8Q31yxFqaGE4ge+Qygd7cUQylyBM/ManqUDhg/ZYZl585QgNcOnzCVG2r82w== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From 88ec02634f47d1a0b7ea033476567aec11fd7096 Mon Sep 17 00:00:00 2001 From: Nour Alharithi Date: Tue, 2 Apr 2024 15:00:15 -0700 Subject: [PATCH 14/17] graceful dlob publisher exit + cleanup --- src/core/metrics.ts | 11 +++++++++ src/dlob-subscriber/DLOBSubscriberIO.ts | 11 ++++----- src/index.ts | 22 ------------------ src/publishers/dlobPublisher.ts | 30 +++++++++++++++++++++++++ 4 files changed, 47 insertions(+), 27 deletions(-) diff --git a/src/core/metrics.ts b/src/core/metrics.ts index 574c245..3e1acb8 100644 --- a/src/core/metrics.ts +++ b/src/core/metrics.ts @@ -45,6 +45,7 @@ export enum HEALTH_STATUS { StaleBulkAccountLoader, UnhealthySlotSubscriber, LivenessTesting, + Restart, } const metricsPort = @@ -169,6 +170,10 @@ let lastHealthCheckState = true; // true = healthy, false = unhealthy let lastHealthCheckPerformed = Date.now() - healthCheckInterval; let lastTimeHealthy = Date.now() - healthCheckInterval; +export const setHealthStatus = (status: HEALTH_STATUS): void => { + healthStatus = status; +}; + /** * Middleware that checks if we are in general healthy by checking that the bulk account loader slot * has changed recently. @@ -185,6 +190,12 @@ const handleHealthCheck = ( slotSource: SlotSource ) => { return async (_req, res, _next) => { + if (healthStatus === HEALTH_STATUS.Restart) { + res.writeHead(500); + res.end(`NOK`); + return; + } + if (Date.now() < lastHealthCheckPerformed + healthCheckInterval) { if (lastHealthCheckState) { res.writeHead(200); diff --git a/src/dlob-subscriber/DLOBSubscriberIO.ts b/src/dlob-subscriber/DLOBSubscriberIO.ts index 454964c..51857db 100644 --- a/src/dlob-subscriber/DLOBSubscriberIO.ts +++ b/src/dlob-subscriber/DLOBSubscriberIO.ts @@ -16,6 +16,7 @@ import { addOracletoResponse, l2WithBNToStrings, } from '../utils/utils'; +import { setHealthStatus, HEALTH_STATUS } from '../core/metrics'; type wsMarketArgs = { marketIndex: number; @@ -62,7 +63,7 @@ export class DLOBSubscriberIO extends DLOBSubscriber { constructor( config: DLOBSubscriptionConfig & { - env: DriftEnv, + env: DriftEnv; redisClient: RedisClient; perpMarketInfos: wsMarketInfo[]; spotMarketInfos: wsMarketInfo[]; @@ -209,11 +210,11 @@ export class DLOBSubscriberIO extends DLOBSubscriber { this.killSwitchSlotDiffThreshold && !skipSlotCheck ) { - console.log(`Killing process due to slot diffs for market ${marketName}: + console.log(`Unhealthy process due to slot diffs for market ${marketName}: dlobProvider slot: ${slot} oracle slot: ${l2Formatted['oracleData']['slot']} `); - process.exit(1); + setHealthStatus(HEALTH_STATUS.Restart); } // Check if times and slots are too different for market @@ -227,11 +228,11 @@ export class DLOBSubscriberIO extends DLOBSubscriber { Date.now() - lastMarketSlotAndTime.ts > MAKRET_STALENESS_THRESHOLD && !skipSlotCheck ) { - console.log(`Killing process due to same slot for market ${marketName} after > ${MAKRET_STALENESS_THRESHOLD}ms: + console.log(`Unhealthy process due to same slot for market ${marketName} after > ${MAKRET_STALENESS_THRESHOLD}ms: dlobProvider slot: ${slot} market slot: ${l2Formatted['marketSlot']} `); - process.exit(1); + setHealthStatus(HEALTH_STATUS.Restart); } else if ( lastMarketSlotAndTime && l2Formatted['marketSlot'] !== lastMarketSlotAndTime.slot diff --git a/src/index.ts b/src/index.ts index e88326d..489fa49 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,7 +2,6 @@ import { program } from 'commander'; import compression from 'compression'; import cors from 'cors'; import express from 'express'; -import rateLimit from 'express-rate-limit'; import morgan from 'morgan'; import { Commitment, Connection, Keypair, PublicKey } from '@solana/web3.js'; @@ -99,10 +98,6 @@ const SLOT_STALENESS_TOLERANCE = parseInt(process.env.SLOT_STALENESS_TOLERANCE) || 20; const ROTATION_COOLDOWN = parseInt(process.env.ROTATION_COOLDOWN) || 5000; 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) - : 1; -const loadTestAllowed = process.env.ALLOW_LOAD_TEST?.toLowerCase() === 'true'; const useRedis = process.env.USE_REDIS?.toLowerCase() === 'true'; const logFormat = @@ -119,23 +114,6 @@ app.use(compression()); app.set('trust proxy', 1); app.use(logHttp); app.use(handleResponseTime); -if (!FEATURE_FLAGS.DISABLE_RATE_LIMIT) { - app.use( - rateLimit({ - windowMs: 1000, // 1 second - max: rateLimitCallsPerSecond, - standardHeaders: false, // Return rate limit info in the `RateLimit-*` headers - legacyHeaders: false, // Disable the `X-RateLimit-*` headers - skip: (req, _res) => { - if (!loadTestAllowed) { - return false; - } - - return req.headers['user-agent'].includes('k6'); - }, - }) - ); -} // strip off /dlob, if the request comes from exchange history server LB app.use((req, _res, next) => { diff --git a/src/publishers/dlobPublisher.ts b/src/publishers/dlobPublisher.ts index 659299f..2be39bd 100644 --- a/src/publishers/dlobPublisher.ts +++ b/src/publishers/dlobPublisher.ts @@ -40,6 +40,8 @@ import { } from '../dlobProvider'; import FEATURE_FLAGS from '../utils/featureFlags'; import { GeyserOrderSubscriber } from '../grpc/OrderSubscriberGRPC'; +import express from 'express'; +import { handleHealthCheck } from '../core/metrics'; require('dotenv').config(); const stateCommitment: Commitment = 'confirmed'; @@ -49,6 +51,9 @@ const REDIS_HOST = process.env.REDIS_HOST || 'localhost'; const REDIS_PORT = process.env.REDIS_PORT || '6379'; const REDIS_PASSWORD = process.env.REDIS_PASSWORD; +// Set up express for health checks +const app = express(); + //@ts-ignore const sdkConfig = initialize({ env: process.env.ENV }); let driftClient: DriftClient; @@ -420,6 +425,31 @@ const main = async () => { recursiveFetch(); } + const handleStartup = async (_req, res, _next) => { + if (driftClient.isSubscribed && dlobProvider.size() > 0) { + res.writeHead(200); + res.end('OK'); + } else { + res.writeHead(500); + res.end('Not ready'); + } + }; + + app.get( + '/health', + handleHealthCheck(2 * WS_FALLBACK_FETCH_INTERVAL, dlobProvider) + ); + app.get('/startup', handleStartup); + app.get('/', handleHealthCheck(2 * WS_FALLBACK_FETCH_INTERVAL, dlobProvider)); + const server = app.listen(8080); + + // Default keepalive is 5s, since the AWS ALB timeout is 60 seconds, clients + // sometimes get 502s. + // https://shuheikagawa.com/blog/2019/04/25/keep-alive-timeout/ + // https://stackoverflow.com/a/68922692 + server.keepAliveTimeout = 61 * 1000; + server.headersTimeout = 65 * 1000; + console.log('DLOBSubscriber Publishing Messages'); }; From 7ab4676ab605fc1060f7de1308e28cd661940688 Mon Sep 17 00:00:00 2001 From: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 22:04:11 +0000 Subject: [PATCH 15/17] Bumping sdk dependency to 2.76.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 027b657..90365b5 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.76.0-beta.0", + "@drift-labs/sdk": "2.76.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 eab882b..3855683 100644 --- a/yarn.lock +++ b/yarn.lock @@ -115,10 +115,10 @@ enabled "2.0.x" kuler "^2.0.0" -"@drift-labs/sdk@2.76.0-beta.0": - version "2.76.0-beta.0" - resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.76.0-beta.0.tgz#5b03a89ad4baeb71f43e77faf3d0cd38363daf3c" - integrity sha512-eBZ+pi8WqFzJ6dI0TkNvd6Tt2h8Q31yxFqaGE4ge+Qygd7cUQylyBM/ManqUDhg/ZYZl585QgNcOnzCVG2r82w== +"@drift-labs/sdk@2.76.0-beta.1": + version "2.76.0-beta.1" + resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.76.0-beta.1.tgz#d483e0ce5938a9fd81532a0ff23a49fe939710f2" + integrity sha512-NAtfLcp6tbDaR5cXaPsYvqSqclfjFo3GrvupzMImbz2b0ilgeeToW+JwHRlLgcOZaj+9JG7ECi31kHaHmItf9w== dependencies: "@coral-xyz/anchor" "0.28.1-beta.2" "@ellipsis-labs/phoenix-sdk" "^1.4.2" From cc9d442212fcb0dea8ccf0f682709e6b26a6b045 Mon Sep 17 00:00:00 2001 From: Nour Alharithi Date: Tue, 2 Apr 2024 20:40:58 -0700 Subject: [PATCH 16/17] remove expresss rate limits --- package.json | 1 - yarn.lock | 5 ----- 2 files changed, 6 deletions(-) diff --git a/package.json b/package.json index 90365b5..4babc00 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "cors": "^2.8.5", "dotenv": "^10.0.0", "express": "^4.18.2", - "express-rate-limit": "^6.7.0", "ioredis": "^5.3.2", "morgan": "^1.10.0", "prom-client": "^15.0.0", diff --git a/yarn.lock b/yarn.lock index 3855683..decea40 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2521,11 +2521,6 @@ eventemitter3@^4.0.7: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -express-rate-limit@^6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-6.7.0.tgz#6aa8a1bd63dfe79702267b3af1161a93afc1d3c2" - integrity sha512-vhwIdRoqcYB/72TK3tRZI+0ttS8Ytrk24GfmsxDXK9o9IhHNO5bXRiXQSExPQ4GbaE5tvIS7j1SGrxsuWs+sGA== - express@^4.18.2: version "4.18.2" resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" From 845b7f9e0c98de17a0c332d563a2f7019c7b2b10 Mon Sep 17 00:00:00 2001 From: Nour Alharithi Date: Tue, 2 Apr 2024 20:49:52 -0700 Subject: [PATCH 17/17] update server lite --- src/serverLite.ts | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/src/serverLite.ts b/src/serverLite.ts index f607797..a2066fa 100644 --- a/src/serverLite.ts +++ b/src/serverLite.ts @@ -2,7 +2,6 @@ import { program } from 'commander'; import compression from 'compression'; import cors from 'cors'; import express from 'express'; -import rateLimit from 'express-rate-limit'; import morgan from 'morgan'; import { Commitment, Connection } from '@solana/web3.js'; @@ -65,13 +64,9 @@ const sdkConfig = initialize({ env: process.env.ENV }); const stateCommitment: Commitment = 'processed'; const serverPort = process.env.PORT || 6969; -const rateLimitCallsPerSecond = process.env.RATE_LIMIT_CALLS_PER_SECOND - ? parseInt(process.env.RATE_LIMIT_CALLS_PER_SECOND) - : 1; const SLOT_STALENESS_TOLERANCE = parseInt(process.env.SLOT_STALENESS_TOLERANCE) || 20; -const loadTestAllowed = process.env.ALLOW_LOAD_TEST?.toLowerCase() === 'true'; const logFormat = ':remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent" :req[x-forwarded-for]'; @@ -85,21 +80,6 @@ app.use(compression()); app.set('trust proxy', 1); app.use(logHttp); app.use(handleResponseTime); -app.use( - rateLimit({ - windowMs: 1000, // 1 second - max: rateLimitCallsPerSecond, - standardHeaders: true, // Return rate limit info in the `RateLimit-*` headers - legacyHeaders: false, // Disable the `X-RateLimit-*` headers - skip: (req, _res) => { - if (!loadTestAllowed) { - return false; - } - - return req.headers['user-agent'].includes('k6'); - }, - }) -); // Metrics defined here const bootTimeMs = Date.now();