tardis-dev 13.7.1 → 13.8.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.
@@ -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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"}
@@ -7,7 +7,7 @@ class BinanceRealTimeFeedBase extends realtimefeed_1.MultiConnectionRealTimeFeed
7
7
  *_getRealTimeFeeds(exchange, filters, timeoutIntervalMS, onError) {
8
8
  const wsFilters = filters.filter((f) => f.channel !== 'openInterest' && f.channel !== 'recentTrades');
9
9
  if (wsFilters.length > 0) {
10
- yield new BinanceSingleConnectionRealTimeFeed(exchange, wsFilters, this.wssURL, this.httpURL, this.suffixes, timeoutIntervalMS, onError);
10
+ yield new BinanceSingleConnectionRealTimeFeed(exchange, wsFilters, this.wssURL, this.httpURL, this.suffixes, this.depthRequestRequestWeight, timeoutIntervalMS, onError);
11
11
  }
12
12
  const openInterestFilters = filters.filter((f) => f.channel === 'openInterest');
13
13
  if (openInterestFilters.length > 0) {
@@ -44,11 +44,12 @@ class BinanceFuturesOpenInterestClient extends realtimefeed_1.PoolingClientBase
44
44
  }
45
45
  }
46
46
  class BinanceSingleConnectionRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
47
- constructor(exchange, filters, wssURL, _httpURL, _suffixes, timeoutIntervalMS, onError) {
47
+ constructor(exchange, filters, wssURL, _httpURL, _suffixes, _depthRequestRequestWeight, timeoutIntervalMS, onError) {
48
48
  super(exchange, filters, timeoutIntervalMS, onError);
49
49
  this.wssURL = wssURL;
50
50
  this._httpURL = _httpURL;
51
51
  this._suffixes = _suffixes;
52
+ this._depthRequestRequestWeight = _depthRequestRequestWeight;
52
53
  }
53
54
  mapToSubscribeMessages(filters) {
54
55
  const payload = filters
@@ -85,22 +86,60 @@ class BinanceSingleConnectionRealTimeFeed extends realtimefeed_1.RealTimeFeedBas
85
86
  if (!depthSnapshotFilter) {
86
87
  return;
87
88
  }
88
- this.debug('requesting manual snapshots for: %s', depthSnapshotFilter.symbols);
89
- for (let symbol of depthSnapshotFilter.symbols) {
89
+ let currentWeightLimit = 0;
90
+ const exchangeInfoResponse = await handy_1.httpClient.get(`${this._httpURL}/exchangeInfo`, { timeout: 10000, retry: 5 });
91
+ const exchangeInfo = JSON.parse(exchangeInfoResponse.body);
92
+ const REQUEST_WEIGHT_LIMIT_ENV = `${this._exchange.toUpperCase().replace(/-/g, '_')}_REQUEST_WEIGHT_LIMIT`;
93
+ if (process.env[REQUEST_WEIGHT_LIMIT_ENV] !== undefined) {
94
+ currentWeightLimit = Number.parseInt(process.env[REQUEST_WEIGHT_LIMIT_ENV]);
95
+ }
96
+ if (!currentWeightLimit) {
97
+ currentWeightLimit = exchangeInfo.rateLimits.find((d) => d.rateLimitType === 'REQUEST_WEIGHT').limit;
98
+ }
99
+ let usedWeight = Number.parseInt(exchangeInfoResponse.headers['x-mbx-used-weight-1m']);
100
+ this.debug('current x-mbx-used-weight-1m limit: %s, already used weight: %s', currentWeightLimit, usedWeight);
101
+ let concurrencyLimit = 4;
102
+ const CONCURRENCY_LIMIT_WEIGHT_ENV = `${this._exchange.toUpperCase().replace(/-/g, '_')}_CONCURRENCY_LIMIT`;
103
+ if (process.env[CONCURRENCY_LIMIT_WEIGHT_ENV] !== undefined) {
104
+ concurrencyLimit = Number.parseInt(process.env[CONCURRENCY_LIMIT_WEIGHT_ENV]);
105
+ }
106
+ this.debug('current snapshots requests concurrency limit: %s', concurrencyLimit);
107
+ let minWeightBuffer = 2 * concurrencyLimit * this._depthRequestRequestWeight;
108
+ const MIN_WEIGHT_BUFFER_ENV = `${this._exchange.toUpperCase().replace(/-/g, '_')}_MIN_AVAILABLE_WEIGHT_BUFFER`;
109
+ if (process.env[MIN_WEIGHT_BUFFER_ENV] !== undefined) {
110
+ minWeightBuffer = Number.parseInt(process.env[MIN_WEIGHT_BUFFER_ENV]);
111
+ }
112
+ for (const symbolsBatch of (0, handy_1.batch)(depthSnapshotFilter.symbols, concurrencyLimit)) {
90
113
  if (shouldCancel()) {
91
114
  return;
92
115
  }
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);
116
+ this.debug('requesting manual snapshots for: %s', symbolsBatch);
117
+ const usedWeights = await Promise.all(symbolsBatch.map(async (symbol) => {
118
+ if (shouldCancel()) {
119
+ return 0;
120
+ }
121
+ const isOverRateLimit = currentWeightLimit - usedWeight < minWeightBuffer;
122
+ if (isOverRateLimit) {
123
+ const secondsToWait = 61 - new Date().getUTCSeconds();
124
+ 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);
125
+ await (0, handy_1.wait)(secondsToWait * 1000);
126
+ }
127
+ const depthSnapshotResponse = await handy_1.httpClient.get(`${this._httpURL}/depth?symbol=${symbol.toUpperCase()}&limit=1000`, {
128
+ timeout: 10000,
129
+ retry: 10
130
+ });
131
+ const snapshot = {
132
+ stream: `${symbol}@depthSnapshot`,
133
+ generated: true,
134
+ data: JSON.parse(depthSnapshotResponse.body)
135
+ };
136
+ this.manualSnapshotsBuffer.push(snapshot);
137
+ return Number.parseInt(depthSnapshotResponse.headers['x-mbx-used-weight-1m']);
138
+ }));
139
+ usedWeight = Math.max(...usedWeights);
140
+ this.debug('requested manual snapshots successfully for: %s, used weight: %s', symbolsBatch, usedWeight);
102
141
  }
103
- this.debug('requested manual snapshots successfully for: %s ', depthSnapshotFilter.symbols);
142
+ this.debug('requested all manual snapshots successfully');
104
143
  }
