tardis-dev 13.7.1 → 13.8.1

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.
@@ -8,6 +8,7 @@ declare abstract class BinanceRealTimeFeedBase extends MultiConnectionRealTimeFe
8
8
  protected abstract suffixes: {
9
9
  [key: string]: string;
10
10
  };
11
+ protected abstract depthRequestRequestWeight: number;
11
12
  protected _getRealTimeFeeds(exchange: string, filters: Filter<string>[], timeoutIntervalMS?: number, onError?: (error: Error) => void): Generator<BinanceSingleConnectionRealTimeFeed | BinanceFuturesOpenInterestClient, void, unknown>;
12
13
  }
13
14
  declare class BinanceFuturesOpenInterestClient extends PoolingClientBase {
@@ -20,9 +21,10 @@ declare class BinanceSingleConnectionRealTimeFeed extends RealTimeFeedBase {
20
21
  protected wssURL: string;
21
22
  private readonly _httpURL;
22
23
  private readonly _suffixes;
24
+ private readonly _depthRequestRequestWeight;
23
25
  constructor(exchange: string, filters: Filter<string>[], wssURL: string, _httpURL: string, _suffixes: {
24
26
  [key: string]: string;
25
- }, timeoutIntervalMS: number | undefined, onError?: (error: Error) => void);
27
+ }, _depthRequestRequestWeight: number, timeoutIntervalMS: number | undefined, onError?: (error: Error) => void);
26
28
  protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
27
29
  protected messageIsError(message: any): boolean;
28
30
  protected provideManualSnapshots(filters: Filter<string>[], shouldCancel: () => boolean): Promise<void>;
@@ -33,6 +35,7 @@ export declare class BinanceRealTimeFeed extends BinanceRealTimeFeedBase {
33
35
  protected suffixes: {
34
36
  depth: string;
35
37
  };
38
+ protected depthRequestRequestWeight: number;
36
39
  }
37
40
  export declare class BinanceJerseyRealTimeFeed extends BinanceRealTimeFeedBase {
38
41
  protected wssURL: string;
@@ -40,6 +43,7 @@ export declare class BinanceJerseyRealTimeFeed extends BinanceRealTimeFeedBase {
40
43
  protected suffixes: {
41
44
  depth: string;
42
45
  };
46
+ protected depthRequestRequestWeight: number;
43
47
  }
44
48
  export declare class BinanceUSRealTimeFeed extends BinanceRealTimeFeedBase {
45
49
  protected wssURL: string;
@@ -47,6 +51,7 @@ export declare class BinanceUSRealTimeFeed extends BinanceRealTimeFeedBase {
47
51
  protected suffixes: {
48
52
  depth: string;
49
53
  };
54
+ protected depthRequestRequestWeight: number;
50
55
  }
51
56
  export declare class BinanceFuturesRealTimeFeed extends BinanceRealTimeFeedBase {
52
57
  protected wssURL: string;
@@ -55,6 +60,7 @@ export declare class BinanceFuturesRealTimeFeed extends BinanceRealTimeFeedBase
55
60
  depth: string;
56
61
  markPrice: string;
57
62
  };
63
+ protected depthRequestRequestWeight: number;
58
64
  }
59
65
  export declare class BinanceDeliveryRealTimeFeed extends BinanceRealTimeFeedBase {
60
66
  protected wssURL: string;
@@ -64,6 +70,7 @@ export declare class BinanceDeliveryRealTimeFeed extends BinanceRealTimeFeedBase
64
70
  markPrice: string;
65
71
  indexPrice: string;
66
72
  };
73
+ protected depthRequestRequestWeight: number;
67
74
  }
68
75
  export {};
69
76
  //# sourceMappingURL=binance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binance.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/binance.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAErG,uBAAe,uBAAwB,SAAQ,+BAA+B;IAC5E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACjC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAClC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IAEtD,SAAS,CAAE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;CAsBvI;AAED,cAAM,gCAAiC,SAAQ,iBAAiB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAU,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAlF,QAAQ,EAAE,MAAM,EAAmB,QAAQ,EAAE,MAAM,EAAmB,YAAY,EAAE,MAAM,EAAE;cAIxF,gBAAgB,CAAC,YAAY,EAAE,QAAQ;CAyBxD;AAED,cAAM,mCAAoC,SAAQ,gBAAgB;IAI9D,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAJ1B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EACf,MAAM,EAAE,MAAM,EACP,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EACrD,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAKlC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IAqBlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;cAiB/B,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO;CA0B9F;AAED,qBAAa,mBAAoB,SAAQ,uBAAuB;IAC9D,SAAS,CAAC,MAAM,SAAyC;IACzD,SAAS,CAAC,OAAO,SAAmC;IAEpD,SAAS,CAAC,QAAQ;;MAEjB;CACF;AAED,qBAAa,yBAA0B,SAAQ,uBAAuB;IACpE,SAAS,CAAC,MAAM,SAAwC;IACxD,SAAS,CAAC,OAAO,SAAkC;IAEnD,SAAS,CAAC,QAAQ;;MAEjB;CACF;AAED,qBAAa,qBAAsB,SAAQ,uBAAuB;IAChE,SAAS,CAAC,MAAM,SAAwC;IACxD,SAAS,CAAC,OAAO,SAAkC;IAEnD,SAAS,CAAC,QAAQ;;MAEjB;CACF;AAED,qBAAa,0BAA2B,SAAQ,uBAAuB;IACrE,SAAS,CAAC,MAAM,SAAqC;IACrD,SAAS,CAAC,OAAO,SAAqC;IAEtD,SAAS,CAAC,QAAQ;;;MAGjB;CACF;AAED,qBAAa,2BAA4B,SAAQ,uBAAuB;IACtE,SAAS,CAAC,MAAM,SAAqC;IACrD,SAAS,CAAC,OAAO,SAAqC;IAEtD,SAAS,CAAC,QAAQ;;;;MAIjB;CACF"}
