bybit-api 4.5.3 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,4 @@
1
+ import { AxiosRequestConfig } from 'axios';
1
2
  import type { ClientRequestArgs } from 'http';
2
3
  import WebSocket from 'isomorphic-ws';
3
4
  import { RestClientOptions, WS_KEY_MAP } from '../../util';
@@ -51,7 +52,7 @@ export interface WSClientConfigurableOptions {
51
52
  /** Delay in milliseconds before respawning the connection */
52
53
  reconnectTimeout?: number;
53
54
  restOptions?: RestClientOptions;
54
- requestOptions?: any;
55
+ requestOptions?: AxiosRequestConfig;
55
56
  wsOptions?: {
56
57
  protocols?: string[];
57
58
  agent?: any;
@@ -82,6 +83,16 @@ export interface WebsocketClientOptions extends WSClientConfigurableOptions {
82
83
  pingInterval: number;
83
84
  reconnectTimeout: number;
84
85
  recvWindow: number;
86
+ /**
87
+ * If true, require a "receipt" that the connection is ready for use (e.g. a specific event type)
88
+ */
89
+ requireConnectionReadyConfirmation: boolean;
85
90
  authPrivateConnectionsOnConnect: boolean;
86
91
  authPrivateRequests: boolean;
92
+ reauthWSAPIOnReconnect: boolean;
93
+ /**
94
+ * Whether to use native WebSocket ping/pong frames for heartbeats
95
+ */
96
+ useNativeHeartbeats: boolean;
87
97
  }
98
+ export type WsEventInternalSrc = 'event' | 'function' | 'frame';
@@ -1,6 +1,6 @@
1
1
  import EventEmitter from 'events';
2
2
  import WebSocket from 'isomorphic-ws';
3
- import { MessageEventLike, WebsocketClientOptions, WSClientConfigurableOptions, WsMarket } from '../types';
3
+ import { MessageEventLike, WebsocketClientOptions, WSClientConfigurableOptions, WsMarket, WsTopic } from '../types';
4
4
  import { WsOperation } from '../types/websockets/ws-api';
5
5
  import { DefaultLogger } from './logger';
6
6
  import { WSConnectedResult, WsTopicRequest, WsTopicRequestOrStringTopic } from './websockets';
@@ -11,6 +11,8 @@ interface WSClientEventMap<WsKey extends string> {
11
11
  open: (evt: {
12
12
  wsKey: WsKey;
13
13
  event: any;
14
+ wsUrl: string;
15
+ ws: WebSocket;
14
16
  }) => void;
15
17
  /** Reconnecting a dropped connection */
16
18
  reconnect: (evt: {
@@ -21,6 +23,8 @@ interface WSClientEventMap<WsKey extends string> {
21
23
  reconnected: (evt: {
22
24
  wsKey: WsKey;
23
25
  event: any;
26
+ wsUrl: string;
27
+ ws: WebSocket;
24
28
  }) => void;
25
29
  /** Connection closed */
26
30
  close: (evt: {
@@ -55,15 +59,18 @@ interface WSClientEventMap<WsKey extends string> {
55
59
  isWSAPIResponse?: boolean;
56
60
  }) => void;
57
61
  }
62
+ /**
63
+ * Internally normalised structure for incoming WS events sorted into eventType categories
64
+ */
65
+ export interface EmittableEvent<TEventType extends keyof WSClientEventMap<string> = keyof WSClientEventMap<string>> {
66
+ eventType: TEventType | 'pong' | 'connectionReady' | 'connectionReadyForAuth';
67
+ event: Parameters<WSClientEventMap<string>[TEventType]>[0];
68
+ isWSAPIResponse?: boolean;
69
+ }
58
70
  export interface BaseWebsocketClient<TWSKey extends string, TWSRequestEvent extends object> {
59
71
  on<U extends keyof WSClientEventMap<TWSKey>>(event: U, listener: WSClientEventMap<TWSKey>[U]): this;
60
72
  emit<U extends keyof WSClientEventMap<TWSKey>>(event: U, ...args: Parameters<WSClientEventMap<TWSKey>[U]>): boolean;
61
73
  }
62
- export interface EmittableEvent<TEvent = any> {
63
- eventType: 'response' | 'update' | 'exception' | 'authenticated';
64
- event: TEvent;
65
- isWSAPIResponse?: boolean;
66
- }
67
74
  /**
68
75
  * A midflight WS request event (e.g. subscribe to these topics).
69
76
  *
@@ -86,33 +93,39 @@ TWSKey extends string, TWSRequestEvent extends object> extends EventEmitter {
86
93
  * State store to track a list of topics (topic requests) we are expected to be subscribed to if reconnected
87
94
  */
88
95
  private wsStore;
89
- logger: typeof DefaultLogger;
96
+ logger: DefaultLogger;
90
97
  protected options: WebsocketClientOptions;
91
98
  private wsApiRequestId;
92
99
  private timeOffsetMs;
100
+ private WS_LOGGER_CATEGORY;
93
101
  /**
94
102
  * A nested wsKey->request key store.
95
103
  * pendingTopicSubscriptionRequests[wsKey][requestKey] = WsKeyPendingTopicSubscriptions<TWSRequestEvent>
96
104
  */
97
105
  private pendingTopicSubscriptionRequests;
98
- constructor(options?: WSClientConfigurableOptions, logger?: typeof DefaultLogger);
106
+ constructor(options?: WSClientConfigurableOptions & {
107
+ wsLoggerCategory: string;
108
+ }, logger?: DefaultLogger);
99
109
  /**
100
110
  * Return true if this wsKey connection should automatically authenticate immediately after connecting
101
111
  */
102
112
  protected abstract isAuthOnConnectWsKey(wsKey: TWSKey): boolean;
113
+ protected abstract isCustomReconnectionNeeded(wsKey: TWSKey): boolean;
114
+ protected abstract triggerCustomReconnectionWorkflow(wsKey: TWSKey): Promise<void>;
103
115
  protected abstract sendPingEvent(wsKey: TWSKey, ws: WebSocket): void;
104
116
  protected abstract sendPongEvent(wsKey: TWSKey, ws: WebSocket): void;
105
117
  protected abstract isWsPing(data: any): boolean;
106
118
  protected abstract isWsPong(data: any): boolean;
107
- protected abstract getWsAuthRequestEvent(wsKey: TWSKey): Promise<object>;
108
- protected abstract isPrivateTopicRequest(request: WsTopicRequest<string>, wsKey: TWSKey): boolean;
119
+ protected abstract authPrivateConnectionsOnConnect(_wsKey: TWSKey): boolean;
120
+ protected abstract getWsAuthRequestEvent(wsKey: TWSKey, eventToAuth?: object): Promise<object | string | 'waitForEvent' | void>;
121
+ protected abstract isPrivateTopicRequest(request: WsTopicRequest<WsTopic>, wsKey: TWSKey): boolean;
109
122
  protected abstract getPrivateWSKeys(): TWSKey[];
110
123
  protected abstract getWsUrl(wsKey: TWSKey): Promise<string>;
111
124
  protected abstract getMaxTopicsPerSubscribeEvent(wsKey: TWSKey): number | null;
112
125
  /**
113
126
  * @returns one or more correctly structured request events for performing a operations over WS. This can vary per exchange spec.
114
127
  */
115
- protected abstract getWsRequestEvents(market: WsMarket, operation: WsOperation, requests: WsTopicRequest<string>[], wsKey: TWSKey): Promise<MidflightWsRequestEvent<TWSRequestEvent>[]>;
128
+ protected abstract getWsRequestEvents(market: WsMarket, operation: WsOperation, requests: WsTopicRequest<WsTopic>[], wsKey: TWSKey): Promise<MidflightWsRequestEvent<TWSRequestEvent>[]>;
116
129
  /**
117
130
  * Abstraction called to sort ws events into emittable event types (response to a request, data update, etc)
118
131
  */
@@ -158,7 +171,7 @@ TWSKey extends string, TWSRequestEvent extends object> extends EventEmitter {
158
171
  */
159
172
  private sortTopicRequestsIntoPublicPrivate;
160
173
  /** Get the WsStore that tracks websockets & topics */
161
- getWsStore(): WsStore<TWSKey, WsTopicRequest<string>>;
174
+ getWsStore(): WsStore<TWSKey, WsTopicRequest<WsTopic>>;
162
175
  close(wsKey: TWSKey, force?: boolean): void;
163
176
  closeAll(force?: boolean): void;
164
177
  isConnected(wsKey: TWSKey): boolean;
@@ -189,7 +202,7 @@ TWSKey extends string, TWSRequestEvent extends object> extends EventEmitter {
189
202
  *
190
203
  * Events are automatically split into smaller batches, by this method, if needed.
191
204
  */
192
- protected getWsOperationEventsForTopics(topics: WsTopicRequest<string>[], wsKey: TWSKey, operation: WsOperation): Promise<MidflightWsRequestEvent<TWSRequestEvent>[]>;
205
+ protected getWsOperationEventsForTopics(topics: WsTopicRequest<WsTopic>[], wsKey: TWSKey, operation: WsOperation): Promise<MidflightWsRequestEvent<TWSRequestEvent>[]>;
193
206
  /**
194
207
  * Simply builds and sends subscribe events for a list of topics for a ws key
195
208
  *
@@ -207,12 +220,23 @@ TWSKey extends string, TWSRequestEvent extends object> extends EventEmitter {
207
220
  */
208
221
  tryWsSend(wsKey: TWSKey, wsMessage: string, throwExceptions?: boolean): void;
209
222
  private onWsOpen;
223
+ private resolveConnectionInProgressPromise;
224
+ /**
225
+ * Called automatically once a connection is ready.
226
+ * - Some exchanges are ready immediately after the connections open.
227
+ * - Some exchanges send an event to confirm the connection is ready for us.
228
+ *
229
+ * This method is called to act when the connection is ready. Use `requireConnectionReadyConfirmation` to control how this is called.
230
+ */
231
+ private onWsReadyForEvents;
210
232
  /**
211
233
  * Handle subscription to private topics _after_ authentication successfully completes asynchronously.
212
234
  *
213
235
  * Only used for exchanges that require auth before sending private topic subscription requests
214
236
  */
215
237
  private onWsAuthenticated;
238
+ private onWsPing;
239
+ private onWsPong;
216
240
  private onWsMessage;
217
241
  private onWsClose;
218
242
  private getWs;
@@ -33,6 +33,31 @@ const logger_1 = require("./logger");
33
33
  const webCryptoAPI_1 = require("./webCryptoAPI");
34
34
  const websockets_1 = require("./websockets");
35
35
  const WsStore_1 = require("./websockets/WsStore");
36
+ /**
37
+ * Appends wsKey and isWSAPIResponse to all events.
38
+ * Some events are arrays, this handles that nested scenario too.
39
+ */
40
+ function getFinalEmittable(emittable, wsKey, isWSAPIResponse) {
41
+ if (Array.isArray(emittable)) {
42
+ return emittable.map((subEvent) => getFinalEmittable(subEvent, wsKey, isWSAPIResponse));
43
+ }
44
+ if (Array.isArray(emittable.event)) {
45
+ // Some topics just emit an array.
46
+ // This is consistent with how it was before the WS API upgrade:
47
+ return emittable.event.map((subEvent) => getFinalEmittable(subEvent, wsKey, isWSAPIResponse));
48
+ // const { event, ...others } = emittable;
49
+ // return {
50
+ // ...others,
51
+ // event: event.map((subEvent) =>
52
+ // getFinalEmittable(subEvent, wsKey, isWSAPIResponse),
53
+ // ),
54
+ // };
55
+ }
56
+ if (emittable.event) {
57
+ return Object.assign(Object.assign({}, emittable.event), { wsKey: wsKey, isWSAPIResponse: !!isWSAPIResponse });
58
+ }
59
+ return Object.assign(Object.assign({}, emittable), { wsKey: wsKey, isWSAPIResponse: !!isWSAPIResponse });
60
+ }
36
61
  /**
37
62
  * Base WebSocket abstraction layer. Handles connections, tracking each connection as a unique "WS Key"
38
63
  */
@@ -48,6 +73,9 @@ class BaseWebsocketClient extends events_1.default {
48
73
  */
49
74
  this.pendingTopicSubscriptionRequests = {};
50
75
  this.logger = logger || logger_1.DefaultLogger;
76
+ this.WS_LOGGER_CATEGORY = {
77
+ category: (options === null || options === void 0 ? void 0 : options.wsLoggerCategory) || 'WsClient',
78
+ };
51
79
  this.wsStore = new WsStore_1.WsStore(this.logger);
52
80
  this.options = Object.assign({
53
81
  // Some defaults:
@@ -57,11 +85,19 @@ class BaseWebsocketClient extends events_1.default {
57
85
  // Calls to subscribeV5() are wrapped in a promise, allowing you to await a subscription request.
58
86
  // Note: due to internal complexity, it's only recommended if you connect before subscribing.
59
87
  promiseSubscribeRequests: false,
88
+ // Requires a confirmation "response" from the ws connection before assuming it is ready
89
+ requireConnectionReadyConfirmation: false,
60
90
  // Automatically send an authentication op/request after a connection opens, for private connections.
61
91
  authPrivateConnectionsOnConnect: true,
62
- // Individual requests do not require a signature, so this is disabled.
63
- authPrivateRequests: false }, options);
64
- // Check Web Crypto API support when credentials are provided and no custom sign function is used
92
+ // Automatically include auth/sign/token with every WS request.
93
+ // Automatically handled during getWsRequestEvents.
94
+ authPrivateRequests: false,
95
+ // Automatically re-auth WS API, if we were auth'd before and get reconnected
96
+ reauthWSAPIOnReconnect: true,
97
+ // Whether to use native heartbeats (depends on the exchange)
98
+ useNativeHeartbeats: false }, options);
99
+ // Check Web Crypto API support
100
+ // when credentials are provided and no custom sign function is used
65
101
  if (this.options.key &&
66
102
  this.options.secret &&
67
103
  !this.options.customSignMessageFn) {
@@ -179,7 +215,7 @@ class BaseWebsocketClient extends events_1.default {
179
215
  /**
180
216
  * Are we in the process of connection? Nothing to send yet.
181
217
  */
182
- this.logger.trace('WS not connected - requests queued for retry once connected.', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey,
218
+ this.logger.trace('WS not connected - requests queued for retry once connected.', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey,
183
219
  wsTopicRequests }));
184
220
  return isConnectionInProgress;
185
221
  }
@@ -192,6 +228,7 @@ class BaseWebsocketClient extends events_1.default {
192
228
  *
193
229
  * Auth should already automatically be in progress, so no action needed from here. Topics will automatically subscribe post-auth success.
194
230
  */
231
+ this.logger.trace('WS connected but not authenticated yet - awaiting auth before subscribing');
195
232
  return false;
196
233
  }
197
234
  // Finally, request subscription to topics if the connection is healthy and ready
@@ -250,7 +287,7 @@ class BaseWebsocketClient extends events_1.default {
250
287
  return this.wsStore;
251
288
  }
252
289
  close(wsKey, force) {
253
- this.logger.info('Closing connection', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey }));
290
+ this.logger.info('Closing connection', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey }));
254
291
  this.setWsState(wsKey, websockets_1.WsConnectionStateEnum.CLOSING);
255
292
  this.clearTimers(wsKey);
256
293
  const ws = this.getWs(wsKey);
@@ -277,11 +314,11 @@ class BaseWebsocketClient extends events_1.default {
277
314
  var _a, _b;
278
315
  try {
279
316
  if (this.wsStore.isWsOpen(wsKey)) {
280
- this.logger.error('Refused to connect to ws with existing active connection', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey }));
281
- return { wsKey };
317
+ this.logger.error('Refused to connect to ws with existing active connection', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey }));
318
+ return { wsKey, ws: this.wsStore.getWs(wsKey) };
282
319
  }
283
320
  if (this.wsStore.isConnectionState(wsKey, websockets_1.WsConnectionStateEnum.CONNECTING)) {
284
- this.logger.error('Refused to connect to ws, connection attempt already active', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey }));
321
+ this.logger.error('Refused to connect to ws, connection attempt already active', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey }));
285
322
  return (_a = this.wsStore.getConnectionInProgressPromise(wsKey)) === null || _a === void 0 ? void 0 : _a.promise;