105
144
  }
106
145
  class BinanceRealTimeFeed extends BinanceRealTimeFeedBase {
@@ -111,6 +150,7 @@ class BinanceRealTimeFeed extends BinanceRealTimeFeedBase {
111
150
  this.suffixes = {
112
151
  depth: '100ms'
113
152
  };
153
+ this.depthRequestRequestWeight = 10;
114
154
  }
115
155
  }
116
156
  exports.BinanceRealTimeFeed = BinanceRealTimeFeed;
@@ -122,6 +162,7 @@ class BinanceJerseyRealTimeFeed extends BinanceRealTimeFeedBase {
122
162
  this.suffixes = {
123
163
  depth: '100ms'
124
164
  };
165
+ this.depthRequestRequestWeight = 10;
125
166
  }
126
167
  }
127
168
  exports.BinanceJerseyRealTimeFeed = BinanceJerseyRealTimeFeed;
@@ -133,6 +174,7 @@ class BinanceUSRealTimeFeed extends BinanceRealTimeFeedBase {
133
174
  this.suffixes = {
134
175
  depth: '100ms'
135
176
  };
177
+ this.depthRequestRequestWeight = 10;
136
178
  }
137
179
  }
138
180
  exports.BinanceUSRealTimeFeed = BinanceUSRealTimeFeed;
@@ -145,6 +187,7 @@ class BinanceFuturesRealTimeFeed extends BinanceRealTimeFeedBase {
145
187
  depth: '0ms',
146
188
  markPrice: '1s'
147
189
  };
190
+ this.depthRequestRequestWeight = 20;
148
191
  }
149
192
  }
150
193
  exports.BinanceFuturesRealTimeFeed = BinanceFuturesRealTimeFeed;
@@ -158,6 +201,7 @@ class BinanceDeliveryRealTimeFeed extends BinanceRealTimeFeedBase {
158
201
  markPrice: '1s',
159
202
  indexPrice: '1s'
160
203
  };
204
+ this.depthRequestRequestWeight = 20;
161
205
  }
162
206
  }
163
207
  exports.BinanceDeliveryRealTimeFeed = BinanceDeliveryRealTimeFeed;
@@ -1 +1 @@
1
- {"version":3,"file":"binance.js","sourceRoot":"","sources":["../../src/realtimefeeds/binance.ts"],"names":[],"mappings":"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"}
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.0",
4
4
  "engines": {
5
5
  "node": ">=12"
6
6
  },
@@ -1,5 +1,5 @@
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
 
