bybit-api 4.5.2 → 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.
- package/README.md +3 -0
- package/lib/types/websockets/ws-general.d.ts +12 -1
- package/lib/util/BaseWSClient.d.ts +37 -13
- package/lib/util/BaseWSClient.js +224 -86
- package/lib/util/BaseWSClient.js.map +1 -1
- package/lib/util/websockets/WsStore.types.d.ts +1 -0
- package/lib/util/websockets/websocket-util.d.ts +2 -5
- package/lib/util/websockets/websocket-util.js +1 -2
- package/lib/util/websockets/websocket-util.js.map +1 -1
- package/lib/websocket-client.d.ts +19 -8
- package/lib/websocket-client.js +33 -8
- package/lib/websocket-client.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
|
|
20
20
|
[1]: https://www.npmjs.com/package/bybit-api
|
|
21
21
|
|
|
22
|
+
> [!TIP]
|
|
23
|
+
> Upcoming change: As part of the [Siebly.io](https://siebly.io/?ref=ghbybit) brand, this SDK will soon be hosted under the [Siebly.io GitHub organisation](https://github.com/sieblyio). The migration is seamless and requires no user changes.
|
|
24
|
+
|
|
22
25
|
Professional Node.js, JavaScript & TypeScript SDK for the Bybit REST APIs, WebSocket APIs & WebSocket Events:
|
|
23
26
|
|
|
24
27
|
- Complete integration with all Bybit REST APIs & WebSockets, including the WebSocket API.
|
|
@@ -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?:
|
|
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:
|
|
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
|
|
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
|
|
108
|
-
protected abstract
|
|
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<
|
|
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<
|
|
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<
|
|
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;
|
package/lib/util/BaseWSClient.js
CHANGED
|
@@ -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
|
-
//
|
|
63
|
-
|
|
64
|
-
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
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
|
-
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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
|
-
|
|
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 (
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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
|
-
|
|
579
|
-
|
|
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
|
-
|
|
588
|
-
this.
|
|
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
|
-
|
|
603
|
-
|
|
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.
|
|
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.
|
|
656
|
-
return;
|
|
776
|
+
return this.onWsPong(event, wsKey, 'event');
|
|
657
777
|
}
|
|
658
778
|
if (this.isWsPing(event)) {
|
|
659
|
-
this.
|
|
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({},
|
|
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({},
|
|
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 =
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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
|
-
|
|
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 (
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4BAA4B;AAC5B,uDAAuD;AACvD,oDAAkC;AAClC,kEAAsC;AAEtC,oCAQkB;AAElB,qCAAyC;AACzC,iDAA4D;AAC5D,6CAOsB;AACtB,kDAA+C;AAkH/C;;;GAGG;AACH,SAAS,iBAAiB,CACxB,SAA4C,EAC5C,KAAU,EACV,eAAyB;IAEzB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,CACpD,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,kCAAkC;QAClC,gEAAgE;QAChE,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,CACpD,CAAC;QAEF,0CAA0C;QAC1C,WAAW;QACX,eAAe;QACf,mCAAmC;QACnC,2DAA2D;QAC3D,OAAO;QACP,KAAK;IACP,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,uCACK,SAAS,CAAC,KAAK,KAClB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,CAAC,CAAC,eAAe,IAClC;IACJ,CAAC;IAED,uCACK,SAAS,KACZ,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,CAAC,CAAC,eAAe,IAClC;AACJ,CAAC;AAED;;GAEG;AACH,4EAA4E;AAC5E,MAAsB,mBAMpB,SAAQ,gBAAY;IAyBpB,YACE,OAAoE,EACpE,MAAsB;QAEtB,KAAK,EAAE,CAAC;QAnBF,mBAAc,GAAW,CAAC,CAAC;QAE3B,iBAAY,GAAW,CAAC,CAAC;QAIjC;;;WAGG;QACK,qCAAgC,GAGpC,EAAE,CAAC;QAQL,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,sBAAa,CAAC;QAEtC,IAAI,CAAC,kBAAkB,GAAG;YACxB,QAAQ,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,KAAI,UAAU;SAClD,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO;YACV,iBAAiB;YACjB,OAAO,EAAE,KAAK,EACd,WAAW,EAAE,KAAK;YAElB,uDAAuD;YACvD,MAAM,EAAE,IAAI,EAEZ,WAAW,EAAE,IAAI,EACjB,YAAY,EAAE,KAAK,EACnB,gBAAgB,EAAE,GAAG,EACrB,UAAU,EAAE,IAAI;YAEhB,iGAAiG;YACjG,6FAA6F;YAC7F,wBAAwB,EAAE,KAAK;YAE/B,wFAAwF;YACxF,kCAAkC,EAAE,KAAK;YAEzC,qGAAqG;YACrG,+BAA+B,EAAE,IAAI;YAErC,+DAA+D;YAC/D,mDAAmD;YACnD,mBAAmB,EAAE,KAAK;YAE1B,6EAA6E;YAC7E,sBAAsB,EAAE,IAAI;YAE5B,6DAA6D;YAC7D,mBAAmB,EAAE,KAAK,IAEvB,OAAO,CACX,CAAC;QAEF,+BAA+B;QAC/B,qEAAqE;QACrE,IACE,IAAI,CAAC,OAAO,CAAC,GAAG;YAChB,IAAI,CAAC,OAAO,CAAC,MAAM;YACnB,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EACjC,CAAC;YACD,IAAA,yCAA0B,GAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAgES,cAAc,CAAC,KAAa;QACpC,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,gGAAgG;IACtF,eAAe;QACvB,OAAO,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAcM,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEM,eAAe,CAAC,SAAiB;QACtC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAEO,gCAAgC,CAAC,KAAa;QACpD,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAE,CAAC;IACvD,CAAC;IAES,mCAAmC,CAC3C,KAAa,EACb,WAAqD;QAErD,6FAA6F;QAC7F,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QAE1C,uNAAuN;QAEvN,MAAM,cAAc,GAAG,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,OAAO,CAChB,CACE,QAA6D,EAC7D,QAA6D,EAC7D,EAAE;YACF,MAAM,cAAc,GAAG,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC;YACpE,cAAc,CAAC,UAAU,CAAC,GAAG;gBAC3B,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC,QAAQ;gBACR,QAAQ;aACT,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;IAES,8BAA8B,CAAC,KAAa,EAAE,UAAkB;QACxE,MAAM,cAAc,GAAG,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAEO,+BAA+B,CACrC,KAAa,EACb,SAAkB,EAClB,YAAoB;QAEpB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC;YAEpE,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,KAAK,KAAK,SAAS,KAAK,YAAY,KAAK,UAAU,6BAA6B,IAAI,CAAC,SAAS,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,EAAE,CAAC,EAAE,CAChK,CAAC;gBACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACO,oCAAoC,CAC5C,KAAa,EACb,UAAkB,EAClB,GAAW,EACX,+BAAwC;QAExC,MAAM,oBAAoB,GAAG,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,IAAI,+BAA+B,EAAE,CAAC;YACpC,0BAA0B,CAAC,QAAQ,CACjC,0BAA0B,CAAC,WAAW,CACvC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,+CAA+C,KAAK,KAAK,UAAU,KAAK,GAAG,KAAK,+BAA+B,KAAK,EACpH,GAAG,CACJ,CAAC;YACF,IAAI,CAAC;gBACH,0BAA0B,CAAC,QAAQ,CACjC,0BAA0B,CAAC,WAAW,EACtC,GAAG,CACJ,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;OAYG;IACa,uBAAuB,CACrC,eAAsD,EACtD,KAAa;;;YAEb,MAAM,uBAAuB,GAAG,IAAA,uCAA0B,EAAC,eAAe,CAAC,CAAC;YAE5E,oHAAoH;YACpH,KAAK,MAAM,KAAK,IAAI,uBAAuB,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAChD,KAAK,EACL,kCAAqB,CAAC,SAAS,CAChC,CAAC;YAEF,MAAM,sBAAsB,GAC1B,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;YAEpD,qGAAqG;YACrG,IAAI,CAAC,WAAW,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YAED,8GAA8G;YAC9G,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB;;mBAEG;gBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,8DAA8D,kCAEzD,IAAI,CAAC,kBAAkB,KAC1B,KAAK;oBACL,eAAe,IAElB,CAAC;gBACF,OAAO,sBAAsB,CAAC;YAChC,CAAC;YAED,wEAAwE;YACxE,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAE,eAAe,CAAC;YACjE,IAAI,mBAAmB,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C;;;;mBAIG;gBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2EAA2E,CAC5E,CAAC;gBACF,OAAO,KAAK,CAAC;YACf,CAAC;YAED,iFAAiF;YACjF,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;QACrE,CAAC;KAAA;IAEe,yBAAyB,CACvC,eAAsD,EACtD,KAAa;;;YAEb,MAAM,uBAAuB,GAAG,IAAA,uCAA0B,EAAC,eAAe,CAAC,CAAC;YAE5E,oHAAoH;YACpH,KAAK,MAAM,KAAK,IAAI,uBAAuB,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAChD,KAAK,EACL,kCAAqB,CAAC,SAAS,CAChC,CAAC;YAEF,+CAA+C;YAC/C,kGAAkG;YAClG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,wEAAwE;YACxE,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAE,eAAe,CAAC;YACjE,IAAI,mBAAmB,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C;;;mBAGG;gBACH,OAAO;YACT,CAAC;YAED,iFAAiF;YACjF,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;QACvE,CAAC;KAAA;IAED;;OAEG;IACK,kCAAkC,CACxC,eAA0C,EAC1C,KAAa;QAKb,MAAM,mBAAmB,GAA8B,EAAE,CAAC;QAC1D,MAAM,oBAAoB,GAA8B,EAAE,CAAC;QAE3D,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC7C,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO;YACL,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,oBAAoB;SAClC,CAAC;IACJ,CAAC;IAED,sDAAsD;IAC/C,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,KAAa,EAAE,KAAe;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,kCAChC,IAAI,CAAC,kBAAkB,KAC1B,KAAK,IACL,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,kCAAqB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAExB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,EAAE,CAAC;QACZ,IAAI,KAAK,EAAE,CAAC;YACV,IAAA,4BAAe,EAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAEM,QAAQ,CAAC,KAAe;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CACnC,KAAK,EACL,kCAAqB,CAAC,SAAS,CAChC,CAAC;IACJ,CAAC;IAED;;OAEG;IACU,OAAO,CAClB,KAAa,EACb,SAA8B,EAC9B,YAAsB;;;YAEtB,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0DAA0D,kCACrD,IAAI,CAAC,kBAAkB,KAAE,KAAK,IACpC,CAAC;oBACF,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAE,EAAE,CAAC;gBACnD,CAAC;gBAED,IACE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,kCAAqB,CAAC,UAAU,CAAC,EACvE,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6DAA6D,kCACxD,IAAI,CAAC,kBAAkB,KAAE,KAAK,IACpC,CAAC;oBACF,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,0CAAE,OAAO,CAAC;gBACrE,CAAC;gBAED,IACE,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC;oBACvC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,kCAAqB,CAAC,OAAO,CAAC,EACpE,CAAC;oBACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,kCAAqB,CAAC,UAAU,CAAC,CAAC;gBAC3D,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxD,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/D,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACtD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBAE3C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAChC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;oBAClD,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACpE,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAiB,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wDAAwD,CACzD,CAAC;gBACJ,CAAC;gBAED,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,0CAAE,OAAO,CAAC;QACrE,CAAC;KAAA;IAEO,cAAc,CAAC,GAAW,EAAE,KAAa;;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,kCACnD,IAAI,CAAC,kBAAkB,KAC1B,KAAK,IACL,CAAC;QAEH,wFAAwF;QACxF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG,MAAC,IAAI,CAAC,OAAO,CAAC,cAAsB,0CAAE,KAAK,CAAC;QAEhE,MAAM,EAAE,SAAS,GAAG,EAAE,KAAmB,eAAe,EAA7B,SAAS,UAAK,eAAe,EAAlD,aAAgC,CAAkB,CAAC;QAEzD,mDAAmD;QACnD,MAAM,cAAc,GAClB,CAAC,SAAS,CAAC,KAAK,IAAI,WAAW;YAC7B,CAAC,iCAAM,SAAS,KAAE,KAAK,EAAE,WAAW,IACpC,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,EAAE,GAAmC,IAAI,uBAAS,CACtD,GAAG,EACH,SAAS,EACT,cAAc,CACf,CAAC;QAEF,EAAE,CAAC,MAAM,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjE,EAAE,CAAC,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAClE,EAAE,CAAC,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE,CAC1B,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACzD,EAAE,CAAC,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE1D,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;QAEjB,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACrC,IAAI,OAAO,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;gBAChC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBACxE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,YAAY,CAAC,OAAe,EAAE,KAAU,EAAE,KAAa;QAC7D,IAAI,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,kCAAqB,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QAED,iGAAiG;QACjG,IAAI,QAAQ,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,UAAU,kCAAO,KAAK,KAAE,KAAK,IAAG,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,kCAAO,KAAK,KAAE,KAAK,IAAG,CAAC;YAC5C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,QAAQ,KAAK,CAAC,OAAO,EAAE,CAAC;YACtB,KAAK,iCAAiC;gBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,oCAAoC,kCAC3D,IAAI,CAAC,kBAAkB,KAC1B,KAAK,IACL,CAAC;gBACH,QAAQ,GAAG,KAAK,CAAC;gBACjB,MAAM;YAER;gBACE,IACE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC;oBACtC,kCAAqB,CAAC,OAAO,EAC7B,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,OAAO,uCACR,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAA,IAAI,KAClC,GAAG,kCACE,IAAI,CAAC,kBAAkB,KAAE,KAAK,EAAE,KAAK,IAC3C,CAAC;oBACF,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,KAAK,gDAAgD,CACzD,CAAC;gBACJ,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM;QACV,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,KAAK,CAAC,CAAC;QAE1E,IAAI,CAAC,IAAI,CAAC,UAAU,kCAAO,KAAK,KAAE,KAAK,IAAG,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,kCAAO,KAAK,KAAE,KAAK,IAAG,CAAC;QAE5C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,0DAA0D;IAC5C,eAAe,CAC3B,KAAa,EACb,WAAoB;;;YAEpB,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,kCACtC,IAAI,CAAC,kBAAkB,KAC1B,KAAK;oBACL,WAAW,IACX,CAAC;gBAEH,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAEpC,8CAA8C;gBAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACrE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,mDAAmD;oBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC9C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC/B,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5D,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACnE,CAAC;gBAED,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;oBAC/B,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,KAAK,CAAC,0CAAE,OAAO,CAAC;gBACzE,CAAC;gBAED,uCAAuC;gBAEvC,IAAI,CAAC,SAAS,CACZ,KAAK,EACL,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAChE,CAAC;gBAEF,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,KAAK,CAAC,0CAAE,OAAO,CAAC;YACzE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,kCAAO,IAAI,CAAC,kBAAkB,KAAE,KAAK,IAAG,CAAC;YAC9D,CAAC;QACH,CAAC;KAAA;IAEO,kBAAkB,CAAC,KAAa,EAAE,iBAAyB;;QACjE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,kCAAqB,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,kCACrD,IAAI,CAAC,kBAAkB,KAC1B,KAAK;YACL,iBAAiB,IACjB,CAAC;QAEH,IAAI,MAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAE,oBAAoB,EAAE,CAAC;YAClD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;YACnE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAEhC,wDAAwD;YACxD,6DAA6D;YAC7D,IAAI,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAE3B,OAAO,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,kCAC3C,IAAI,CAAC,kBAAkB,KAC1B,KAAK,IACL,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACxB,CAAC;IAEO,IAAI,CAAC,KAAa;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,kCAAO,IAAI,CAAC,kBAAkB,KAAE,KAAK,IAAG,CAAC;QACzE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAE5C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kCAAkC,KAAK,yBAAyB,CACjE,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,eAAe,GAAG,UAAU,CACxD,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,cAAc,CAAC,EAC3D,IAAI,CAAC,OAAO,CAAC,WAAW,CACzB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAAC,KAAa,EAAE,MAAc;QAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,gCAAgC,kCACrD,IAAI,CAAC,kBAAkB,KAC1B,KAAK;YACL,MAAM,IACN,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,EAAE,EAAE,CAAC;YACP,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,IAAA,4BAAe,EAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,MAAM,wDAAwD,kCAE5D,IAAI,CAAC,kBAAkB,KAC1B,KAAK;gBACL,MAAM,IAET,CAAC;YACF,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,2BAA2B;IACnB,cAAc,CAAC,KAAa;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EAAE,CAAC;YAC7B,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACvC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;QACtC,CAAC;IACH,CAAC;IAED,oCAAoC;IAC5B,cAAc,CAAC,KAAa;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EAAE,CAAC;YAC7B,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACtC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;YACpC,4DAA4D;QAC9D,CAAC;aAAM,CAAC;YACN,4DAA4D;QAC9D,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,KAAa;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,EAAE,CAAC;YAClC,YAAY,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAC3C,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACa,6BAA6B,CAC3C,MAAiC,EACjC,KAAa,EACb,SAAsB;;YAEtB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,2DAA2D;YAC3D,MAAM,aAAa,GAA+C,EAAE,CAAC;YACrE,MAAM,MAAM,GAAa,KAAK,CAAC;YAE/B,MAAM,iBAAiB,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;YACpE,IACE,iBAAiB;gBACjB,iBAAiB,KAAK,IAAI;gBAC1B,MAAM,CAAC,MAAM,GAAG,iBAAiB,EACjC,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,iBAAiB,EAAE,CAAC;oBAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC;oBACrD,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC1D,MAAM,EACN,SAAS,EACT,KAAK,EACL,KAAK,CACN,CAAC;oBAEF,aAAa,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,CAAC;gBAChD,CAAC;gBAED,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC1D,MAAM,EACN,SAAS,EACT,MAAM,EACN,KAAK,CACN,CAAC;YAEF,OAAO,sBAAsB,CAAC;QAChC,CAAC;KAAA;IAED;;;;OAIG;IACW,sBAAsB,CAClC,KAAa,EACb,eAA0C;;YAE1C,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,gEAAgE;YAChE,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAClE,eAAe,EACf,KAAK,EACL,WAAW,CACZ,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kBAAkB,eAAe,CAAC,MAAM,KAAK,KAAK,eAAe,mBAAmB,CAAC,MAAM,WAAW,CACvG,CAAC;YAEF,0EAA0E;YAE1E,MAAM,QAAQ,GAA+B,EAAE,CAAC;YAEhD,KAAK,MAAM,gBAAgB,IAAI,mBAAmB,EAAE,CAAC;gBACnD,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC;gBAEhD,IAAI,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;oBAC1C,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAClE,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,+BAA+B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAC5D,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2BAA2B,eAAe,CAAC,MAAM,KAAK,KAAK,eAAe,mBAAmB,CAAC,MAAM,WAAW,CAChH,CAAC;YAEF,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;KAAA;IAED;;;;OAIG;IACW,wBAAwB,CACpC,KAAa,EACb,eAA0C;;YAE1C,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAClE,eAAe,EACf,KAAK,EACL,aAAa,CACd,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oBAAoB,eAAe,CAAC,MAAM,KAAK,KAAK,eAAe,mBAAmB,CAAC,MAAM,sBAAsB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,CACtJ,CAAC;YAEF,MAAM,QAAQ,GAA+B,EAAE,CAAC;YAEhD,KAAK,MAAM,gBAAgB,IAAI,mBAAmB,EAAE,CAAC;gBACnD,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC;gBAEhD,IAAI,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;oBAC1C,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,mCAAmC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAClE,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,SAAS,GAAG,CAAC,CAAC;gBAC/D,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6BAA6B,eAAe,CAAC,MAAM,KAAK,KAAK,eAAe,mBAAmB,CAAC,MAAM,WAAW,CAClH,CAAC;YAEF,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;KAAA;IAED;;OAEG;IACI,SAAS,CACd,KAAa,EACb,SAAiB,EACjB,eAAyB;QAEzB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,kCAC5C,IAAI,CAAC,kBAAkB,KAC1B,SAAS;gBACT,KAAK,IACL,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,mGAAmG,CAC5G,CAAC;YACJ,CAAC;YACD,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,kCACxC,IAAI,CAAC,kBAAkB,KAC1B,SAAS;gBACT,KAAK,EACL,SAAS,EAAE,CAAC,IACZ,CAAC;YACH,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAEa,QAAQ,CACpB,KAAsB,EACtB,KAAa,EACb,GAAW,EACX,EAAa;;YAEb,MAAM,qBAAqB,GACzB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC5B,KAAK,EACL,kCAAqB,CAAC,YAAY,CACnC,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,kCAAqB,CAAC,KAAK,CAAC,CAAC;YAE1E,MAAM,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC7D,KAAK,EACL,kCAAqB,CAAC,UAAU,CACjC,CAAC;YAEF,IAAI,wBAAwB,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,kCACjC,IAAI,CAAC,kBAAkB,KAC1B,KAAK,EACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,EACtC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAC3B,CAAC;gBAEH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,qBAAqB,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,kCACnC,IAAI,CAAC,kBAAkB,KAC1B,KAAK,EACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,EACtC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAC3B,CAAC;gBAEH,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,kCAAqB,CAAC,SAAS,CAAC,CAAC;YAExD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,kCACjC,IAAI,CAAC,kBAAkB,KAC1B,KAAK,IACL,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAE,CAAC,eAAe,GAAG,WAAW,CAC1D,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EACtB,IAAI,CAAC,OAAO,CAAC,YAAY,CAC1B,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kCAAkC,EAAE,CAAC;gBACrD,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;YAED,iEAAiE;YACjE,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;KAAA;IAEO,kCAAkC,CAAC,KAAa;QACtD,IAAI,CAAC;YACH,sEAAsE;YACtE,MAAM,2BAA2B,GAC/B,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;YAErD,IAAI,2BAA2B,aAA3B,2BAA2B,uBAA3B,2BAA2B,CAAE,OAAO,EAAE,CAAC;gBACzC,2BAA2B,CAAC,OAAO,CAAC;oBAClC,KAAK;oBACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAE;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4DAA4D,EAC5D,CAAC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACW,kBAAkB,CAAC,KAAa;;YAC5C,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC;YAEtD,iFAAiF;YACjF,IACE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;gBAChC,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,EAC3C,CAAC;gBACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YAED,gDAAgD;YAChD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,kCAAkC,CACzE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAClC,KAAK,CACN,CAAC;YAEF,uCAAuC;YACvC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0DAA0D,KAAK,KAAK,EACpE,UAAU,EACV,CAAC,CACF,CAAC;YACJ,CAAC;YAED,iEAAiE;YACjE,IACE,CAAC,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC;gBAC5C,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EACjC,CAAC;gBACD,IAAI,CAAC;oBACH,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAClD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2DAA2D,KAAK,IAAI,EACpE,WAAW,EACX,CAAC,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAED;;;;OAIG;IACK,iBAAiB,CACvB,KAAa,EACb,KAAuD;QAEvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;QAE/B,sEAAsE;QACtE,IAAI,CAAC;YACH,MAAM,iBAAiB,GACrB,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAC;YAEzD,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,OAAO,EAAE,CAAC;gBAC/B,iBAAiB,CAAC,OAAO,CAAC;oBACxB,KAAK;oBACL,KAAK;oBACL,EAAE,EAAE,OAAO,CAAC,EAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4DAA4D,EAC5D,CAAC,CACF,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,KAAK,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5C,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CACzC,CAAC;YAEF,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,gHAAgH;QAChH,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YAE5B,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,gBAAgB,EAAE,CAAC;gBAC5B,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,QAAQ,CACd,KAAU,EACV,KAAa,EACb,EAAa,EACb,MAA0B;QAE1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,EAAE,kCACtC,IAAI,CAAC,kBAAkB,KAC1B,KAAK;YACL,KAAK;YACL,MAAM,IACN,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IAEO,QAAQ,CAAC,KAAU,EAAE,KAAa,EAAE,MAA0B;QACpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,MAAM,EAAE,kCACtC,IAAI,CAAC,kBAAkB,KAC1B,KAAK,EACL,KAAK,EAAG,KAAa,aAAb,KAAK,uBAAL,KAAK,CAAU,IAAI,EAC3B,MAAM,IACN,CAAC;QACH,4CAA4C;QAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAEO,WAAW,CAAC,KAAc,EAAE,KAAa,EAAE,EAAa;QAC9D,IAAI,CAAC;YACH,sDAAsD;YACtD,yFAAyF;YACzF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAE3B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,IAAA,sBAAc,EAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBAE5B,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAElE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;oBAC5B,mEAAmE;oBACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sEAAsE,kCAEjE,IAAI,CAAC,kBAAkB,KAC1B,OAAO,EAAE,IAAI,IAAI,YAAY,EAC7B,QAAQ;wBACR,KAAK;wBACL,KAAK,IAER,CAAC;oBAEF,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,kCAAO,KAAK,KAAE,KAAK,IAAG,CAAC;gBAClD,CAAC;gBAED,KAAK,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC;oBACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;wBAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,kCAC7B,IAAI,CAAC,kBAAkB,KAC1B,KAAK;4BACL,IAAI,IACJ,CAAC;wBACH,SAAS;oBACX,CAAC;oBAED,MAAM,mBAAmB,GAAG,iBAAiB,CAC3C,SAAS,EACT,KAAK,EACL,SAAS,CAAC,eAAe,CAC1B,CAAC;oBAEF,IAAI,SAAS,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;wBAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sDAAsD,kCAEjD,IAAI,CAAC,kBAAkB,KAC1B,KAAK;4BACL,SAAS,IAEZ,CAAC;wBAEF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACxC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC5D,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;wBACjC,CAAC;wBAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;wBAC3C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;wBAC/B,SAAS;oBACX,CAAC;oBAED,qBAAqB;oBACrB,IAAI,SAAS,CAAC,SAAS,KAAK,wBAAwB,EAAE,CAAC;wBACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gDAAgD,kCAE3C,IAAI,CAAC,kBAAkB,KAC1B,KAAK,IAER,CAAC;wBACF,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;wBAC7C,SAAS;oBACX,CAAC;oBAED,IAAI,SAAS,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;wBAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,kCACzC,IAAI,CAAC,kBAAkB,KAC1B,KAAK;4BACL,SAAS,IACT,CAAC;wBACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;wBACpD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;wBAC/C,SAAS;oBACX,CAAC;oBAED,qBAAqB;oBACrB,kDAAkD;oBAClD,yBAAyB;oBACzB,KAAK;oBACL,IAAI,CAAC;wBACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;oBACtD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,SAAS,CAAC,SAAS,YAAY,EAClE,CAAC,CACF,CAAC;oBACJ,CAAC;oBACD,qBAAqB;oBACrB,yDAAyD;oBACzD,yBAAyB;oBACzB,KAAK;gBACP,CAAC;gBAED,OAAO;YACT,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qEAAqE,kCAEhE,IAAI,CAAC,kBAAkB,KAC1B,OAAO,EAAE,KAAK,IAAI,YAAY,EAC9B,KAAK;gBACL,KAAK,IAER,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,kCAC/C,IAAI,CAAC,kBAAkB,KAC1B,KAAK,EAAE,CAAC,EACR,KAAK;gBACL,KAAK,IACL,CAAC;QACL,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,KAAc,EAAE,KAAa;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,kCACzC,IAAI,CAAC,kBAAkB,KAC1B,KAAK,IACL,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;QAEhC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEjE,IAAI,iBAAiB,KAAK,kCAAqB,CAAC,OAAO,EAAE,CAAC;YACxD,wCAAwC;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,aAAa,KAAK,uCAAuC,CAC1D,CAAC;YACF,oDAAoD;YACpD,IAAI,CAAC,UAAU,EAAE,CAAC,yBAAyB,CACzC,KAAK,EACL,+BAA+B,CAChC,CAAC;YAEF,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAE/D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,kCAAqB,CAAC,OAAO,CAAC,CAAC;YAEtD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAiB,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,oDAAoD;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,aAAa,KAAK,uCAAuC,CAC1D,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC,yBAAyB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,kCAAqB,CAAC,OAAO,CAAC,CAAC;YAEtD,+FAA+F;YAC/F,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAa;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEO,UAAU,CAAC,KAAa,EAAE,KAA4B;QAC5D,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACU,iBAAiB,CAAC,KAAa;;YAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,iBAAiB,CACrD,KAAK,EACL,kCAAqB,CAAC,SAAS,CAChC,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,iBAAiB,GACrB,IAAI,CAAC,UAAU,EAAE,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;YAE1D,sDAAsD;YACtD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACtD,MAAM,iBAAiB,CAAC,OAAO,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;gBAChE,OAAO,iBAAiB,CAAC,OAAO,CAAC;YACnC,CAAC;YAED,oEAAoE;YACpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAExD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAE1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC1E,CAAC;KAAA;IAED;;OAEG;IACU,qBAAqB,CAAC,KAAa;;;YAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,iBAAiB,CACrD,KAAK,EACL,kCAAqB,CAAC,SAAS,CAChC,CAAC;YAEF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,iBAAiB,GACrB,IAAI,CAAC,UAAU,EAAE,CAAC,kCAAkC,CAAC,KAAK,CAAC,CAAC;YAE9D,sDAAsD;YACtD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC1D,MAAM,iBAAiB,CAAC,OAAO,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,OAAO;YACT,CAAC;YAED,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAE,eAAe,CAAC;YACjE,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YAED,wEAAwE;YACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAEhE,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAElC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;KAAA;CACF;AA/6CD,kDA+6CC"}
|
|
@@ -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:
|
|
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<
|
|
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 =
|
|
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":";;;
|
|
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,
|
|
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<
|
|
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<
|
|
141
|
+
protected isPrivateTopicRequest(request: WsTopicRequest<WsTopic>): boolean;
|
|
131
142
|
protected isWsPing(msg: any): boolean;
|
|
132
143
|
protected isWsPong(msg: any): boolean;
|
|
133
144
|
/**
|
package/lib/websocket-client.js
CHANGED
|
@@ -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
|
-
|
|
204
|
-
|
|
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({},
|
|
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({},
|
|
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({},
|
|
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
|
-
|
|
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({},
|
|
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":";;;;;;;;;;;;AAqBA,iCAmBgB;AAChB,sDAI6B;AAC7B,sDAAiE;AAEjE,MAAM,qBAAqB,GAAG,UAAU,CAAC;AACzC,MAAM,kBAAkB,GAAG;IACzB,QAAQ,EAAE,qBAAqB;CAChC,CAAC;AAOF,MAAa,eAAgB,SAAQ,kCAGpC;IACC,YAAY,OAAqC,EAAE,MAAsB;QACvE,KAAK,iCAAM,OAAO,KAAE,gBAAgB,EAAE,qBAAqB,KAAI,MAAM,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,IAAA,iBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,YAAY;QACjB,kGAAkG;QAClG,OAAO,IAAI,CAAC,qBAAqB,CAAC,iBAAU,CAAC,cAAc,CAAC,CAAC;IAC/D,CAAC;IAEM,aAAa;QAClB,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC;YACV,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO;oBACL,IAAI,CAAC,OAAO,CAAC,iBAAU,CAAC,YAAY,CAAC;oBACrC,IAAI,CAAC,OAAO,CAAC,iBAAU,CAAC,cAAc,CAAC;oBACvC,IAAI,CAAC,OAAO,CAAC,iBAAU,CAAC,eAAe,CAAC;oBACxC,IAAI,CAAC,OAAO,CAAC,iBAAU,CAAC,cAAc,CAAC;iBACxC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEM,cAAc;QACnB,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC;YACV,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAU,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACI,WAAW,CAChB,QAA6B,EAC7B,QAAoB,EACpB,cAAwB;QAExB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEtE,MAAM,cAAc,GAAmD,EAAE,CAAC;QAE1E,qEAAqE;QACrE,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,IAAA,uBAAgB,EACnC,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,KAAK,EACL,cAAc,EACd,QAAQ,CACT,CAAC;YAEF,MAAM,SAAS,GAA4B;gBACzC,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,QAAQ;aACnB,CAAC;YAEF,IACE,CAAC,cAAc,CAAC,YAAY,CAAC;gBAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAC5C,CAAC;gBACD,cAAc,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACpC,CAAC;YAED,+CAA+C;YAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;gBACjE,cAAc,CAAC,YAAY,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAuB,EAAE,CAAC;QAExC,8BAA8B;QAC9B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAc,CAAC,CAAC;YAC1D,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,EAAE,CAAC;gBAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CACjD,kBAAkB,EAClB,KAAc,CACf,CAAC;gBAEF,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClC,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,kGAAkG;QAClG,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;OASG;IACI,aAAa,CAClB,QAA6B,EAC7B,QAAoB,EACpB,cAAwB;QAExB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEtE,MAAM,cAAc,GAAmD,EAAE,CAAC;QAE1E,qEAAqE;QACrE,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,IAAA,uBAAgB,EACnC,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,KAAK,EACL,cAAc,EACd,QAAQ,CACT,CAAC;YAEF,MAAM,SAAS,GAA4B;gBACzC,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,QAAQ;aACnB,CAAC;YAEF,IACE,CAAC,cAAc,CAAC,YAAY,CAAC;gBAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAC5C,CAAC;gBACD,cAAc,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;YACpC,CAAC;YAED,cAAc,CAAC,YAAY,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,QAAQ,GAAuB,EAAE,CAAC;QAExC,8BAA8B;QAC9B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAc,CAAC,CAAC;YAC1D,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,EAAE,CAAC;gBAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CACnD,kBAAkB,EAClB,KAAc,CACf,CAAC;gBAEF,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClC,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,kGAAkG;QAClG,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,SAAS,CACd,QAEyC,EACzC,cAAsB;;QAEtB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,uBAAuB,GAAG,IAAA,iCAA0B,EAAC,aAAa,CAAC,CAAC;QAE1E,MAAM,cAAc,GAAG,IAAA,wBAAiB,EACtC,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,uBAAuB,EACvB,cAAc,CACf,CAAC;QAEF,8BAA8B;QAC9B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,kBAAkB,GAAG,MAAA,cAAc,CAAC,KAAK,CAAC,0CAAE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,gBAAgB,CAAC,KAAc,EAAE,OAAO,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YAEH,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,KAAc,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAChB,QAEyC,EACzC,KAAa;QAEb,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACtE,MAAM,uBAAuB,GAAG,IAAA,iCAA0B,EAAC,aAAa,CAAC,CAAC;QAE1E,MAAM,cAAc,GAAG,IAAA,wBAAiB,EACtC,IAAI,CAAC,OAAO,CAAC,MAAM,EACnB,uBAAuB,EACvB,KAAK,CACN,CAAC;QAEF,8BAA8B;QAC9B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,KAAc,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAuEK,gBAAgB;6DAOpB,QAAe,iBAAU,CAAC,cAAc,EACxC,SAAuB,EACvB,MAAiB,EACjB,YAAgC;;YAEhC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,gBAAgB,CAAC,CAAC;YACxE,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAEhE,8CAA8C;YAC9C,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,MAAK,IAAI,EAAE,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wDAAwD,CACzD,CAAC;gBACF,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wDAAwD,CACzD,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;YAE/D,MAAM,YAAY,GAA4B;gBAC5C,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE;gBAC7B,MAAM,EAAE;oBACN,oBAAoB,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;oBAClD,kBAAkB,EAAE,GAAG,WAAW,EAAE;oBACpC,OAAO,EAAE,YAAK;iBACf;gBACD,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,CAAC,MAAM,CAAC;aACf,CAAC;YAEF,kBAAkB;YAClB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAE9D,4GAA4G;YAC5G,MAAM,UAAU,GAAG,IAAA,mCAA4B,EAAC,YAAY,CAAC,CAAC;YAE9D,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,qBAAqB,CAG7D,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAE5B,oEAAoE;YACpE,MAAA,eAAe,CAAC,OAAO,0CACnB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,GAAG,CAAC,OAAO,mBACT,KAAK,IACF,WAAW,CACf,CAAC;gBACJ,CAAC;gBAED,OAAO,GAAG,CAAC;YACb,CAAC,EACA,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACX,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,EAAE;wBAClE,CAAC;wBACD,KAAK;wBACL,WAAW;qBACZ,CAAC,CAAC;oBACH,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,CAAC,CAAC,OAAO,GAAG;oBACV,KAAK;oBACL,SAAS;oBACT,MAAM,EAAE,MAAM;iBACf,CAAC;gBACF,WAAW;gBACX,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;YAEL,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4CAA4C,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACnF,CAAC;YAEF,aAAa;YACb,MAAM,eAAe,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;YAEpE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6BAA6B,SAAS,2BAA2B,UAAU,GAAG,CAC/E,CAAC;YAEF,yDAAyD;YACzD,OAAO,eAAe,CAAC,OAAQ,CAAC;QAClC,CAAC;KAAA;IAED;;;;;;OAMG;IAEH;;OAEG;IACO,0BAA0B;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAEe,iCAAiC;;YAC/C,OAAO;QACT,CAAC;KAAA;IAED;;OAEG;IACa,QAAQ,CAAC,KAAY;;YACnC,MAAM,SAAS,GAAG,IAAA,eAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE7D,8DAA8D;YAC9D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO,SAAS,GAAG,GAAG,GAAG,UAAU,CAAC;QACtC,CAAC;KAAA;IAED;;OAEG;IACW,kBAAkB;;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;IAEa,WAAW;6DACvB,SAAiB,EACjB,MAAc,EACd,MAAyB,EACzB,YAA2B,SAAS;YAEpC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;gBAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,MAAM,IAAA,0BAAW,EAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACjE,CAAC;KAAA;IAEe,qBAAqB,CACnC,KAAY;;YAEZ,IAAI,CAAC;gBACH,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAEtE,MAAM,OAAO,GAAoC;oBAC/C,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAI,EAAE,SAAS,EAAE,SAAS,CAAC;oBAC/C,MAAM,EAAE,GAAG,KAAK,OAAO;iBACxB,CAAC;gBAEF,OAAO,OAAO,CAAC;YACjB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,kCAAO,kBAAkB,KAAE,KAAK,IAAG,CAAC;gBACvD,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;KAAA;IAEa,kBAAkB,CAC9B,KAAY;;YAEZ,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAErC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oEAAoE,kCAC/D,kBAAkB,KAAE,KAAK,IAC/B,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,kCAC5C,kBAAkB,KACrB,KAAK,IACL,CAAC;YAEH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;YAEnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,UAAU,CAAC;YAE5E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CACtC,cAAc,GAAG,kBAAkB,EACnC,MAAM,EACN,SAAS,EAAE,sEAAsE;YACjF,SAAS,CACV,CAAC;YAEF,OAAO;gBACL,SAAS,EAAE,kBAAkB;gBAC7B,SAAS;aACV,CAAC;QACJ,CAAC;KAAA;IAEa,gBAAgB,CAC5B,YAA0C;;YAE1C,6EAA6E;YAC7E,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;IAES,aAAa,CAAC,KAAY;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAES,aAAa,CAAC,KAAY;QAClC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,yFAAyF;IAC/E,6BAA6B,CAAC,KAAY;QAClD,OAAO,IAAA,oCAA6B,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAES,+BAA+B,CAAC,MAAa;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC;IACtD,CAAC;IAED;;OAEG;IACa,kBAAkB,CAChC,MAAgB,EAChB,SAAsB,EACtB,QAAmC;IACnC,6EAA6E;IAC7E,MAAa;;YAEb,MAAM,eAAe,GAEf,EAAE,CAAC;YACT,MAAM,uBAAuB,GAAc,EAAE,CAAC;YAE9C,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,KAAK,CAAC,CAAC,CAAC;oBACX,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAE5C,gIAAgI;oBAChI,MAAM,MAAM,GACV,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM;wBAC/D,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;wBAClB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;oBAE7B,MAAM,OAAO,GAAqC;wBAChD,MAAM,EAAE,MAAM;wBACd,EAAE,EAAE,SAAS;wBACb,IAAI,EAAE,MAAM;qBACb,CAAC;oBAEF,MAAM,gBAAgB,GAElB;wBACF,UAAU,EAAE,OAAO,CAAC,MAAM;wBAC1B,YAAY,EAAE,OAAO;qBACtB,CAAC;oBAEF,eAAe,CAAC,IAAI,mBACf,gBAAgB,EACnB,CAAC;oBACH,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,IAAA,iBAAU,EAAC,MAAM,EAAE,qBAAqB,MAAM,GAAG,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;YAED,IAAI,uBAAuB,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,KAAK,GACT,uBAAuB,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBAEtE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,wBAAwB,uBAAuB,CAAC,MAAM,iBAAiB,KAAK,gCAAgC,kCAEvG,kBAAkB,KACrB,uBAAuB,EACvB,kCAAkC,EAAE,IAAI,CAAC,SAAS,CAChD,uBAAuB,EACvB,IAAI,EACJ,CAAC,CACF,IAEJ,CAAC;YACJ,CAAC;YAED,OAAO,eAAe,CAAC;QACzB,CAAC;KAAA;IAES,gBAAgB;QACxB,OAAO,8BAAuB,CAAC;IACjC,CAAC;IAES,oBAAoB,CAAC,KAAY;QACzC,OAAO,8BAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACO,qBAAqB,CAAC,OAAgC;;QAC9D,MAAM,SAAS,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,WAAW,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAA,uBAAgB,EAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,8DAA8D;IACpD,QAAQ,CAAC,GAAQ;QACzB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8DAA8D;IACpD,QAAQ,CAAC,GAAQ;;QACzB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAA,KAAK,QAAQ,EAAE,CAAC;YAClC,wBAAwB;YACxB,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,yBAAyB;YACzB,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAA,MAAA,GAAG,CAAC,KAAK,0CAAE,OAAO,MAAK,MAAM,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,KAAI,IAAA,eAAQ,EAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACO,sBAAsB,CAC9B,KAAY,EACZ,KAAuB;QAEvB,MAAM,OAAO,GAAqB,EAAE,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,gDAAgD;YAChD,2BAA2B;YAC3B,WAAW;YACX,oCAAoC;YACpC,MAAM;YAEN,mCAAmC;YACnC,IAAI,IAAA,sCAA+B,EAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC7D,MAAM,+BAA+B,GACnC,IAAA,iCAA0B,EAAC,MAAM,CAAC,CAAC;gBAErC,IAAI,CAAC,oCAAoC,CACvC,KAAK,EACL,MAAM,CAAC,MAAM,EACb,MAAM,EACN,+BAA+B,CAChC,CAAC;YACJ,CAAC;YAED,MAAM,oBAAoB,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,gBAAgB,GAAG;gBACvB,WAAW;gBACX,aAAa;gBACb,cAAc;gBACd,MAAM;gBACN,MAAM;aACP,CAAC;YAEF,MAAM,UAAU,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC;YACjC,MAAM,cAAc,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,EAAE,CAAC;YAElC,kBAAkB;YAClB,IAAI,IAAA,sBAAe,EAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAE3B,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,CAAC;gBAE9B,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEhD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,KAAK;oBACf,mCAAmC;oBACnC,+IAA+I,EAC/I;wBACE,KAAK;wBACL,UAAU;wBACV,WAAW,EAAE,MAAM;qBACpB,CACF,CAAC;gBACJ,CAAC;gBAED,mBAAmB;gBACnB,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC;wBACH,IAAI,CAAC,UAAU,EAAE,CAAC,qBAAqB,CACrC,KAAK,EACL,UAAU,kBAER,KAAK,IACF,MAAM,GAEX,IAAI,CACL,CAAC;oBACJ,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;4BAC5D,KAAK;4BACL,UAAU;4BACV,WAAW,EAAE,MAAM;4BACnB,KAAK,EAAE,CAAC;yBACT,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC;wBACX,SAAS,EAAE,WAAW;wBACtB,KAAK,EAAE,MAAM;wBACb,eAAe,EAAE,IAAI;qBACtB,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAED,iBAAiB;gBACjB,IAAI,CAAC;oBACH,IAAI,CAAC,UAAU,EAAE,CAAC,sBAAsB,CACtC,KAAK,EACL,UAAU,kBAER,KAAK,IACF,MAAM,GAEX,IAAI,CACL,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;wBAC7D,KAAK;wBACL,UAAU;wBACV,WAAW,EAAE,MAAM;wBACnB,KAAK,EAAE,CAAC;qBACT,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC;oBACX,SAAS,EAAE,UAAU;oBACrB,KAAK,EAAE,MAAM;oBACb,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;gBAEH,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,mEAAmE;YACnE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CAAC;oBACX,SAAS,EAAE,QAAQ;oBACnB,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,wHAAwH;YACxH,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;gBACvC,iBAAiB;gBACjB,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC;wBACX,SAAS,EAAE,WAAW;wBACtB,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAED,gGAAgG;gBAChG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC9C,OAAO,CAAC,IAAI,CAAC;wBACX,SAAS,EAAE,UAAU;wBACrB,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAED,mDAAmD;gBACnD,IAAI,oBAAoB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClD,OAAO,CAAC,IAAI,CAAC;wBACX,SAAS,EAAE,eAAe;wBAC1B,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uCAAuC,cAAc,sCAAsC,EAC3F,MAAM,CACP,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uCAAuC,cAAc,sCAAsC,EAC3F,MAAM,CACP,CAAC;YACJ,CAAC;YAED,iEAAiE;YACjE,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE;oBACL,OAAO,EAAE,6CAA6C;oBACtD,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,KAAK,CAAC,IAAI;iBACtB;gBACD,SAAS,EAAE,WAAW;aACvB,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;gBACjE,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,KAAK,CAAC,IAAI;aACtB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAr3BD,0CAq3BC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bybit-api",
|
|
3
|
-
"version": "4.
|
|
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",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"betapublish": "npm publish --tag beta",
|
|
22
22
|
"lint": "eslint src"
|
|
23
23
|
},
|
|
24
|
-
"author": "Tiago Siebler (https://
|
|
24
|
+
"author": "Tiago Siebler (https://siebly.io)",
|
|
25
25
|
"contributors": [],
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"axios": "^1.13.2",
|