separate grpc endpoint

This commit is contained in:
wphan
2025-01-31 11:22:53 -08:00
parent 10a9ad95fa
commit b6c11a15fe

View File

@@ -93,17 +93,19 @@ let driftClient: DriftClient;
const opts = program.opts(); const opts = program.opts();
setLogLevel(opts.debug ? 'debug' : 'info'); setLogLevel(opts.debug ? 'debug' : 'info');
const useGrpc = process.env.USE_GRPC?.toLowerCase() === 'true';
const useWebsocket = process.env.USE_WEBSOCKET?.toLowerCase() === 'true';
const token = process.env.TOKEN; const token = process.env.TOKEN;
const endpoint = token const endpoint = process.env.ENDPOINT;
? process.env.ENDPOINT + `/${token}` const grpcEndpoint = useGrpc
: process.env.ENDPOINT; ? process.env.GRPC_ENDPOINT ?? endpoint + `/${token}`
: '';
const wsEndpoint = process.env.WS_ENDPOINT; const wsEndpoint = process.env.WS_ENDPOINT;
const useOrderSubscriber = const useOrderSubscriber =
process.env.USE_ORDER_SUBSCRIBER?.toLowerCase() === 'true'; process.env.USE_ORDER_SUBSCRIBER?.toLowerCase() === 'true';
const useGrpc = process.env.USE_GRPC?.toLowerCase() === 'true';
const useWebsocket = process.env.USE_WEBSOCKET?.toLowerCase() === 'true';
const ORDERBOOK_UPDATE_INTERVAL = const ORDERBOOK_UPDATE_INTERVAL =
parseInt(process.env.ORDERBOOK_UPDATE_INTERVAL) || 1000; parseInt(process.env.ORDERBOOK_UPDATE_INTERVAL) || 1000;
const WS_FALLBACK_FETCH_INTERVAL = 60_000; const WS_FALLBACK_FETCH_INTERVAL = 60_000;
@@ -123,9 +125,10 @@ const SPOT_MARKETS_TO_LOAD =
? parsePositiveIntArray(process.env.SPOT_MARKETS_TO_LOAD) ? parsePositiveIntArray(process.env.SPOT_MARKETS_TO_LOAD)
: undefined; : undefined;
logger.info(`RPC endpoint: ${endpoint}`); logger.info(`RPC endpoint: ${endpoint}`);
logger.info(`WS endpoint: ${wsEndpoint}`); logger.info(`WS endpoint: ${wsEndpoint}`);
logger.info(`Token: ${token}`); logger.info(`GRPC endpoint: ${grpcEndpoint}`);
logger.info(`GRPC Token: ${token}`);
logger.info( logger.info(
`useOrderSubscriber: ${useOrderSubscriber}, useWebsocket: ${useWebsocket}, useGrpc: ${useGrpc}` `useOrderSubscriber: ${useOrderSubscriber}, useWebsocket: ${useWebsocket}, useGrpc: ${useGrpc}`
); );
@@ -437,8 +440,10 @@ const main = async () => {
if (!token) { if (!token) {
throw new Error('TOKEN is required for grpc'); throw new Error('TOKEN is required for grpc');
} }
if (!endpoint) { if (!grpcEndpoint) {
throw new Error('ENDPOINT is required for grpc'); throw new Error(
'GRPC_ENDPOINT is required for grpc (or ENDPOINT and TOKEN)'
);
} }
if (useWebsocket) { if (useWebsocket) {
logger.warn('USE_GRPC overriding USE_WEBSOCKET'); logger.warn('USE_GRPC overriding USE_WEBSOCKET');
@@ -446,7 +451,7 @@ const main = async () => {
subscriptionConfig = { subscriptionConfig = {
type: 'grpc', type: 'grpc',
grpcConfigs: { grpcConfigs: {
endpoint: endpoint, endpoint: grpcEndpoint,
token: token, token: token,
commitmentLevel: stateCommitment, commitmentLevel: stateCommitment,
channelOptions: { channelOptions: {