1
+ {"version":3,"file":"binance.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/binance.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BinanceDeliveryRealTimeFeed = exports.BinanceFuturesRealTimeFeed = exports.BinanceUSRealTimeFeed = exports.BinanceJerseyRealTimeFeed = exports.BinanceRealTimeFeed = void 0;
4
4
  const handy_1 = require("../handy");
5
5
  const realtimefeed_1 = require("./realtimefeed");
6
+ const binanceHttpOptions = {
7
+ timeout: 10 * 1000,
8
+ retry: {
9
+ limit: 10,
10
+ statusCodes: [408, 429, 500],
11
+ maxRetryAfter: 120 * 1000
12
+ }
13
+ };
6
14
  class BinanceRealTimeFeedBase extends realtimefeed_1.MultiConnectionRealTimeFeedBase {
7
15
  *_getRealTimeFeeds(exchange, filters, timeoutIntervalMS, onError) {
8
16
  const wsFilters = filters.filter((f) => f.channel !== 'openInterest' && f.channel !== 'recentTrades');
9
17
  if (wsFilters.length > 0) {
10
- yield new BinanceSingleConnectionRealTimeFeed(exchange, wsFilters, this.wssURL, this.httpURL, this.suffixes, timeoutIntervalMS, onError);
18
+ yield new BinanceSingleConnectionRealTimeFeed(exchange, wsFilters, this.wssURL, this.httpURL, this.suffixes, this.depthRequestRequestWeight, timeoutIntervalMS, onError);
11
19
  }
12
20
  const openInterestFilters = filters.filter((f) => f.channel === 'openInterest');
13
21
  if (openInterestFilters.length > 0) {
@@ -29,7 +37,7 @@ class BinanceFuturesOpenInterestClient extends realtimefeed_1.PoolingClientBase
29
37
  return;
30
38
  }
31
39
  const openInterestResponse = (await handy_1.httpClient
32
- .get(`${this._httpURL}/openInterest?symbol=${instrument.toUpperCase()}`, { timeout: 10000 })
40
+ .get(`${this._httpURL}/openInterest?symbol=${instrument.toUpperCase()}`, binanceHttpOptions)
33
41
  .json());
34
42
  const openInterestMessage = {
35
43
  stream: `${instrument.toLocaleLowerCase()}@openInterest`,
@@ -44,11 +52,12 @@ class BinanceFuturesOpenInterestClient extends realtimefeed_1.PoolingClientBase
44
52
  }
45
53
  }
46
54
  class BinanceSingleConnectionRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
47
- constructor(exchange, filters, wssURL, _httpURL, _suffixes, timeoutIntervalMS, onError) {
55
+ constructor(exchange, filters, wssURL, _httpURL, _suffixes, _depthRequestRequestWeight, timeoutIntervalMS, onError) {
48
56
  super(exchange, filters, timeoutIntervalMS, onError);
49
57
  this.wssURL = wssURL;
50
58
  this._httpURL = _httpURL;
51
59
  this._suffixes = _suffixes;
60
+ this._depthRequestRequestWeight = _depthRequestRequestWeight;
52
61
  }
53
62
  mapToSubscribeMessages(filters) {
54
63
  const payload = filters
@@ -85,22 +94,57 @@ class BinanceSingleConnectionRealTimeFeed extends realtimefeed_1.RealTimeFeedBas
85
94
  if (!depthSnapshotFilter) {
86
95
  return;
87
96
  }
88
- this.debug('requesting manual snapshots for: %s', depthSnapshotFilter.symbols);
89
- for (let symbol of depthSnapshotFilter.symbols) {
97
+ let currentWeightLimit = 0;
98
+ const exchangeInfoResponse = await handy_1.httpClient.get(`${this._httpURL}/exchangeInfo`, binanceHttpOptions);
99
+ const exchangeInfo = JSON.parse(exchangeInfoResponse.body);
100
+ const REQUEST_WEIGHT_LIMIT_ENV = `${this._exchange.toUpperCase().replace(/-/g, '_')}_REQUEST_WEIGHT_LIMIT`;
101
+ if (process.env[REQUEST_WEIGHT_LIMIT_ENV] !== undefined) {
102
+ currentWeightLimit = Number.parseInt(process.env[REQUEST_WEIGHT_LIMIT_ENV]);
103
+ }
104
+ if (!currentWeightLimit) {
105
+ currentWeightLimit = exchangeInfo.rateLimits.find((d) => d.rateLimitType === 'REQUEST_WEIGHT').limit;
106
+ }
107
+ let usedWeight = Number.parseInt(exchangeInfoResponse.headers['x-mbx-used-weight-1m']);
108
+ this.debug('current x-mbx-used-weight-1m limit: %s, already used weight: %s', currentWeightLimit, usedWeight);
109
+ let concurrencyLimit = 4;
110
+ const CONCURRENCY_LIMIT_WEIGHT_ENV = `${this._exchange.toUpperCase().replace(/-/g, '_')}_CONCURRENCY_LIMIT`;
111
+ if (process.env[CONCURRENCY_LIMIT_WEIGHT_ENV] !== undefined) {
112
+ concurrencyLimit = Number.parseInt(process.env[CONCURRENCY_LIMIT_WEIGHT_ENV]);
113
+ }
114
+ this.debug('current snapshots requests concurrency limit: %s', concurrencyLimit);
115
+ let minWeightBuffer = 2 * concurrencyLimit * this._depthRequestRequestWeight;
116
+ const MIN_WEIGHT_BUFFER_ENV = `${this._exchange.toUpperCase().replace(/-/g, '_')}_MIN_AVAILABLE_WEIGHT_BUFFER`;
117
+ if (process.env[MIN_WEIGHT_BUFFER_ENV] !== undefined) {
118
+ minWeightBuffer = Number.parseInt(process.env[MIN_WEIGHT_BUFFER_ENV]);
119
+ }
120
+ for (const symbolsBatch of (0, handy_1.batch)(depthSnapshotFilter.symbols, concurrencyLimit)) {
90
121
  if (shouldCancel()) {
91
122
  return;
92
123
  }
93
- const depthSnapshotResponse = (await handy_1.httpClient
94
- .get(`${this._httpURL}/depth?symbol=${symbol.toUpperCase()}&limit=1000`, { timeout: 10000 })
95
- .json());
96
- const snapshot = {
97
- stream: `${symbol}@depthSnapshot`,
98
- generated: true,
99
- data: depthSnapshotResponse
100
- };
101
- this.manualSnapshotsBuffer.push(snapshot);
124
+ this.debug('requesting manual snapshots for: %s', symbolsBatch);
125
+ const usedWeights = await Promise.all(symbolsBatch.map(async (symbol) => {
126
+ if (shouldCancel()) {
127
+ return 0;
128
+ }
129
+ const isOverRateLimit = currentWeightLimit - usedWeight < minWeightBuffer;
130
+ if (isOverRateLimit) {
131
+ const secondsToWait = 61 - new Date().getUTCSeconds();
132
+ this.debug('reached rate limit (x-mbx-used-weight-1m limit: %s, used weight: %s, minimum available weight buffer: %s), waiting: %s seconds', currentWeightLimit, usedWeight, minWeightBuffer, secondsToWait);
133
+ await (0, handy_1.wait)(secondsToWait * 1000);
134
+ }
135
+ const depthSnapshotResponse = await handy_1.httpClient.get(`${this._httpURL}/depth?symbol=${symbol.toUpperCase()}&limit=1000`, binanceHttpOptions);
136
+ const snapshot = {
137
+ stream: `${symbol}@depthSnapshot`,
138
+ generated: true,
139
+ data: JSON.parse(depthSnapshotResponse.body)
140
+ };
141
+ this.manualSnapshotsBuffer.push(snapshot);
142
+ return Number.parseInt(depthSnapshotResponse.headers['x-mbx-used-weight-1m']);
143
+ }));
144
+ usedWeight = Math.max(...usedWeights);
145
+ this.debug('requested manual snapshots successfully for: %s, used weight: %s', symbolsBatch, usedWeight);
102
146
  }
103
- this.debug('requested manual snapshots successfully for: %s ', depthSnapshotFilter.symbols);
147
+ this.debug('requested all manual snapshots successfully');
104
148
  }
105
149
  }
106
150
  class BinanceRealTimeFeed extends BinanceRealTimeFeedBase {
@@ -111,6 +155,7 @@ class BinanceRealTimeFeed extends BinanceRealTimeFeedBase {
111
155
  this.suffixes = {
112
156
  depth: '100ms'
113
157
  };
158
+ this.depthRequestRequestWeight = 10;
114
159
  }
115
160
  }
116
161
  exports.BinanceRealTimeFeed = BinanceRealTimeFeed;
@@ -122,6 +167,7 @@ class BinanceJerseyRealTimeFeed extends BinanceRealTimeFeedBase {
122
167
  this.suffixes = {
123
168
  depth: '100ms'
124
169
  };
170
+ this.depthRequestRequestWeight = 10;
125
171
  }
126
172
  }
127
173
  exports.BinanceJerseyRealTimeFeed = BinanceJerseyRealTimeFeed;
@@ -133,6 +179,7 @@ class BinanceUSRealTimeFeed extends BinanceRealTimeFeedBase {
133
179
  this.suffixes = {
134
180
  depth: '100ms'
135
181
  };
182
+ this.depthRequestRequestWeight = 10;
136
183
  }
137
184
  }
138
185
  exports.BinanceUSRealTimeFeed = BinanceUSRealTimeFeed;
@@ -145,6 +192,7 @@ class BinanceFuturesRealTimeFeed extends BinanceRealTimeFeedBase {
145
192
  depth: '0ms',
146
193
  markPrice: '1s'
147
194
  };
195
+ this.depthRequestRequestWeight = 20;
148
196
  }