@@ -7,6 +7,7 @@ abstract class BinanceRealTimeFeedBase extends MultiConnectionRealTimeFeedBase {
7
7
  protected abstract wssURL: string
8
8
  protected abstract httpURL: string
9
9
  protected abstract suffixes: { [key: string]: string }
10
+ protected abstract depthRequestRequestWeight: number
10
11
 
11
12
  protected *_getRealTimeFeeds(exchange: string, filters: Filter<string>[], timeoutIntervalMS?: number, onError?: (error: Error) => void) {
12
13
  const wsFilters = filters.filter((f) => f.channel !== 'openInterest' && f.channel !== 'recentTrades')
@@ -18,6 +19,7 @@ abstract class BinanceRealTimeFeedBase extends MultiConnectionRealTimeFeedBase {
18
19
  this.wssURL,
19
20
  this.httpURL,
20
21
  this.suffixes,
22
+ this.depthRequestRequestWeight,
21
23
  timeoutIntervalMS,
22
24
  onError
23
25
  )
@@ -71,6 +73,7 @@ class BinanceSingleConnectionRealTimeFeed extends RealTimeFeedBase {
71
73
  protected wssURL: string,
72
74
  private readonly _httpURL: string,
73
75
  private readonly _suffixes: { [key: string]: string },
76
+ private readonly _depthRequestRequestWeight: number,
74
77
  timeoutIntervalMS: number | undefined,
75
78
  onError?: (error: Error) => void
76
79
  ) {
@@ -117,29 +120,99 @@ class BinanceSingleConnectionRealTimeFeed extends RealTimeFeedBase {
117
120
 
118
121
  protected async provideManualSnapshots(filters: Filter<string>[], shouldCancel: () => boolean) {
119
122
  const depthSnapshotFilter = filters.find((f) => f.channel === 'depthSnapshot')
123
+
120
124
  if (!depthSnapshotFilter) {
121
125
  return
122
126
  }
123
- this.debug('requesting manual snapshots for: %s', depthSnapshotFilter.symbols)
124
- for (let symbol of depthSnapshotFilter.symbols!) {
127
+
128
+ let currentWeightLimit: number = 0
129
+
130
+ const exchangeInfoResponse = await httpClient.get(`${this._httpURL}/exchangeInfo`, { timeout: 10000, retry: 5 })
131
+
132
+ const exchangeInfo = JSON.parse(exchangeInfoResponse.body)
133
+
134
+ const REQUEST_WEIGHT_LIMIT_ENV = `${this._exchange.toUpperCase().replace(/-/g, '_')}_REQUEST_WEIGHT_LIMIT`
135
+
136
+ if (process.env[REQUEST_WEIGHT_LIMIT_ENV] !== undefined) {
137
+ currentWeightLimit = Number.parseInt(process.env[REQUEST_WEIGHT_LIMIT_ENV] as string)
138
+ }
139
+
140
+ if (!currentWeightLimit) {
141
+ currentWeightLimit = exchangeInfo.rateLimits.find((d: any) => d.rateLimitType === 'REQUEST_WEIGHT').limit as number
142
+ }
143
+
144
+ let usedWeight = Number.parseInt(exchangeInfoResponse.headers['x-mbx-used-weight-1m'] as string)
145
+
146
+ this.debug('current x-mbx-used-weight-1m limit: %s, already used weight: %s', currentWeightLimit, usedWeight)
147
+
148
+ let concurrencyLimit = 4
149
+
150
+ const CONCURRENCY_LIMIT_WEIGHT_ENV = `${this._exchange.toUpperCase().replace(/-/g, '_')}_CONCURRENCY_LIMIT`
151
+
152
+ if (process.env[CONCURRENCY_LIMIT_WEIGHT_ENV] !== undefined) {
153
+ concurrencyLimit = Number.parseInt(process.env[CONCURRENCY_LIMIT_WEIGHT_ENV] as string)
154
+ }
155
+
156
+ this.debug('current snapshots requests concurrency limit: %s', concurrencyLimit)
157
+
158
+ let minWeightBuffer = 2 * concurrencyLimit * this._depthRequestRequestWeight
159
+
160
+ const MIN_WEIGHT_BUFFER_ENV = `${this._exchange.toUpperCase().replace(/-/g, '_')}_MIN_AVAILABLE_WEIGHT_BUFFER`
161
+
162
+ if (process.env[MIN_WEIGHT_BUFFER_ENV] !== undefined) {
163
+ minWeightBuffer = Number.parseInt(process.env[MIN_WEIGHT_BUFFER_ENV] as string)
164
+ }
165
+
166
+ for (const symbolsBatch of batch(depthSnapshotFilter.symbols!, concurrencyLimit)) {
125
167
  if (shouldCancel()) {
126
168
  return
127
169
  }
128
170
 
129
- const depthSnapshotResponse = (await httpClient
130
- .get(`${this._httpURL}/depth?symbol=${symbol.toUpperCase()}&limit=1000`, { timeout: 10000 })
131
- .json()) as any
171
+ this.debug('requesting manual snapshots for: %s', symbolsBatch)
132
172
 
133
- const snapshot = {
134
- stream: `${symbol}@depthSnapshot`,
135
- generated: true,
136
- data: depthSnapshotResponse
137
- }
173
+ const usedWeights = await Promise.all(
174
+ symbolsBatch.map(async (symbol) => {
175
+ if (shouldCancel()) {
176
+ return 0
177
+ }
138
178
 
139
- this.manualSnapshotsBuffer.push(snapshot)
140
- }
179
+ const isOverRateLimit = currentWeightLimit - usedWeight < minWeightBuffer
180
+
181
+ if (isOverRateLimit) {
182
+ const secondsToWait = 61 - new Date().getUTCSeconds()
183
+ this.debug(
184
+ 'reached rate limit (x-mbx-used-weight-1m limit: %s, used weight: %s, minimum available weight buffer: %s), waiting: %s seconds',
185
+ currentWeightLimit,
186
+ usedWeight,
187
+ minWeightBuffer,
188
+ secondsToWait
189
+ )
190
+
191
+ await wait(secondsToWait * 1000)
192
+ }
193
+
194
+ const depthSnapshotResponse = await httpClient.get(`${this._httpURL}/depth?symbol=${symbol.toUpperCase()}&limit=1000`, {
195
+ timeout: 10000,
196
+ retry: 10
197
+ })
198
+
199
+ const snapshot = {
200
+ stream: `${symbol}@depthSnapshot`,
201
+ generated: true,
202
+ data: JSON.parse(depthSnapshotResponse.body)
203
+ }
204
+
205
+ this.manualSnapshotsBuffer.push(snapshot)
141
206
 
142
- this.debug('requested manual snapshots successfully for: %s ', depthSnapshotFilter.symbols)
207
+ return Number.parseInt(depthSnapshotResponse.headers['x-mbx-used-weight-1m'] as string)
208
+ })
209
+ )
210
+
211
+ usedWeight = Math.max(...usedWeights)
212
+
213
+ this.debug('requested manual snapshots successfully for: %s, used weight: %s', symbolsBatch, usedWeight)
214
+ }
215
+ this.debug('requested all manual snapshots successfully')
143
216
  }
144
217
  }
145
218
 
@@ -150,6 +223,8 @@ export class BinanceRealTimeFeed extends BinanceRealTimeFeedBase {
150
223
  protected suffixes = {
151
224
  depth: '100ms'
152
225
  }
226
+
227
+ protected depthRequestRequestWeight = 10
153
228
  }
154
229
 
155
230
  export class BinanceJerseyRealTimeFeed extends BinanceRealTimeFeedBase {
@@ -159,6 +234,8 @@ export class BinanceJerseyRealTimeFeed extends BinanceRealTimeFeedBase {
159
234
  protected suffixes = {
160
235
  depth: '100ms'
161
236
  }
237
+
238
+ protected depthRequestRequestWeight = 10
162
239
  }
163
240
 
164
241
  export class BinanceUSRealTimeFeed extends BinanceRealTimeFeedBase {
@@ -168,6 +245,8 @@ export class BinanceUSRealTimeFeed extends BinanceRealTimeFeedBase {
168
245
  protected suffixes = {
169
246
  depth: '100ms'
170
247
  }
248
+
249
+ protected depthRequestRequestWeight = 10
171
250
  }
172
251
 
173
252
  export class BinanceFuturesRealTimeFeed extends BinanceRealTimeFeedBase {
@@ -178,6 +257,8 @@ export class BinanceFuturesRealTimeFeed extends BinanceRealTimeFeedBase {
178
257
  depth: '0ms',
179
258
  markPrice: '1s'
180
259
  }
260
+
261
+ protected depthRequestRequestWeight = 20
181
262
  }
182
263
 
183
264
  export class BinanceDeliveryRealTimeFeed extends BinanceRealTimeFeedBase {
@@ -189,4 +270,6 @@ export class BinanceDeliveryRealTimeFeed extends BinanceRealTimeFeedBase {
189
270
  markPrice: '1s',
190
271
  indexPrice: '1s'
191
272
  }
273
+
274
+ protected depthRequestRequestWeight = 20
192
275
  }
@@ -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