286
323
  }
287
324
  if (!this.wsStore.getConnectionState(wsKey) ||
@@ -291,23 +328,34 @@ class BaseWebsocketClient extends events_1.default {
291
328
  if (!this.wsStore.getConnectionInProgressPromise(wsKey)) {
292
329
  this.wsStore.createConnectionInProgressPromise(wsKey, false);
293
330
  }
294
- const url = customUrl || (yield this.getWsUrl(wsKey));
295
- const ws = this.connectToWsUrl(url, wsKey);
296
- this.wsStore.setWs(wsKey, ws);
297
- return (_b = this.wsStore.getConnectionInProgressPromise(wsKey)) === null || _b === void 0 ? void 0 : _b.promise;
331
+ try {
332
+ const url = customUrl || (yield this.getWsUrl(wsKey));
333
+ const ws = this.connectToWsUrl(url, wsKey);
334
+ this.wsStore.setWs(wsKey, ws);
335
+ }
336
+ catch (e) {
337
+ this.logger.error('Exception fetching WS URL', e);
338
+ throw e;
339
+ }
298
340
  }
299
341
  catch (err) {
300
- this.parseWsError('Connection failed', err, wsKey);
301
- this.reconnectWithDelay(wsKey, this.options.reconnectTimeout);
342
+ const canRetry = this.parseWsError('Connection failed', err, wsKey);
343
+ if (canRetry) {
344
+ this.reconnectWithDelay(wsKey, this.options.reconnectTimeout);
345
+ }
346
+ else {
347
+ this.logger.info('Preventing retry due to error type to prevent deadlock');
348
+ }
302
349
  if (throwOnError) {
303
350
  throw err;
304
351
  }
305
352
  }
353
+ return (_b = this.wsStore.getConnectionInProgressPromise(wsKey)) === null || _b === void 0 ? void 0 : _b.promise;
306
354
  });