149
197
  }
150
198
  exports.BinanceFuturesRealTimeFeed = BinanceFuturesRealTimeFeed;
@@ -158,6 +206,7 @@ class BinanceDeliveryRealTimeFeed extends BinanceRealTimeFeedBase {
158
206
  markPrice: '1s',
159
207
  indexPrice: '1s'
160
208
  };
209
+ this.depthRequestRequestWeight = 20;
161
210
  }
162
211
  }
163
212
  exports.BinanceDeliveryRealTimeFeed = BinanceDeliveryRealTimeFeed;
@@ -1 +1 @@
1
- {"version":3,"file":"binance.js","sourceRoot":"","sources":["../../src/realtimefeeds/binance.ts"],"names":[],"mappings":";;;AACA,oCAA4C;AAE5C,iDAAqG;AAErG,MAAe,uBAAwB,SAAQ,8CAA+B;IAKlE,CAAC,iBAAiB,CAAC,QAAgB,EAAE,OAAyB,EAAE,iBAA0B,EAAE,OAAgC;QACpI,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,cAAc,IAAI,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC,CAAA;QAErG,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,MAAM,IAAI,mCAAmC,CAC3C,QAAQ,EACR,SAAS,EACT,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,EACb,iBAAiB,EACjB,OAAO,CACR,CAAA;SACF;QAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC,CAAA;QAC/E,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAA;YAElE,MAAM,IAAI,gCAAgC,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;SAChF;IACH,CAAC;CACF;AAED,MAAM,gCAAiC,SAAQ,gCAAiB;IAC9D,YAAY,QAAgB,EAAmB,QAAgB,EAAmB,YAAsB;QACtG,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAD0B,aAAQ,GAAR,QAAQ,CAAQ;QAAmB,iBAAY,GAAZ,YAAY,CAAU;IAExG,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,YAAsB;QACrD,KAAK,MAAM,WAAW,IAAI,IAAA,aAAK,EAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;YACtD,MAAM,OAAO,CAAC,UAAU,CACtB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;gBACnC,IAAI,YAAY,CAAC,SAAS,EAAE;oBAC1B,OAAM;iBACP;gBAED,MAAM,oBAAoB,GAAG,CAAC,MAAM,kBAAU;qBAC3C,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,wBAAwB,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;qBAC3F,IAAI,EAAE,CAAQ,CAAA;gBAEjB,MAAM,mBAAmB,GAAG;oBAC1B,MAAM,EAAE,GAAG,UAAU,CAAC,iBAAiB,EAAE,eAAe;oBACxD,SAAS,EAAE,IAAI;oBACf,IAAI,EAAE,oBAAoB;iBAC3B,CAAA;gBAED,IAAI,YAAY,CAAC,QAAQ,EAAE;oBACzB,YAAY,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;iBACxC;YACH,CAAC,CAAC,CACH,CAAA;SACF;IACH,CAAC;CACF;AAED,MAAM,mCAAoC,SAAQ,+BAAgB;IAChE,YACE,QAAgB,EAChB,OAAyB,EACf,MAAc,EACP,QAAgB,EAChB,SAAoC,EACrD,iBAAqC,EACrC,OAAgC;QAEhC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QAN1C,WAAM,GAAN,MAAM,CAAQ;QACP,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAA2B;IAKvD,CAAC;IAES,sBAAsB,CAAC,OAAyB;QACxD,MAAM,OAAO,GAAG,OAAO;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,eAAe,CAAC;aAC5C,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAA;aAC3G;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC7C,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAA;YAErF,OAAO;gBACL,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9D,EAAE,EAAE,KAAK,GAAG,CAAC;aACd,CAAA;QACH,CAAC,CAAC,CAAA;QAEJ,OAAO,OAAO,CAAA;IAChB,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,oCAAoC;QACpC,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;YAC3B,OAAO,KAAK,CAAA;SACb;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,OAAO,IAAI,CAAA;SACZ;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YAC/B,OAAO,IAAI,CAAA;SACZ;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,OAAyB,EAAE,YAA2B;QAC3F,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,eAAe,CAAC,CAAA;QAC9E,IAAI,CAAC,mBAAmB,EAAE;YACxB,OAAM;SACP;QACD,IAAI,CAAC,KAAK,CAAC,qCAAqC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAC9E,KAAK,IAAI,MAAM,IAAI,mBAAmB,CAAC,OAAQ,EAAE;YAC/C,IAAI,YAAY,EAAE,EAAE;gBAClB,OAAM;aACP;YAED,MAAM,qBAAqB,GAAG,CAAC,MAAM,kBAAU;iBAC5C,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,iBAAiB,MAAM,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBAC3F,IAAI,EAAE,CAAQ,CAAA;YAEjB,MAAM,QAAQ,GAAG;gBACf,MAAM,EAAE,GAAG,MAAM,gBAAgB;gBACjC,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,qBAAqB;aAC5B,CAAA;YAED,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SAC1C;QAED,IAAI,CAAC,KAAK,CAAC,kDAAkD,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC7F,CAAC;CACF;AAED,MAAa,mBAAoB,SAAQ,uBAAuB;IAAhE;;QACY,WAAM,GAAG,sCAAsC,CAAA;QAC/C,YAAO,GAAG,gCAAgC,CAAA;QAE1C,aAAQ,GAAG;YACnB,KAAK,EAAE,OAAO;SACf,CAAA;IACH,CAAC;CAAA;AAPD,kDAOC;AAED,MAAa,yBAA0B,SAAQ,uBAAuB;IAAtE;;QACY,WAAM,GAAG,qCAAqC,CAAA;QAC9C,YAAO,GAAG,+BAA+B,CAAA;QAEzC,aAAQ,GAAG;YACnB,KAAK,EAAE,OAAO;SACf,CAAA;IACH,CAAC;CAAA;AAPD,8DAOC;AAED,MAAa,qBAAsB,SAAQ,uBAAuB;IAAlE;;QACY,WAAM,GAAG,qCAAqC,CAAA;QAC9C,YAAO,GAAG,+BAA+B,CAAA;QAEzC,aAAQ,GAAG;YACnB,KAAK,EAAE,OAAO;SACf,CAAA;IACH,CAAC;CAAA;AAPD,sDAOC;AAED,MAAa,0BAA2B,SAAQ,uBAAuB;IAAvE;;QACY,WAAM,GAAG,kCAAkC,CAAA;QAC3C,YAAO,GAAG,kCAAkC,CAAA;QAE5C,aAAQ,GAAG;YACnB,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,IAAI;SAChB,CAAA;IACH,CAAC;CAAA;AARD,gEAQC;AAED,MAAa,2BAA4B,SAAQ,uBAAuB;IAAxE;;QACY,WAAM,GAAG,kCAAkC,CAAA;QAC3C,YAAO,GAAG,kCAAkC,CAAA;QAE5C,aAAQ,GAAG;YACnB,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;SACjB,CAAA;IACH,CAAC;CAAA;AATD,kEASC"}
1
+ {"version":3,"file":"binance.js","sourceRoot":"","sources":["../../src/realtimefeeds/binance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cryptocomderivatives.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/cryptocomderivatives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,qBAAa,gCAAiC,SAAQ,gBAAgB;IACpE,SAAS,CAAC,MAAM,SAA4C;IAE5D,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IA4BlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI/C,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG;IAQ5B,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG;CAGtC"}
1
+ {"version":3,"file":"cryptocomderivatives.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/cryptocomderivatives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,qBAAa,gCAAiC,SAAQ,gBAAgB;IACpE,SAAS,CAAC,MAAM,SAA4C;IAE5D,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IA2BlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI/C,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG;IAQ5B,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG;CAGtC"}
@@ -26,8 +26,7 @@ class CryptoComDerivativesRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
26
26
  nonce: new Date().valueOf(),
27
27
  params: {
28
28
  channels: channels,
29
- book_subscription_type: 'SNAPSHOT_AND_UPDATE',
30
- book_update_frequency: 5
29
+ book_subscription_type: 'SNAPSHOT_AND_UPDATE'
31
30
  }
32
31
  }
