updates to package.json and publisher
This commit is contained in:
@@ -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.48.0-beta.11",
|
"@drift-labs/sdk": "2.48.0-beta.13",
|
||||||
"@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",
|
||||||
|
|||||||
@@ -276,6 +276,7 @@ const main = async () => {
|
|||||||
const initUserMapStart = Date.now();
|
const initUserMapStart = Date.now();
|
||||||
await dlobProvider.subscribe();
|
await dlobProvider.subscribe();
|
||||||
logger.info(`dlob provider initialized in ${Date.now() - initUserMapStart} ms`);
|
logger.info(`dlob provider initialized in ${Date.now() - initUserMapStart} ms`);
|
||||||
|
logger.info(`dlob provider size ${dlobProvider.size()}`);
|
||||||
|
|
||||||
const initUserStatsMapStarts = Date.now();
|
const initUserStatsMapStarts = Date.now();
|
||||||
await userStatsMap.sync(dlobProvider.getUniqueAuthorities());
|
await userStatsMap.sync(dlobProvider.getUniqueAuthorities());
|
||||||
|
|||||||
@@ -9,13 +9,14 @@ import {
|
|||||||
SlotSubscriber,
|
SlotSubscriber,
|
||||||
UserMap,
|
UserMap,
|
||||||
Wallet,
|
Wallet,
|
||||||
BulkAccountLoader,
|
BulkAccountLoader, OrderSubscriber, SlotSource,
|
||||||
} from '@drift-labs/sdk';
|
} from '@drift-labs/sdk';
|
||||||
|
|
||||||
import { logger, setLogLevel } from '../utils/logger';
|
import { logger, setLogLevel } from '../utils/logger';
|
||||||
import { sleep } from '../utils/utils';
|
import { sleep } from '../utils/utils';
|
||||||
import { DLOBSubscriberIO } from '../dlob-subscriber/DLOBSubscriberIO';
|
import { DLOBSubscriberIO } from '../dlob-subscriber/DLOBSubscriberIO';
|
||||||
import { RedisClient } from '../utils/redisClient';
|
import { RedisClient } from '../utils/redisClient';
|
||||||
|
import {DLOBProvider, getDLOBProviderFromOrderSubscriber, getDLOBProviderFromUserMap} from "../dlobProvider";
|
||||||
|
|
||||||
require('dotenv').config();
|
require('dotenv').config();
|
||||||
const driftEnv = (process.env.ENV || 'devnet') as DriftEnv;
|
const driftEnv = (process.env.ENV || 'devnet') as DriftEnv;
|
||||||
@@ -37,6 +38,8 @@ setLogLevel(opts.debug ? 'debug' : 'info');
|
|||||||
|
|
||||||
const endpoint = process.env.ENDPOINT;
|
const endpoint = process.env.ENDPOINT;
|
||||||
const wsEndpoint = process.env.WS_ENDPOINT;
|
const wsEndpoint = process.env.WS_ENDPOINT;
|
||||||
|
const useOrderSubscriber = process.env.USE_ORDER_SUBSCRIBER?.toLowerCase() === 'true';
|
||||||
|
|
||||||
logger.info(`RPC endpoint: ${endpoint}`);
|
logger.info(`RPC endpoint: ${endpoint}`);
|
||||||
logger.info(`WS endpoint: ${wsEndpoint}`);
|
logger.info(`WS endpoint: ${wsEndpoint}`);
|
||||||
logger.info(`DriftEnv: ${driftEnv}`);
|
logger.info(`DriftEnv: ${driftEnv}`);
|
||||||
@@ -68,8 +71,6 @@ const main = async () => {
|
|||||||
env: driftEnv,
|
env: driftEnv,
|
||||||
});
|
});
|
||||||
|
|
||||||
const slotSubscriber = new SlotSubscriber(connection, {});
|
|
||||||
|
|
||||||
const lamportsBalance = await connection.getBalance(wallet.publicKey);
|
const lamportsBalance = await connection.getBalance(wallet.publicKey);
|
||||||
logger.info(
|
logger.info(
|
||||||
`DriftClient ProgramId: ${driftClient.program.programId.toBase58()}`
|
`DriftClient ProgramId: ${driftClient.program.programId.toBase58()}`
|
||||||
@@ -83,22 +84,45 @@ const main = async () => {
|
|||||||
logger.error(e);
|
logger.error(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
await slotSubscriber.subscribe();
|
let slotSource: SlotSource;
|
||||||
|
let dlobProvider : DLOBProvider;
|
||||||
|
if (useOrderSubscriber) {
|
||||||
|
const orderSubscriber = new OrderSubscriber({
|
||||||
|
driftClient,
|
||||||
|
subscriptionConfig: {
|
||||||
|
type: "polling",
|
||||||
|
frequency: ORDERBOOK_UPDATE_INTERVAL
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
const userMap = new UserMap(
|
dlobProvider = getDLOBProviderFromOrderSubscriber(orderSubscriber);
|
||||||
driftClient,
|
|
||||||
driftClient.userAccountSubscriptionConfig,
|
slotSource = {
|
||||||
false
|
getSlot: () => orderSubscriber.getSlot(),
|
||||||
);
|
};
|
||||||
await userMap.subscribe();
|
} else {
|
||||||
|
const userMap = new UserMap(
|
||||||
|
driftClient,
|
||||||
|
driftClient.userAccountSubscriptionConfig,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
|
dlobProvider = getDLOBProviderFromUserMap(userMap);
|
||||||
|
|
||||||
|
slotSource = {
|
||||||
|
getSlot: () => bulkAccountLoader.getSlot(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
await dlobProvider.subscribe();
|
||||||
|
|
||||||
const redisClient = new RedisClient(REDIS_HOST, REDIS_PORT, REDIS_PASSWORD);
|
const redisClient = new RedisClient(REDIS_HOST, REDIS_PORT, REDIS_PASSWORD);
|
||||||
await redisClient.connect();
|
await redisClient.connect();
|
||||||
|
|
||||||
const dlobSubscriber = new DLOBSubscriberIO({
|
const dlobSubscriber = new DLOBSubscriberIO({
|
||||||
driftClient,
|
driftClient,
|
||||||
dlobSource: userMap,
|
dlobSource: dlobProvider,
|
||||||
slotSource: slotSubscriber,
|
slotSource,
|
||||||
updateFrequency: ORDERBOOK_UPDATE_INTERVAL,
|
updateFrequency: ORDERBOOK_UPDATE_INTERVAL,
|
||||||
redisClient,
|
redisClient,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -80,10 +80,10 @@
|
|||||||
enabled "2.0.x"
|
enabled "2.0.x"
|
||||||
kuler "^2.0.0"
|
kuler "^2.0.0"
|
||||||
|
|
||||||
"@drift-labs/sdk@2.48.0-beta.11":
|
"@drift-labs/sdk@2.48.0-beta.13":
|
||||||
version "2.48.0-beta.11"
|
version "2.48.0-beta.13"
|
||||||
resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.11.tgz#cd2f7b908754d49f62964ab894d3ab6c248dee3f"
|
resolved "https://registry.yarnpkg.com/@drift-labs/sdk/-/sdk-2.48.0-beta.13.tgz#0ad1cfd4daac97e1859fe617a749a2676e462b63"
|
||||||
integrity sha512-lhBlBUmKT3w9EMTDIBcEUdRgqZ6OHLfqPukxW4gVoa6eFqIpcaTk/DGTj3HCli6C684YwVHJfCQx4kXfffv6Sw==
|
integrity sha512-ogtY38Db44PVZOr8WwNHijnwVMBLFvIYNxmlE9BPehdEgIQ9PYT9QXalanhQ1Ruc/Cs5DbMIT3XvjtLyfFzEUg==
|
||||||
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"
|
||||||
|
|||||||
Reference in New Issue
Block a user