307
355
  }
308
356
  connectToWsUrl(url, wsKey) {
309
357
  var _a;
310
- this.logger.trace(`Opening WS connection to URL: ${url}`, Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey }));
358
+ this.logger.trace(`Opening WS connection to URL: ${url}`, Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey }));
311
359
  // Support both wsOptions (new) and requestOptions (legacy, for backwards compatibility)
312
360
  const wsOptionsConfig = this.options.wsOptions || {};
313
361
  const legacyAgent = (_a = this.options.requestOptions) === null || _a === void 0 ? void 0 : _a.agent;
@@ -316,56 +364,81 @@ class BaseWebsocketClient extends events_1.default {
316
364
  const finalWsOptions = !wsOptions.agent && legacyAgent
317
365
  ? Object.assign(Object.assign({}, wsOptions), { agent: legacyAgent }) : wsOptions;
318
366
  const ws = new isomorphic_ws_1.default(url, protocols, finalWsOptions);
319
- ws.onopen = (event) => this.onWsOpen(event, wsKey);
367
+ ws.onopen = (event) => this.onWsOpen(event, wsKey, url, ws);
320
368
  ws.onmessage = (event) => this.onWsMessage(event, wsKey, ws);
321
369
  ws.onerror = (event) => this.parseWsError('Websocket onWsError', event, wsKey);
322
370
  ws.onclose = (event) => this.onWsClose(event, wsKey);
323
371
  ws.wsKey = wsKey;
372
+ if (this.options.useNativeHeartbeats) {
373
+ if (typeof ws.on === 'function') {
374
+ ws.on('ping', (event) => this.onWsPing(event, wsKey, ws, 'frame'));
375
+ ws.on('pong', (event) => this.onWsPong(event, wsKey, 'frame'));
376
+ }
377
+ }
324
378
  return ws;
325
379
  }
326
380
  parseWsError(context, error, wsKey) {
381
+ if (this.wsStore.isConnectionAttemptInProgress(wsKey)) {
382
+ this.setWsState(wsKey, websockets_1.WsConnectionStateEnum.ERROR);
383
+ }
384
+ // Allow retry by default (in some places that call this). Prevent deadloop in hard failure (401)
385
+ let canRetry = true;
327
386
  if (!error.message) {
328
387
  this.logger.error(`${context} due to unexpected error: `, error);
329
388
  this.emit('response', Object.assign(Object.assign({}, error), { wsKey }));
330
389
  this.emit('exception', Object.assign(Object.assign({}, error), { wsKey }));
331
- return;
390
+ return canRetry;
332
391
  }
333
392
  switch (error.message) {
334
393
  case 'Unexpected server response: 401':
335
- this.logger.error(`${context} due to 401 authorization failure.`, Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey }));
394
+ this.logger.error(`${context} due to 401 authorization failure.`, Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey }));
395
+ canRetry = false;
336
396
  break;
337
397
  default:
338
398
  if (this.wsStore.getConnectionState(wsKey) !==
339
399
  websockets_1.WsConnectionStateEnum.CLOSING) {
340
- this.logger.error(`${context} due to unexpected response error: "${(error === null || error === void 0 ? void 0 : error.msg) || (error === null || error === void 0 ? void 0 : error.message) || error}"`, Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey, error }));
400
+ this.logger.error(`${context} due to unexpected response error: "${(error === null || error === void 0 ? void 0 : error.msg) || (error === null || error === void 0 ? void 0 : error.message) || error}"`, Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey, error }));
341
401
  this.executeReconnectableClose(wsKey, 'unhandled onWsError');
342
402
  }
343
403
  else {
344
404
  this.logger.info(`${wsKey} socket forcefully closed. Will not reconnect.`);
345
405
  }
406
+ canRetry = true;
346
407
  break;
347
408
  }
348
409
  this.logger.error(`parseWsError(${context}, ${error}, ${wsKey}) `, error);
349
410
  this.emit('response', Object.assign(Object.assign({}, error), { wsKey }));
350
411
  this.emit('exception', Object.assign(Object.assign({}, error), { wsKey }));
412
+ return canRetry;
351
413
  }
352
414
  /** Get a signature, build the auth request and send it */
353
- sendAuthRequest(wsKey) {
415
+ sendAuthRequest(wsKey, eventToAuth) {
354
416
  return __awaiter(this, void 0, void 0, function* () {
355
- var _a;
417
+ var _a, _b;
356
418
  try {
357
- this.logger.trace('Sending auth request...', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey }));
419
+ this.logger.trace('Sending auth request...', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey,
420
+ eventToAuth }));
358
421
  yield this.assertIsConnected(wsKey);
422
+ // If not required, this won't return anything
423
+ const request = yield this.getWsAuthRequestEvent(wsKey, eventToAuth);
424
+ if (!request) {
425
+ // Short-circuit this for the next time it's called
426
+ const wsState = this.wsStore.get(wsKey, true);
427
+ wsState.isAuthenticated = true;
428
+ return;
429
+ }
359
430
  if (!this.wsStore.getAuthenticationInProgressPromise(wsKey)) {
360
431
  this.wsStore.createAuthenticationInProgressPromise(wsKey, false);
361
432
  }
362
- const request = yield this.getWsAuthRequestEvent(wsKey);
433
+ if (request === 'waitForEvent') {
434
+ return (_a = this.wsStore.getAuthenticationInProgressPromise(wsKey)) === null || _a === void 0 ? void 0 : _a.promise;
435
+ }
363
436
  // console.log('ws auth req', request);
364
- this.tryWsSend(wsKey, JSON.stringify(request));
365
- return (_a = this.wsStore.getAuthenticationInProgressPromise(wsKey)) === null || _a === void 0 ? void 0 : _a.promise;
437
+ this.tryWsSend(wsKey, typeof request === 'string' ? request : JSON.stringify(request));
438
+ return (_b = this.wsStore.getAuthenticationInProgressPromise(wsKey)) === null || _b === void 0 ? void 0 : _b.promise;
366
439
  }