33
32
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"cryptocomderivatives.js","sourceRoot":"","sources":["../../src/realtimefeeds/cryptocomderivatives.ts"],"names":[],"mappings":";;;AACA,iDAAiD;AAEjD,MAAa,gCAAiC,SAAQ,+BAAgB;IAAtE;;QACY,WAAM,GAAG,yCAAyC,CAAA;IA6C9D,CAAC;IA3CW,sBAAsB,CAAC,OAAyB;QACxD,MAAM,QAAQ,GAAG,OAAO;aACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAA;aACxH;YAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;gBACrD,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,GAAG,MAAM,EAAE,CAAA;YAC/C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAEpB,OAAO;YACL;gBACE,EAAE,EAAE,CAAC;gBACL,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;gBAC3B,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAQ;oBAClB,sBAAsB,EAAE,qBAAqB;oBAC7C,qBAAqB,EAAE,CAAC;iBACzB;aACF;SACF,CAAA;IACH,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAA;IACnF,CAAC;IAES,SAAS,CAAC,GAAQ;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,kBAAkB,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,0BAA0B;aACnC,CAAC,CAAA;SACH;IACH,CAAC;IACS,kBAAkB,CAAC,GAAQ;QACnC,OAAO,GAAG,CAAC,MAAM,KAAK,kBAAkB,CAAA;IAC1C,CAAC;CACF;AA9CD,4EA8CC"}
1
+ {"version":3,"file":"cryptocomderivatives.js","sourceRoot":"","sources":["../../src/realtimefeeds/cryptocomderivatives.ts"],"names":[],"mappings":";;;AACA,iDAAiD;AAEjD,MAAa,gCAAiC,SAAQ,+BAAgB;IAAtE;;QACY,WAAM,GAAG,yCAAyC,CAAA;IA4C9D,CAAC;IA1CW,sBAAsB,CAAC,OAAyB;QACxD,MAAM,QAAQ,GAAG,OAAO;aACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAA;aACxH;YAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;gBACrD,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,GAAG,MAAM,EAAE,CAAA;YAC/C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAEpB,OAAO;YACL;gBACE,EAAE,EAAE,CAAC;gBACL,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;gBAC3B,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAQ;oBAClB,sBAAsB,EAAE,qBAAqB;iBAC9C;aACF;SACF,CAAA;IACH,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAA;IACnF,CAAC;IAES,SAAS,CAAC,GAAQ;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,kBAAkB,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,0BAA0B;aACnC,CAAC,CAAA;SACH;IACH,CAAC;IACS,kBAAkB,CAAC,GAAQ;QACnC,OAAO,GAAG,CAAC,MAAM,KAAK,kBAAkB,CAAA;IAC1C,CAAC;CACF;AA7CD,4EA6CC"}
@@ -76,7 +76,7 @@ class RealTimeFeedBase {
76
76
  return this._stream();
77
77
  }
