Merge branch 'master' into staging

This commit is contained in:
wphan
2023-12-06 07:12:12 -08:00
5 changed files with 62 additions and 26 deletions

View File

@@ -5,7 +5,7 @@
"main": "lib/index.js", "main": "lib/index.js",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"@drift-labs/sdk": "2.49.0-beta.2", "@drift-labs/sdk": "2.49.0-beta.10",
"@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

@@ -260,11 +260,16 @@ const main = async () => {
getSlot: () => orderSubscriber.getSlot(), getSlot: () => orderSubscriber.getSlot(),
}; };
} else { } else {
const userMap = new UserMap( const userMap = new UserMap({
driftClient, driftClient,
driftClient.userAccountSubscriptionConfig, subscriptionConfig: {
false type: 'websocket',
); resubTimeoutMs: 30_000,
commitment: stateCommitment,
},
skipInitialLoad: false,
includeIdle: false,
});
dlobProvider = getDLOBProviderFromUserMap(userMap); dlobProvider = getDLOBProviderFromUserMap(userMap);
} }
@@ -289,11 +294,19 @@ const main = async () => {
const recursiveFetch = (delay = WS_FALLBACK_FETCH_INTERVAL) => { const recursiveFetch = (delay = WS_FALLBACK_FETCH_INTERVAL) => {
setTimeout(() => { setTimeout(() => {
const startFetch = Date.now(); const startFetch = Date.now();
dlobProvider.fetch().then(() => { dlobProvider
gpaFetchDurationHistogram.record(Date.now() - startFetch); .fetch()
// eslint-disable-next-line @typescript-eslint/no-unused-vars .then(() => {
recursiveFetch(); gpaFetchDurationHistogram.record(Date.now() - startFetch);
}); })
.catch((e) => {
logger.error('Failed to fetch GPA');
console.log(e);
})
.finally(() => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
recursiveFetch();
});
}, delay); }, delay);
}; };
recursiveFetch(); recursiveFetch();

View File

@@ -30,6 +30,7 @@ import {
getDLOBProviderFromOrderSubscriber, getDLOBProviderFromOrderSubscriber,
getDLOBProviderFromUserMap, getDLOBProviderFromUserMap,
} from '../dlobProvider'; } from '../dlobProvider';
import FEATURE_FLAGS from '../utils/featureFlags';
require('dotenv').config(); require('dotenv').config();
const stateCommitment: Commitment = 'processed'; const stateCommitment: Commitment = 'processed';
@@ -206,11 +207,16 @@ const main = async () => {
getSlot: () => orderSubscriber.getSlot(), getSlot: () => orderSubscriber.getSlot(),
}; };
} else { } else {
const userMap = new UserMap( const userMap = new UserMap({
driftClient, driftClient,
driftClient.userAccountSubscriptionConfig, subscriptionConfig: {
false type: 'websocket',
); resubTimeoutMs: 30_000,
commitment: stateCommitment,
},
skipInitialLoad: false,
includeIdle: false,
});
dlobProvider = getDLOBProviderFromUserMap(userMap); dlobProvider = getDLOBProviderFromUserMap(userMap);
} }
@@ -229,10 +235,22 @@ const main = async () => {
spotMarketSubscribers: MARKET_SUBSCRIBERS, spotMarketSubscribers: MARKET_SUBSCRIBERS,
}); });
await dlobSubscriber.subscribe(); await dlobSubscriber.subscribe();
if (useWebsocket) { if (useWebsocket && !FEATURE_FLAGS.DISABLE_GPA_REFRESH) {
setInterval(async () => { const recursiveFetch = (delay = WS_FALLBACK_FETCH_INTERVAL) => {
await dlobProvider.fetch(); setTimeout(() => {
}, WS_FALLBACK_FETCH_INTERVAL); dlobProvider
.fetch()
.catch((e) => {
logger.error('Failed to fetch GPA');
console.log(e);
})
.finally(() => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
recursiveFetch();
});
}, delay);
};
recursiveFetch();
} }
console.log('DLOBSubscriber Publishing Messages'); console.log('DLOBSubscriber Publishing Messages');

View File

@@ -94,11 +94,16 @@ const main = async () => {
await slotSubscriber.subscribe(); await slotSubscriber.subscribe();
const userMap = new UserMap( const userMap = new UserMap({
driftClient, driftClient,
driftClient.userAccountSubscriptionConfig, subscriptionConfig: {
false type: 'websocket',
); resubTimeoutMs: 30_000,
commitment: stateCommitment,
},
skipInitialLoad: false,
includeIdle: false,
});
await userMap.subscribe(); await userMap.subscribe();
const redisClient = new RedisClient(REDIS_HOST, REDIS_PORT, REDIS_PASSWORD); const redisClient = new RedisClient(REDIS_HOST, REDIS_PORT, REDIS_PASSWORD);

View File

@@ -87,10 +87,10 @@
enabled "2.0.x" enabled "2.0.x"
kuler "^2.0.0" kuler "^2.0.0"
"@drift-labs/sdk@2.49.0-beta.2": "@drift-labs/sdk@2.49.0-beta.10":
version "2.49.0-beta.2" version "2.49.0-beta.10"
resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.49.0-beta.2.tgz#aa5182789699dd70e53890989c4f73be9accb8cc" resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.49.0-beta.10.tgz#0d2021daf10174c6d19a07a6e36e6271ea465ecf"
integrity sha512-Wszb3Q8DQghKJgcF3t2naR8SFhMldSJ1KkCL/knPo6OJbMS26Qo3VOJTDTPHPm6aBWOJjbPUxywgKP7IOLwneQ== integrity sha512-jSSqinLAajbqG2DxRGblKPrflp7w3/oqQ+di5YXVRRexsKs43XBkoApTtsoRy5KpNB3pkG3em88iwdk99a7hJg==
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"