367
440
  catch (e) {
368
- this.logger.trace(e, Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey }));
441
+ this.logger.trace(e, Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey }));
369
442
  }
370
443
  });
371
444
  }
@@ -375,14 +448,20 @@ class BaseWebsocketClient extends events_1.default {
375
448
  if (!this.wsStore.isConnectionAttemptInProgress(wsKey)) {
376
449
  this.setWsState(wsKey, websockets_1.WsConnectionStateEnum.RECONNECTING);
377
450
  }
378
- this.logger.info('Reconnecting to websocket with delay...', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey,
451
+ this.logger.info('Reconnecting to websocket with delay...', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey,
379
452
  connectionDelayMs }));
380
453
  if ((_a = this.wsStore.get(wsKey)) === null || _a === void 0 ? void 0 : _a.activeReconnectTimer) {
381
454
  this.clearReconnectTimer(wsKey);
382
455
  }
383
456
  this.wsStore.get(wsKey, true).activeReconnectTimer = setTimeout(() => {
384
- this.logger.info('Reconnecting to websocket now', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey }));
385
457
  this.clearReconnectTimer(wsKey);
458
+ // Some streams need a specialist reconnection workflow.
459
+ // E.g. the user data stream can't just be reconnected as is.
460
+ if (this.isCustomReconnectionNeeded(wsKey)) {
461
+ this.wsStore.delete(wsKey);
462
+ return this.triggerCustomReconnectionWorkflow(wsKey);
463
+ }
464
+ this.logger.info('Reconnecting to websocket now', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey }));
386
465
  this.connect(wsKey);
387
466
  }, connectionDelayMs);
388
467
  }
@@ -391,7 +470,7 @@ class BaseWebsocketClient extends events_1.default {
391
470
  return;
392
471
  }
393
472
  this.clearPongTimer(wsKey);
394
- this.logger.trace('Sending ping', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey }));
473
+ this.logger.trace('Sending ping', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey }));
395
474
  const ws = this.wsStore.get(wsKey, true).ws;
396
475
  if (!ws) {
397
476
  this.logger.error(`Unable to send ping for wsKey "${wsKey}" - no connection found`);
@@ -405,7 +484,7 @@ class BaseWebsocketClient extends events_1.default {
405
484
  * If closed, trigger a reconnect immediately
406
485
  */
407
486
  executeReconnectableClose(wsKey, reason) {
408
- this.logger.info(`${reason} - closing socket to reconnect`, Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey,
487
+ this.logger.info(`${reason} - closing socket to reconnect`, Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey,
409
488
  reason }));
410
489
  const wasOpen = this.wsStore.isWsOpen(wsKey);
411
490
  this.clearPingTimer(wsKey);
@@ -416,7 +495,7 @@ class BaseWebsocketClient extends events_1.default {
416
495
  (0, websockets_1.safeTerminateWs)(ws, false);
417
496
  }
418
497
  if (!wasOpen) {
419
- this.logger.info(`${reason} - socket already closed - trigger immediate reconnect`, Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey,
498
+ this.logger.info(`${reason} - socket already closed - trigger immediate reconnect`, Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey,
420
499
  reason }));
421
500
  this.reconnectWithDelay(wsKey, this.options.reconnectTimeout);
422
501
  }
@@ -541,7 +620,7 @@ class BaseWebsocketClient extends events_1.default {
541
620
  */
542
621
  tryWsSend(wsKey, wsMessage, throwExceptions) {
543
622
  try {
544
- this.logger.trace('Sending upstream ws message: ', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsMessage,
623
+ this.logger.trace('Sending upstream ws message: ', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsMessage,
545
624
  wsKey }));
546
625
  if (!wsKey) {
547
626
  throw new Error('Cannot send message due to no known websocket for this wsKey');
@@ -553,42 +632,69 @@ class BaseWebsocketClient extends events_1.default {
553
632
  ws.send(wsMessage);
554
633
  }
555
634
  catch (e) {
556
- this.logger.error('Failed to send WS message', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsMessage,
635
+ this.logger.error('Failed to send WS message', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsMessage,
557
636
  wsKey, exception: e }));
558
637
  if (throwExceptions) {
559
638
  throw e;
560
639
  }
561
640
  }
562
641
  }
563
- onWsOpen(event, wsKey) {
642
+ onWsOpen(event, wsKey, url, ws) {
564
643
  return __awaiter(this, void 0, void 0, function* () {
644
+ const isReconnectionAttempt = this.wsStore.isConnectionState(wsKey, websockets_1.WsConnectionStateEnum.RECONNECTING) || this.wsStore.isConnectionState(wsKey, websockets_1.WsConnectionStateEnum.ERROR);
565
645
  const isFreshConnectionAttempt = this.wsStore.isConnectionState(wsKey, websockets_1.WsConnectionStateEnum.CONNECTING);
566
- const isReconnectionAttempt = this.wsStore.isConnectionState(wsKey, websockets_1.WsConnectionStateEnum.RECONNECTING);
567
646
  if (isFreshConnectionAttempt) {
568
- this.logger.info('Websocket connected', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey, testnet: this.options.testnet === true, market: this.options.market }));
569
- this.emit('open', { wsKey, event });
647
+ this.logger.info('Websocket connected', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey, testnet: this.options.testnet === true, market: this.options.market }));
648
+ this.emit('open', { wsKey, event, wsUrl: url, ws });
570
649
  }
571
650
  else if (isReconnectionAttempt) {
572
- this.logger.info('Websocket reconnected', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey, testnet: this.options.testnet === true, market: this.options.market }));
573
- this.emit('reconnected', { wsKey, event });
651
+ this.logger.info('Websocket reconnected', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey, testnet: this.options.testnet === true, market: this.options.market }));
652
+ this.emit('reconnected', { wsKey, event, wsUrl: url, ws });
574
653
  }
575
654
  this.setWsState(wsKey, websockets_1.WsConnectionStateEnum.CONNECTED);
576
- this.logger.trace('Enabled ping timer', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey }));
655
+ this.logger.trace('Enabled ping timer', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey }));
577
656
  this.wsStore.get(wsKey, true).activePingTimer = setInterval(() => this.ping(wsKey), this.options.pingInterval);