78
78
  async getWebSocketUrl() {
79
- const wssUrlOverride = process.env[`WSS_URL_${this._exchange.toUpperCase()}`];
79
+ const wssUrlOverride = process.env[`WSS_URL_${this._exchange.toUpperCase().replace(/-/g, '_')}`];
80
80
  const finalWssUrl = wssUrlOverride !== undefined ? wssUrlOverride : this.wssURL;
81
81
  return finalWssUrl;
82
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"realtimefeed.js","sourceRoot":"","sources":["../../src/realtimefeeds/realtimefeed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realtimefeed.js","sourceRoot":"","sources":["../../src/realtimefeeds/realtimefeed.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tardis-dev",
3
- "version": "13.7.1",
3
+ "version": "13.8.1",
4
4
  "engines": {
5
5
  "node": ">=12"
6
6
  },
@@ -1,12 +1,22 @@
1
1
  import { Writable } from 'stream'
2
- import { batch, httpClient } from '../handy'
2
+ import { batch, httpClient, wait } from '../handy'
3
3
  import { Filter } from '../types'
4
4
  import { MultiConnectionRealTimeFeedBase, PoolingClientBase, RealTimeFeedBase } from './realtimefeed'
5
5
 
6
+ const binanceHttpOptions = {
7
+ timeout: 10 * 1000,
8
+ retry: {
9
+ limit: 10,
10
+ statusCodes: [408, 429, 500],
11
+ maxRetryAfter: 120 * 1000
12
+ }
13
+ }
14
+
6
15
  abstract class BinanceRealTimeFeedBase extends MultiConnectionRealTimeFeedBase {
7
16
  protected abstract wssURL: string
8
17
  protected abstract httpURL: string
9
18
  protected abstract suffixes: { [key: string]: string }
19
+ protected abstract depthRequestRequestWeight: number
10
20
 
11
21
  protected *_getRealTimeFeeds(exchange: string, filters: Filter<string>[], timeoutIntervalMS?: number, onError?: (error: Error) => void) {
12
22
  const wsFilters = filters.filter((f) => f.channel !== 'openInterest' && f.channel !== 'recentTrades')
@@ -18,6 +28,7 @@ abstract class BinanceRealTimeFeedBase extends MultiConnectionRealTimeFeedBase {
18
28
  this.wssURL,
19
29
  this.httpURL,
20
30
  this.suffixes,
31
+ this.depthRequestRequestWeight,
21
32
  timeoutIntervalMS,
22
33
  onError
23
34
  )
@@ -44,9 +55,8 @@ class BinanceFuturesOpenInterestClient extends PoolingClientBase {
44
55
  if (outputStream.destroyed) {
45
56
  return
46
57
  }
47
-
48
58
  const openInterestResponse = (await httpClient
49
- .get(`${this._httpURL}/openInterest?symbol=${instrument.toUpperCase()}`, { timeout: 10000 })
59
+ .get(`${this._httpURL}/openInterest?symbol=${instrument.toUpperCase()}`, binanceHttpOptions)
50
60
  .json()) as any
51
61
 
52
62
  const openInterestMessage = {
@@ -71,6 +81,7 @@ class BinanceSingleConnectionRealTimeFeed extends RealTimeFeedBase {
71
81
  protected wssURL: string,
72
82
  private readonly _httpURL: string,
73
83
  private readonly _suffixes: { [key: string]: string },
84
+ private readonly _depthRequestRequestWeight: number,
74
85
  timeoutIntervalMS: number | undefined,
75
86
  onError?: (error: Error) => void
76
87
  ) {
@@ -117,29 +128,99 @@ class BinanceSingleConnectionRealTimeFeed extends RealTimeFeedBase {
117
128
 
118
129
  protected async provideManualSnapshots(filters: Filter<string>[], shouldCancel: () => boolean) {
119
130
  const depthSnapshotFilter = filters.find((f) => f.channel === 'depthSnapshot')
131
+
120
132
  if (!depthSnapshotFilter) {
121
133
  return
122
134
  }
123
- this.debug('requesting manual snapshots for: %s', depthSnapshotFilter.symbols)
124
- for (let symbol of depthSnapshotFilter.symbols!) {
135
+
136
+ let currentWeightLimit: number = 0
137
+
138
+ const exchangeInfoResponse = await httpClient.get(`${this._httpURL}/exchangeInfo`, binanceHttpOptions)
139
+
140
+ const exchangeInfo = JSON.parse(exchangeInfoResponse.body)
141
+
142
+ const REQUEST_WEIGHT_LIMIT_ENV = `${this._exchange.toUpperCase().replace(/-/g, '_')}_REQUEST_WEIGHT_LIMIT`
143
+
144
+ if (process.env[REQUEST_WEIGHT_LIMIT_ENV] !== undefined) {
145
+ currentWeightLimit = Number.parseInt(process.env[REQUEST_WEIGHT_LIMIT_ENV] as string)
146
+ }
147
+
148
+ if (!currentWeightLimit) {
149
+ currentWeightLimit = exchangeInfo.rateLimits.find((d: any) => d.rateLimitType === 'REQUEST_WEIGHT').limit as number
150
+ }
151
+
152
+ let usedWeight = Number.parseInt(exchangeInfoResponse.headers['x-mbx-used-weight-1m'] as string)
153
+
154
+ this.debug('current x-mbx-used-weight-1m limit: %s, already used weight: %s', currentWeightLimit, usedWeight)
155
+
156
+ let concurrencyLimit = 4
157
+
158
+ const CONCURRENCY_LIMIT_WEIGHT_ENV = `${this._exchange.toUpperCase().replace(/-/g, '_')}_CONCURRENCY_LIMIT`
159
+
160
+ if (process.env[CONCURRENCY_LIMIT_WEIGHT_ENV] !== undefined) {
161
+ concurrencyLimit = Number.parseInt(process.env[CONCURRENCY_LIMIT_WEIGHT_ENV] as string)
162
+ }
163
+
164
+ this.debug('current snapshots requests concurrency limit: %s', concurrencyLimit)
165
+
166
+ let minWeightBuffer = 2 * concurrencyLimit * this._depthRequestRequestWeight
167
+
168
+ const MIN_WEIGHT_BUFFER_ENV = `${this._exchange.toUpperCase().replace(/-/g, '_')}_MIN_AVAILABLE_WEIGHT_BUFFER`
169
+
170
+ if (process.env[MIN_WEIGHT_BUFFER_ENV] !== undefined) {
171
+ minWeightBuffer = Number.parseInt(process.env[MIN_WEIGHT_BUFFER_ENV] as string)
172
+ }
173
+
174
+ for (const symbolsBatch of batch(depthSnapshotFilter.symbols!, concurrencyLimit)) {
125
175
  if (shouldCancel()) {
126
176
  return
127
177
  }
128
178
 
129
- const depthSnapshotResponse = (await httpClient
130
- .get(`${this._httpURL}/depth?symbol=${symbol.toUpperCase()}&limit=1000`, { timeout: 10000 })
131
- .json()) as any
179
+ this.debug('requesting manual snapshots for: %s', symbolsBatch)
132
180
 
133
- const snapshot = {
134
- stream: `${symbol}@depthSnapshot`,
135
- generated: true,
136
- data: depthSnapshotResponse
137
- }
181
+ const usedWeights = await Promise.all(
182
+ symbolsBatch.map(async (symbol) => {
183
+ if (shouldCancel()) {
184
+ return 0
185
+ }
138
186
 
139
- this.manualSnapshotsBuffer.push(snapshot)
140
- }
187
+ const isOverRateLimit = currentWeightLimit - usedWeight < minWeightBuffer
188
+
189
+ if (isOverRateLimit) {
190
+ const secondsToWait = 61 - new Date().getUTCSeconds()
191
+ this.debug(
192
+ 'reached rate limit (x-mbx-used-weight-1m limit: %s, used weight: %s, minimum available weight buffer: %s), waiting: %s seconds',
193
+ currentWeightLimit,
194
+ usedWeight,
195
+ minWeightBuffer,
196
+ secondsToWait
197
+ )
198
+
199
+ await wait(secondsToWait * 1000)
200
+ }
201
+
202
+ const depthSnapshotResponse = await httpClient.get(
203
+ `${this._httpURL}/depth?symbol=${symbol.toUpperCase()}&limit=1000`,
204
+ binanceHttpOptions
205
+ )
206
+
207
+ const snapshot = {
208
+ stream: `${symbol}@depthSnapshot`,
209
+ generated: true,
210
+ data: JSON.parse(depthSnapshotResponse.body)
211
+ }
141
212
 
142
- this.debug('requested manual snapshots successfully for: %s ', depthSnapshotFilter.symbols)
213
+ this.manualSnapshotsBuffer.push(snapshot)
214
+
215
+ return Number.parseInt(depthSnapshotResponse.headers['x-mbx-used-weight-1m'] as string)
216
+ })
217
+ )
218
+
219
+ usedWeight = Math.max(...usedWeights)
220
+
221
+ this.debug('requested manual snapshots successfully for: %s, used weight: %s', symbolsBatch, usedWeight)
222
+ }
223
+ this.debug('requested all manual snapshots successfully')
143
224
  }
144
225
  }
145
226
 
@@ -150,6 +231,8 @@ export class BinanceRealTimeFeed extends BinanceRealTimeFeedBase {
150
231
  protected suffixes = {
151
232
  depth: '100ms'
152
233
  }
234
+
235
+ protected depthRequestRequestWeight = 10
153
236
  }
154
237
 
155
238
  export class BinanceJerseyRealTimeFeed extends BinanceRealTimeFeedBase {
@@ -159,6 +242,8 @@ export class BinanceJerseyRealTimeFeed extends BinanceRealTimeFeedBase {
159
242
  protected suffixes = {
160
243
  depth: '100ms'
161
244
  }
245
+
246
+ protected depthRequestRequestWeight = 10
162
247
  }
163
248
 
164
249
  export class BinanceUSRealTimeFeed extends BinanceRealTimeFeedBase {
@@ -168,6 +253,8 @@ export class BinanceUSRealTimeFeed extends BinanceRealTimeFeedBase {
168
253
  protected suffixes = {
169
254
  depth: '100ms'
170
255
  }
256
+
257
+ protected depthRequestRequestWeight = 10
171
258
  }
172
259
 
173
260
  export class BinanceFuturesRealTimeFeed extends BinanceRealTimeFeedBase {
@@ -178,6 +265,8 @@ export class BinanceFuturesRealTimeFeed extends BinanceRealTimeFeedBase {
178
265
  depth: '0ms',
179
266
  markPrice: '1s'
180
267
  }
268
+
269
+ protected depthRequestRequestWeight = 20
181
270
  }
182
271
 
183
272
  export class BinanceDeliveryRealTimeFeed extends BinanceRealTimeFeedBase {
@@ -189,4 +278,6 @@ export class BinanceDeliveryRealTimeFeed extends BinanceRealTimeFeedBase {
189
278
  markPrice: '1s',
190
279
  indexPrice: '1s'
191
280
  }
281
+
282
+ protected depthRequestRequestWeight = 20
192
283
  }
@@ -25,8 +25,7 @@ export class CryptoComDerivativesRealTimeFeed extends RealTimeFeedBase {
25
25
  nonce: new Date().valueOf(),
26
26
  params: {
27
27
  channels: channels,
28
- book_subscription_type: 'SNAPSHOT_AND_UPDATE',
29
- book_update_frequency: 5
28
+ book_subscription_type: 'SNAPSHOT_AND_UPDATE'
30
29
  }
31
30
  }
32
31
  ]
@@ -59,7 +59,7 @@ export abstract class RealTimeFeedBase implements RealTimeFeedIterable {
59
59
  }
60
60
 
61
61
  protected async getWebSocketUrl() {
62
- const wssUrlOverride = process.env[`WSS_URL_${this._exchange.toUpperCase()}`]
62
+ const wssUrlOverride = process.env[`WSS_URL_${this._exchange.toUpperCase().replace(/-/g, '_')}`]
63
63
  const finalWssUrl = wssUrlOverride !== undefined ? wssUrlOverride : this.wssURL
64
64
 
65
65
  return finalWssUrl