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",
"license": "Apache-2.0",
"dependencies": {
"@drift-labs/sdk": "2.49.0-beta.2",
"@drift-labs/sdk": "2.49.0-beta.10",
"@opentelemetry/api": "^1.1.0",
"@opentelemetry/auto-instrumentations-node": "^0.31.1",
"@opentelemetry/exporter-prometheus": "^0.31.0",

View File

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

View File

@@ -30,6 +30,7 @@ import {
getDLOBProviderFromOrderSubscriber,
getDLOBProviderFromUserMap,
} from '../dlobProvider';
import FEATURE_FLAGS from '../utils/featureFlags';
require('dotenv').config();
const stateCommitment: Commitment = 'processed';
@@ -206,11 +207,16 @@ const main = async () => {
getSlot: () => orderSubscriber.getSlot(),
};
} else {
const userMap = new UserMap(
const userMap = new UserMap({
driftClient,
driftClient.userAccountSubscriptionConfig,
false
);
subscriptionConfig: {
type: 'websocket',
resubTimeoutMs: 30_000,
commitment: stateCommitment,
},
skipInitialLoad: false,
includeIdle: false,
});
dlobProvider = getDLOBProviderFromUserMap(userMap);
}
@@ -229,10 +235,22 @@ const main = async () => {
spotMarketSubscribers: MARKET_SUBSCRIBERS,
});
await dlobSubscriber.subscribe();
if (useWebsocket) {
setInterval(async () => {
await dlobProvider.fetch();
}, WS_FALLBACK_FETCH_INTERVAL);
if (useWebsocket && !FEATURE_FLAGS.DISABLE_GPA_REFRESH) {
const recursiveFetch = (delay = WS_FALLBACK_FETCH_INTERVAL) => {
setTimeout(() => {
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');

View File

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

View File

@@ -87,10 +87,10 @@
enabled "2.0.x"
kuler "^2.0.0"
"@drift-labs/sdk@2.49.0-beta.2":
version "2.49.0-beta.2"
resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.49.0-beta.2.tgz#aa5182789699dd70e53890989c4f73be9accb8cc"
integrity sha512-Wszb3Q8DQghKJgcF3t2naR8SFhMldSJ1KkCL/knPo6OJbMS26Qo3VOJTDTPHPm6aBWOJjbPUxywgKP7IOLwneQ==
"@drift-labs/sdk@2.49.0-beta.10":
version "2.49.0-beta.10"
resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.49.0-beta.10.tgz#0d2021daf10174c6d19a07a6e36e6271ea465ecf"
integrity sha512-jSSqinLAajbqG2DxRGblKPrflp7w3/oqQ+di5YXVRRexsKs43XBkoApTtsoRy5KpNB3pkG3em88iwdk99a7hJg==
dependencies:
"@coral-xyz/anchor" "0.28.1-beta.2"
"@ellipsis-labs/phoenix-sdk" "^1.4.2"