578
- // Resolve & cleanup deferred "connection attempt in progress" promise
579
- try {
580
- const connectionInProgressPromise = this.wsStore.getConnectionInProgressPromise(wsKey);
581
- if (connectionInProgressPromise === null || connectionInProgressPromise === void 0 ? void 0 : connectionInProgressPromise.resolve) {
582
- connectionInProgressPromise.resolve({
583
- wsKey,
584
- });
585
- }
657
+ if (!this.options.requireConnectionReadyConfirmation) {
658
+ return yield this.onWsReadyForEvents(wsKey);
586
659
  }
587
- catch (e) {
588
- this.logger.error('Exception trying to resolve "connectionInProgress" promise', e);
660
+ else {
661
+ this.resolveConnectionInProgressPromise(wsKey);
589
662
  }
590
663
  // Remove before continuing, in case there's more requests queued
591
664
  this.wsStore.removeConnectingInProgressPromise(wsKey);
665
+ });
666
+ }
667
+ resolveConnectionInProgressPromise(wsKey) {
668
+ try {
669
+ // Resolve & cleanup deferred "connection attempt in progress" promise
670
+ const connectionInProgressPromise = this.wsStore.getConnectionInProgressPromise(wsKey);
671
+ if (connectionInProgressPromise === null || connectionInProgressPromise === void 0 ? void 0 : connectionInProgressPromise.resolve) {
672
+ connectionInProgressPromise.resolve({
673
+ wsKey,
674
+ ws: this.wsStore.getWs(wsKey),
675
+ });
676
+ }
677
+ }
678
+ catch (e) {
679
+ this.logger.error('Exception trying to resolve "connectionInProgress" promise', e);
680
+ }
681
+ }
682
+ /**
683
+ * Called automatically once a connection is ready.
684
+ * - Some exchanges are ready immediately after the connections open.
685
+ * - Some exchanges send an event to confirm the connection is ready for us.
686
+ *
687
+ * This method is called to act when the connection is ready. Use `requireConnectionReadyConfirmation` to control how this is called.
688
+ */
689
+ onWsReadyForEvents(wsKey) {
690
+ return __awaiter(this, void 0, void 0, function* () {
691
+ this.resolveConnectionInProgressPromise(wsKey);
692
+ this.wsStore.removeConnectingInProgressPromise(wsKey);
693
+ // Some websockets require an auth packet to be sent after opening the connection
694
+ if (this.isAuthOnConnectWsKey(wsKey) &&
695
+ this.authPrivateConnectionsOnConnect(wsKey)) {
696
+ yield this.assertIsAuthenticated(wsKey);
697
+ }
592
698
  // Reconnect to topics known before it connected
593
699
  const { privateReqs, publicReqs } = this.sortTopicRequestsIntoPublicPrivate([...this.wsStore.getTopics(wsKey)], wsKey);
594
700
  // Request sub to public topics, if any
@@ -599,8 +705,8 @@ class BaseWebsocketClient extends events_1.default {
599
705
  this.logger.error(`onWsOpen(): exception in public requestSubscribeTopics(${wsKey}): `, publicReqs, e);
600
706
  }
601
707
  // Request sub to private topics, if auth on connect isn't needed
602
- // Else, this is automatic after authentication is successfully confirmed
603
- if (!this.options.authPrivateConnectionsOnConnect) {
708
+ if (!this.authPrivateConnectionsOnConnect(wsKey) ||
709
+ !this.isAuthOnConnectWsKey(wsKey)) {
604
710
  try {
605
711
  this.requestSubscribeTopics(wsKey, privateReqs);
606
712
  }
@@ -608,11 +714,6 @@ class BaseWebsocketClient extends events_1.default {
608
714
  this.logger.error(`onWsOpen(): exception in private requestSubscribeTopics(${wsKey}: `, privateReqs, e);
609
715
  }
610
716
  }
611
- // Some websockets require an auth packet to be sent after opening the connection
612
- if (this.isAuthOnConnectWsKey(wsKey) &&
613
- this.options.authPrivateConnectionsOnConnect) {
614
- yield this.sendAuthRequest(wsKey);
615
- }
616
717
  });
617
718
  }
618
719
  /**
@@ -630,6 +731,7 @@ class BaseWebsocketClient extends events_1.default {
630
731
  inProgressPromise.resolve({
631
732
  wsKey,
632
733
  event,
734
+ ws: wsState.ws,
633
735
  });
634
736
  }
635
737
  }
@@ -638,13 +740,32 @@ class BaseWebsocketClient extends events_1.default {
638
740
  }
639
741
  // Remove before continuing, in case there's more requests queued
640
742
  this.wsStore.removeAuthenticationInProgressPromise(wsKey);
641
- if (this.options.authPrivateConnectionsOnConnect) {
743
+ if (this.authPrivateConnectionsOnConnect(wsKey)) {
642
744
  const topics = [...this.wsStore.getTopics(wsKey)];
643
745
  const privateTopics = topics.filter((topic) => this.isPrivateTopicRequest(topic, wsKey));
644
746
  if (privateTopics.length) {
645
747
  this.subscribeTopicsForWsKey(privateTopics, wsKey);
646
748
  }
647
749
  }
750
+ // Can be passed by the WebsocketClient's integration layer, if necessary, to dynamically track the auth channel
751
+ if (event === null || event === void 0 ? void 0 : event.isWSAPI) {
752
+ wsState.didAuthWSAPI = true;
753
+ if (event === null || event === void 0 ? void 0 : event.WSAPIAuthChannel) {
754
+ wsState.WSAPIAuthChannel = event.WSAPIAuthChannel;
755
+ }
756
+ }
757
+ }
758
+ onWsPing(event, wsKey, ws, source) {
759
+ this.logger.trace(`Received PING ${source}`, Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey,
760
+ event,
761
+ source }));
762
+ this.sendPongEvent(wsKey, ws);
763
+ }
764
+ onWsPong(event, wsKey, source) {
765
+ this.logger.trace(`Received PONG ${source}`, Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey, event: event === null || event === void 0 ? void 0 : event.data, source }));
766
+ // Necessary when native heartbeats are used
767
+ this.clearPongTimer(wsKey);
768
+ return;
648
769
  }
649
770
  onWsMessage(event, wsKey, ws) {
650
771
  try {
@@ -652,14 +773,10 @@ class BaseWebsocketClient extends events_1.default {
652
773
  // any message can clear the pong timer - wouldn't get a message if the ws wasn't working
653
774
  this.clearPongTimer(wsKey);
654
775
  if (this.isWsPong(event)) {
655
- this.logger.trace('Received pong', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey, event: event === null || event === void 0 ? void 0 : event.data }));
656
- return;
776
+ return this.onWsPong(event, wsKey, 'event');
657
777
  }
658
778
  if (this.isWsPing(event)) {
659
- this.logger.trace('Received ping', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey,
660
- event }));
661
- this.sendPongEvent(wsKey, ws);
662
- return;
779
+ return this.onWsPing(event, wsKey, ws, 'event');
663
780
  }
664
781
  if ((0, types_1.isMessageEvent)(event)) {
665
782
  const data = event.data;
@@ -667,20 +784,37 @@ class BaseWebsocketClient extends events_1.default {
667
784
  const emittableEvents = this.resolveEmittableEvents(wsKey, event);
668
785
  if (!emittableEvents.length) {
669
786
  // console.log(`raw event: `, { data, dataType, emittableEvents });
670
- this.logger.error('Unhandled/unrecognised ws event message - returned no emittable data', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { message: data || 'no message', dataType,
787
+ this.logger.error('Unhandled/unrecognised ws event message - returned no emittable data', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { message: data || 'no message', dataType,
671
788
  event,
672
789
  wsKey }));
673
790
  return this.emit('update', Object.assign(Object.assign({}, event), { wsKey }));
674
791
  }
675
792
  for (const emittable of emittableEvents) {
676
- if (this.isWsPong(emittable)) {
677
- this.logger.trace('Received pong2', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey,
793
+ if (this.isWsPong(emittable) || emittable.eventType === 'pong') {
794
+ this.logger.trace('Received pong2', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey,
678
795
  data }));
679
796
  continue;
680
797
  }
681
- const emittableFinalEvent = Object.assign(Object.assign({}, emittable.event), { wsKey, isWSAPIResponse: emittable.isWSAPIResponse });
798
+ const emittableFinalEvent = getFinalEmittable(emittable, wsKey, emittable.isWSAPIResponse);
799
+ if (emittable.eventType === 'connectionReady') {
800
+ this.logger.trace('Successfully connected - connection ready for events', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey,
801
+ emittable }));
802
+ const wsState = this.wsStore.get(wsKey);
803
+ if (wsState && !this.authPrivateConnectionsOnConnect(wsKey)) {
804
+ wsState.isAuthenticated = true;
805
+ }
806
+ this.emit('response', emittableFinalEvent);
807
+ this.onWsReadyForEvents(wsKey);
808
+ continue;
809
+ }
810
+ // Not used for bybit
811
+ if (emittable.eventType === 'connectionReadyForAuth') {
812
+ this.logger.trace('Ready for auth - requesting auth submission...', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey }));
813
+ this.sendAuthRequest(wsKey, emittable.event);
814
+ continue;
815
+ }
682
816
  if (emittable.eventType === 'authenticated') {
683
- this.logger.trace('Successfully authenticated', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey,
817
+ this.logger.trace('Successfully authenticated', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey,
684
818
  emittable }));
685
819
  this.emit(emittable.eventType, emittableFinalEvent);
686
820
  this.onWsAuthenticated(wsKey, emittable.event);
@@ -703,19 +837,21 @@ class BaseWebsocketClient extends events_1.default {
703
837
  }
704
838
  return;
705
839
  }
706
- this.logger.error('Unhandled/unrecognised ws event message - unexpected message format', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { message: event || 'no message', event,
840
+ this.logger.error('Unhandled/unrecognised ws event message - unexpected message format', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { message: event || 'no message', event,
707
841
  wsKey }));
708
842
  }
709
843
  catch (e) {
710
- this.logger.error('Failed to parse ws event message', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { error: e, event,
844
+ this.logger.error('Failed to parse ws event message', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { error: e, event,
711
845
  wsKey }));
712
846
  }
713
847
  }
714
848
  onWsClose(event, wsKey) {
715
- this.logger.info('Websocket connection closed', Object.assign(Object.assign({}, websockets_1.WS_LOGGER_CATEGORY), { wsKey }));
849
+ this.logger.info('Websocket connection closed', Object.assign(Object.assign({}, this.WS_LOGGER_CATEGORY), { wsKey }));
716
850
  const wsState = this.wsStore.get(wsKey, true);
717
851
  wsState.isAuthenticated = false;
718
- if (this.wsStore.getConnectionState(wsKey) !== websockets_1.WsConnectionStateEnum.CLOSING) {
852
+ const wsConnectionState = this.wsStore.getConnectionState(wsKey);
853
+ if (wsConnectionState !== websockets_1.WsConnectionStateEnum.CLOSING) {
854
+ // unintentional close, attempt recovery
719
855
  this.logger.trace(`onWsClose(${wsKey}): rejecting all deferred promises...`);
720
856
  // clean up any pending promises for this connection
721
857
  this.getWsStore().rejectAllDeferredPromises(wsKey, 'connection lost, reconnecting');
@@ -725,6 +861,7 @@ class BaseWebsocketClient extends events_1.default {
725
861
  this.emit('reconnect', { wsKey, event });
726
862
  }
727
863
  else {
864
+ // intentional close - clean up
728
865
  // clean up any pending promises for this connection
729
866
  this.logger.trace(`onWsClose(${wsKey}): rejecting all deferred promises...`);
730
867
  this.getWsStore().rejectAllDeferredPromises(wsKey, 'disconnected');
@@ -746,20 +883,21 @@ class BaseWebsocketClient extends events_1.default {
746
883
  assertIsConnected(wsKey) {
747
884
  return __awaiter(this, void 0, void 0, function* () {
748
885
  const isConnected = this.getWsStore().isConnectionState(wsKey, websockets_1.WsConnectionStateEnum.CONNECTED);
749
- if (!isConnected) {
750
- const inProgressPromise = this.getWsStore().getConnectionInProgressPromise(wsKey);
751
- // Already in progress? Await shared promise and retry
752
- if (inProgressPromise) {
753
- this.logger.trace('assertIsConnected(): awaiting...');
754
- yield inProgressPromise.promise;
755
- this.logger.trace('assertIsConnected(): connected!');
756
- return inProgressPromise.promise;
757
- }
758
- // Start connection, it should automatically store/return a promise.
759
- this.logger.trace('assertIsConnected(): connecting...');
760
- yield this.connect(wsKey);
761
- this.logger.trace('assertIsConnected(): newly connected!');
886
+ if (isConnected) {
887
+ return true;
888
+ }
889
+ const inProgressPromise = this.getWsStore().getConnectionInProgressPromise(wsKey);
890
+ // Already in progress? Await shared promise and retry
891
+ if (inProgressPromise) {
892
+ this.logger.trace('assertIsConnected(): awaiting...');
893
+ yield inProgressPromise.promise;
894
+ this.logger.trace('assertIsConnected(): awaiting...connected!');
895
+ return inProgressPromise.promise;
762
896
  }
897
+ // Start connection, it should automatically store/return a promise.
898
+ this.logger.trace('assertIsConnected(): connecting...');
899
+ yield this.connect(wsKey);
900
+ this.logger.trace('assertIsConnected(): connecting...newly connected!');
763
901
  });
764
902
  }
765
903
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BaseWSClient.js","sourceRoot":"","sources":["../../src/util/BaseWSClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseWSClient.js","sourceRoot":"","sources":["../../src/util/BaseWSClient.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export interface DeferredPromise<TSuccess = any, TError = any> {
14
14
  }
15
15
  export interface WSConnectedResult {
16
16
  wsKey: string;
17
+ ws: WebSocket;
17
18
  }
18
19
  export interface WsStoredState<TWSTopicSubscribeEvent extends string | object> {
19
20
  /** The currently active websocket connection */
@@ -2,9 +2,6 @@ import WebSocket from 'isomorphic-ws';
2
2
  import { APIMarket, CategoryV5, WebsocketClientOptions, WsKey, WsTopic } from '../../types';
3
3
  import { WSAPIRequest } from '../../types/websockets/ws-api';
4
4
  import { DefaultLogger } from '../logger';
5
- export declare const WS_LOGGER_CATEGORY: {
6
- category: string;
7
- };
8
5
  export declare const WS_KEY_MAP: {
9
6
  readonly v5SpotPublic: "v5SpotPublic";
10
7
  readonly v5LinearPublic: "v5LinearPublic";
@@ -54,7 +51,7 @@ type PublicOnlyWsKeys = 'v5SpotPublic' | 'v5LinearPublic' | 'v5InversePublic' |
54
51
  export declare const WS_BASE_URL_MAP: Record<APIMarket, Record<PublicPrivateNetwork, NetworkMapV3>> & Record<PublicOnlyWsKeys, Record<'public', NetworkMapV3>> & Record<typeof WS_KEY_MAP.v5PrivateTrade, Record<PublicPrivateNetwork, NetworkMapV3>>;
55
52
  export declare function isPrivateWsTopic(topic: string): boolean;
56
53
  export declare function getWsKeyForTopic(market: APIMarket, topic: string, isPrivate?: boolean, category?: CategoryV5): WsKey;
57
- export declare function getWsUrl(wsKey: WsKey, wsClientOptions: WebsocketClientOptions, logger: typeof DefaultLogger): string;
54
+ export declare function getWsUrl(wsKey: WsKey, wsClientOptions: WebsocketClientOptions, logger: DefaultLogger): string;
58
55
  export declare function getMaxTopicsPerSubscribeEvent(market: APIMarket, wsKey: WsKey): number | null;
59
56
  export declare const WS_ERROR_ENUM: {
60
57
  NOT_AUTHENTICATED_SPOT_V3: string;
@@ -78,7 +75,7 @@ export declare function getPromiseRefForWSAPIRequest(requestEvent: WSAPIRequest<
78
75
  *
79
76
  * This method normalises topics into objects (object has topic name + optional params).
80
77
  */
81
- export declare function getNormalisedTopicRequests(wsTopicRequests: WsTopicRequestOrStringTopic<string>[]): WsTopicRequest<string>[];
78
+ export declare function getNormalisedTopicRequests(wsTopicRequests: WsTopicRequestOrStringTopic<string>[]): WsTopicRequest<WsTopic>[];
82
79
  /**
83
80
  * Groups topics in request into per-wsKey groups
84
81
  * @param normalisedTopicRequests
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WS_ERROR_ENUM = exports.WS_BASE_URL_MAP = exports.PUBLIC_WS_KEYS = exports.WS_AUTH_ON_CONNECT_KEYS = exports.WS_KEY_MAP = exports.WS_LOGGER_CATEGORY = void 0;
3
+ exports.WS_ERROR_ENUM = exports.WS_BASE_URL_MAP = exports.PUBLIC_WS_KEYS = exports.WS_AUTH_ON_CONNECT_KEYS = exports.WS_KEY_MAP = void 0;
4
4
  exports.isPrivateWsTopic = isPrivateWsTopic;
5
5
  exports.getWsKeyForTopic = getWsKeyForTopic;
6
6
  exports.getWsUrl = getWsUrl;
@@ -10,7 +10,6 @@ exports.getPromiseRefForWSAPIRequest = getPromiseRefForWSAPIRequest;
10
10
  exports.getNormalisedTopicRequests = getNormalisedTopicRequests;
11
11
  exports.getTopicsPerWSKey = getTopicsPerWSKey;
12
12
  const typeGuards_1 = require("../typeGuards");
13
- exports.WS_LOGGER_CATEGORY = { category: 'bybit-ws' };
14
13
  exports.WS_KEY_MAP = {
15
14
  v5SpotPublic: 'v5SpotPublic',
16
15
  v5LinearPublic: 'v5LinearPublic',
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-util.js","sourceRoot":"","sources":["../../../src/util/websockets/websocket-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-util.js","sourceRoot":"","sources":["../../../src/util/websockets/websocket-util.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
1
  import WebSocket from 'isomorphic-ws';
2
- import { CategoryV5, MessageEventLike, WsKey, WsMarket, WsTopic } from './types';
2
+ import { CategoryV5, MessageEventLike, WSClientConfigurableOptions, WsKey, WsMarket, WsTopic } from './types';
3
3
  import { Exact, WSAPIOperation, WsAPIOperationResponseMap, WsAPITopicRequestParamMap, WsAPIWsKeyTopicMap, WsOperation, WsRequestOperationBybit } from './types/websockets/ws-api';
4
- import { WS_KEY_MAP, WSConnectedResult, WsTopicRequest } from './util';
4
+ import { DefaultLogger, WS_KEY_MAP, WSConnectedResult, WsTopicRequest } from './util';
5
5
  import { BaseWebsocketClient, EmittableEvent, MidflightWsRequestEvent } from './util/BaseWSClient';
6
+ export interface WSAPIRequestFlags {
7
+ /** If true, will skip auth requirement for WS API connection */
8
+ authIsOptional?: boolean | undefined;
9
+ }
6
10
  export declare class WebsocketClient extends BaseWebsocketClient<WsKey, WsRequestOperationBybit<WsTopic>> {
11
+ constructor(options?: WSClientConfigurableOptions, logger?: DefaultLogger);
7
12
  /**
8
13
  * Request connection of all dependent (public & private) websockets, instead of waiting
9
14
  * for automatic connection by SDK.
@@ -91,10 +96,10 @@ export declare class WebsocketClient extends BaseWebsocketClient<WsKey, WsReques
91
96
  * order. Only send parameters for the request body. Everything else is automatically handled.
92
97
  * @returns Promise - tries to resolve with async WS API response. Rejects if disconnected or exception is seen in async WS API response
93
98
  */
94
- sendWSAPIRequest<TWSKey extends keyof WsAPIWsKeyTopicMap, TWSOperation extends WsAPIWsKeyTopicMap[TWSKey], TWSParams extends Exact<WsAPITopicRequestParamMap[TWSOperation]>>(wsKey: TWSKey, operation: TWSOperation, ...params: TWSParams extends undefined ? [] : [TWSParams]): Promise<WsAPIOperationResponseMap[TWSOperation]>;
95
- sendWSAPIRequest<TWSOperation extends WSAPIOperation = 'order.create'>(wsKey: typeof WS_KEY_MAP.v5PrivateTrade, operation: TWSOperation, params: WsAPITopicRequestParamMap[TWSOperation]): Promise<WsAPIOperationResponseMap[TWSOperation]>;
96
- sendWSAPIRequest<TWSOperation extends WSAPIOperation = 'order.amend'>(wsKey: typeof WS_KEY_MAP.v5PrivateTrade, operation: TWSOperation, params: WsAPITopicRequestParamMap[TWSOperation]): Promise<WsAPIOperationResponseMap[TWSOperation]>;
97
- sendWSAPIRequest<TWSOperation extends WSAPIOperation = 'order.cancel'>(wsKey: typeof WS_KEY_MAP.v5PrivateTrade, operation: TWSOperation, params: WsAPITopicRequestParamMap[TWSOperation]): Promise<WsAPIOperationResponseMap[TWSOperation]>;
99
+ sendWSAPIRequest<TWSKey extends keyof WsAPIWsKeyTopicMap, TWSOperation extends WsAPIWsKeyTopicMap[TWSKey], TWSParams extends Exact<WsAPITopicRequestParamMap[TWSOperation]>>(wsKey: TWSKey, operation: TWSOperation, params?: TWSParams extends void | never ? undefined : TWSParams, requestFlags?: WSAPIRequestFlags): Promise<WsAPIOperationResponseMap[TWSOperation]>;
100
+ sendWSAPIRequest<TWSOperation extends WSAPIOperation = 'order.create'>(wsKey: typeof WS_KEY_MAP.v5PrivateTrade, operation: TWSOperation, params: WsAPITopicRequestParamMap[TWSOperation], requestFlags?: WSAPIRequestFlags): Promise<WsAPIOperationResponseMap[TWSOperation]>;
101
+ sendWSAPIRequest<TWSOperation extends WSAPIOperation = 'order.amend'>(wsKey: typeof WS_KEY_MAP.v5PrivateTrade, operation: TWSOperation, params: WsAPITopicRequestParamMap[TWSOperation], requestFlags?: WSAPIRequestFlags): Promise<WsAPIOperationResponseMap[TWSOperation]>;
102
+ sendWSAPIRequest<TWSOperation extends WSAPIOperation = 'order.cancel'>(wsKey: typeof WS_KEY_MAP.v5PrivateTrade, operation: TWSOperation, params: WsAPITopicRequestParamMap[TWSOperation], requestFlags?: WSAPIRequestFlags): Promise<WsAPIOperationResponseMap[TWSOperation]>;
98
103
  /**
99
104
  *
100
105
  *
@@ -102,6 +107,11 @@ export declare class WebsocketClient extends BaseWebsocketClient<WsKey, WsReques
102
107
  *
103
108
  *
104
109
  */
110
+ /**
111
+ * Note: implementing this method will wipe the WsStore state for this WsKey, once this method returns
112
+ */
113
+ protected isCustomReconnectionNeeded(): boolean;
114
+ protected triggerCustomReconnectionWorkflow(): Promise<void>;
105
115
  /**
106
116
  * @returns The WS URL to connect to for this WS key
107
117
  */
@@ -118,16 +128,17 @@ export declare class WebsocketClient extends BaseWebsocketClient<WsKey, WsReques
118
128
  protected sendPongEvent(wsKey: WsKey): void;
119
129
  /** Force subscription requests to be sent in smaller batches, if a number is returned */
120
130
  protected getMaxTopicsPerSubscribeEvent(wsKey: WsKey): number | null;
131
+ protected authPrivateConnectionsOnConnect(_wsKey: WsKey): boolean;
121
132
  /**
122
133
  * @returns one or more correctly structured request events for performing a operations over WS. This can vary per exchange spec.
123
134
  */
124
- protected getWsRequestEvents(market: WsMarket, operation: WsOperation, requests: WsTopicRequest<string>[], wsKey: WsKey): Promise<MidflightWsRequestEvent<WsRequestOperationBybit<WsTopic>>[]>;
135
+ protected getWsRequestEvents(market: WsMarket, operation: WsOperation, requests: WsTopicRequest<WsTopic>[], _wsKey: WsKey): Promise<MidflightWsRequestEvent<WsRequestOperationBybit<WsTopic>>[]>;
125
136
  protected getPrivateWSKeys(): WsKey[];
126
137
  protected isAuthOnConnectWsKey(wsKey: WsKey): boolean;
127
138
  /**
128
139
  * Determines if a topic is for a private channel, using a hardcoded list of strings
129
140
  */
130
- protected isPrivateTopicRequest(request: WsTopicRequest<string>): boolean;
141
+ protected isPrivateTopicRequest(request: WsTopicRequest<WsTopic>): boolean;
131
142
  protected isWsPing(msg: any): boolean;
132
143
  protected isWsPong(msg: any): boolean;
133
144
  /**
@@ -13,7 +13,14 @@ exports.WebsocketClient = void 0;
13
13
  const util_1 = require("./util");
14
14
  const BaseWSClient_1 = require("./util/BaseWSClient");
15
15
  const webCryptoAPI_1 = require("./util/webCryptoAPI");
16
+ const WS_LOGGER_CATEGORY_ID = 'bybit-ws';
17
+ const WS_LOGGER_CATEGORY = {
18
+ category: WS_LOGGER_CATEGORY_ID,
19
+ };
16
20
  class WebsocketClient extends BaseWSClient_1.BaseWebsocketClient {
21
+ constructor(options, logger) {
22
+ super(Object.assign(Object.assign({}, options), { wsLoggerCategory: WS_LOGGER_CATEGORY_ID }), logger);
23
+ }
17
24
  /**
18
25
  * Request connection of all dependent (public & private) websockets, instead of waiting
19
26
  * for automatic connection by SDK.
@@ -195,13 +202,17 @@ class WebsocketClient extends BaseWSClient_1.BaseWebsocketClient {
195
202
  }
196
203
  }
197
204
  sendWSAPIRequest() {
198
- return __awaiter(this, arguments, void 0, function* (wsKey = util_1.WS_KEY_MAP.v5PrivateTrade, operation, params) {
205
+ return __awaiter(this, arguments, void 0, function* (wsKey = util_1.WS_KEY_MAP.v5PrivateTrade, operation, params, requestFlags) {
199
206
  var _a;
200
207
  this.logger.trace(`sendWSAPIRequest(): assert "${wsKey}" is connected`);
201
208
  yield this.assertIsConnected(wsKey);
202
209
  this.logger.trace('sendWSAPIRequest()->assertIsConnected() ok');
203
- yield this.assertIsAuthenticated(wsKey);
204
- this.logger.trace('sendWSAPIRequest()->assertIsAuthenticated() ok');
210
+ // Some commands don't require authentication.
211
+ if ((requestFlags === null || requestFlags === void 0 ? void 0 : requestFlags.authIsOptional) !== true) {
212
+ this.logger.trace('sendWSAPIRequest(): assertIsAuthenticated(${wsKey})...');
213
+ yield this.assertIsAuthenticated(wsKey);
214
+ this.logger.trace('sendWSAPIRequest(): assertIsAuthenticated(${wsKey}) ok');
215
+ }
205
216
  const timestampMs = Date.now() + (this.getTimeOffsetMs() || 0);
206
217
  const requestEvent = {
207
218
  reqId: this.getNewRequestId(),
@@ -257,6 +268,17 @@ class WebsocketClient extends BaseWSClient_1.BaseWebsocketClient {
257
268
  *
258
269
  *
259
270
  */
271
+ /**
272
+ * Note: implementing this method will wipe the WsStore state for this WsKey, once this method returns
273
+ */
274
+ isCustomReconnectionNeeded() {
275
+ return false;
276
+ }
277
+ triggerCustomReconnectionWorkflow() {
278
+ return __awaiter(this, void 0, void 0, function* () {
279
+ return;
280
+ });
281
+ }
260
282
  /**
261
283
  * @returns The WS URL to connect to for this WS key
262
284
  */
@@ -299,7 +321,7 @@ class WebsocketClient extends BaseWSClient_1.BaseWebsocketClient {
299
321
  return request;
300
322
  }
301
323
  catch (e) {
302
- this.logger.error(e, Object.assign(Object.assign({}, util_1.WS_LOGGER_CATEGORY), { wsKey }));
324
+ this.logger.error(e, Object.assign(Object.assign({}, WS_LOGGER_CATEGORY), { wsKey }));
303
325
  throw e;
304
326
  }
305
327
  });
@@ -308,10 +330,10 @@ class WebsocketClient extends BaseWSClient_1.BaseWebsocketClient {
308
330
  return __awaiter(this, void 0, void 0, function* () {
309
331
  const { key, secret } = this.options;
310
332
  if (!key || !secret) {
311
- this.logger.error('Cannot authenticate websocket, either api or private keys missing.', Object.assign(Object.assign({}, util_1.WS_LOGGER_CATEGORY), { wsKey }));
333
+ this.logger.error('Cannot authenticate websocket, either api or private keys missing.', Object.assign(Object.assign({}, WS_LOGGER_CATEGORY), { wsKey }));
312
334
  throw new Error('Cannot auth - missing api or secret in config');
313
335
  }
314
- this.logger.trace("Getting auth'd request params", Object.assign(Object.assign({}, util_1.WS_LOGGER_CATEGORY), { wsKey }));
336
+ this.logger.trace("Getting auth'd request params", Object.assign(Object.assign({}, WS_LOGGER_CATEGORY), { wsKey }));
315
337
  const recvWindow = this.options.recvWindow || 5000;
316
338
  const signatureExpiresAt = Date.now() + this.getTimeOffsetMs() + recvWindow;
317
339
  const signature = yield this.signMessage('GET/realtime' + signatureExpiresAt, secret, undefined, // Let the function automatically determine encoding based on key type
@@ -338,12 +360,15 @@ class WebsocketClient extends BaseWSClient_1.BaseWebsocketClient {
338
360
  getMaxTopicsPerSubscribeEvent(wsKey) {
339
361
  return (0, util_1.getMaxTopicsPerSubscribeEvent)(this.options.market, wsKey);
340
362
  }
363
+ authPrivateConnectionsOnConnect(_wsKey) {
364
+ return this.options.authPrivateConnectionsOnConnect;
365
+ }
341
366
  /**
342
367
  * @returns one or more correctly structured request events for performing a operations over WS. This can vary per exchange spec.
343
368
  */
344
369
  getWsRequestEvents(market, operation, requests,
345
370
  // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars
346
- wsKey) {
371
+ _wsKey) {
347
372
  return __awaiter(this, void 0, void 0, function* () {
348
373
  const wsRequestEvents = [];
349
374
  const wsRequestBuildingErrors = [];
@@ -372,7 +397,7 @@ class WebsocketClient extends BaseWSClient_1.BaseWebsocketClient {
372
397
  }
373
398
  if (wsRequestBuildingErrors.length) {
374
399
  const label = wsRequestBuildingErrors.length === requests.length ? 'all' : 'some';
375
- this.logger.error(`Failed to build/send ${wsRequestBuildingErrors.length} event(s) for ${label} WS requests due to exceptions`, Object.assign(Object.assign({}, util_1.WS_LOGGER_CATEGORY), { wsRequestBuildingErrors, wsRequestBuildingErrorsStringified: JSON.stringify(wsRequestBuildingErrors, null, 2) }));
400
+ this.logger.error(`Failed to build/send ${wsRequestBuildingErrors.length} event(s) for ${label} WS requests due to exceptions`, Object.assign(Object.assign({}, WS_LOGGER_CATEGORY), { wsRequestBuildingErrors, wsRequestBuildingErrorsStringified: JSON.stringify(wsRequestBuildingErrors, null, 2) }));
376
401
  }
377
402
  return wsRequestEvents;
378
403
  });
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-client.js","sourceRoot":"","sources":["../src/websocket-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-client.js","sourceRoot":"","sources":["../src/websocket-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bybit-api",
3
- "version": "4.5.3",
3
+ "version": "4.6.0",
4
4
  "description": "Complete & robust Node.js SDK for Bybit's REST APIs and WebSockets, with TypeScript & strong end to end tests.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",