tardis-dev 12.7.9 → 13.1.2

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.
Files changed (150) hide show
  1. package/dist/consts.d.ts +4 -4
  2. package/dist/consts.d.ts.map +1 -1
  3. package/dist/consts.js +58 -4
  4. package/dist/consts.js.map +1 -1
  5. package/dist/handy.d.ts +2 -0
  6. package/dist/handy.d.ts.map +1 -1
  7. package/dist/handy.js +15 -1
  8. package/dist/handy.js.map +1 -1
  9. package/dist/mappers/ascendex.d.ts +1 -1
  10. package/dist/mappers/ascendex.d.ts.map +1 -1
  11. package/dist/mappers/ascendex.js +5 -0
  12. package/dist/mappers/ascendex.js.map +1 -1
  13. package/dist/mappers/binance.d.ts +1 -1
  14. package/dist/mappers/binance.d.ts.map +1 -1
  15. package/dist/mappers/binance.js +5 -11
  16. package/dist/mappers/binance.js.map +1 -1
  17. package/dist/mappers/binancedex.d.ts +1 -1
  18. package/dist/mappers/binancedex.d.ts.map +1 -1
  19. package/dist/mappers/binancedex.js +4 -0
  20. package/dist/mappers/binancedex.js.map +1 -1
  21. package/dist/mappers/binanceoptions.d.ts.map +1 -1
  22. package/dist/mappers/binanceoptions.js +3 -0
  23. package/dist/mappers/binanceoptions.js.map +1 -1
  24. package/dist/mappers/bitfinex.d.ts +1 -1
  25. package/dist/mappers/bitfinex.d.ts.map +1 -1
  26. package/dist/mappers/bitfinex.js +5 -0
  27. package/dist/mappers/bitfinex.js.map +1 -1
  28. package/dist/mappers/bitflyer.d.ts +1 -1
  29. package/dist/mappers/bitflyer.d.ts.map +1 -1
  30. package/dist/mappers/bitflyer.js +3 -0
  31. package/dist/mappers/bitflyer.js.map +1 -1
  32. package/dist/mappers/bitmex.d.ts +1 -1
  33. package/dist/mappers/bitmex.d.ts.map +1 -1
  34. package/dist/mappers/bitmex.js +5 -0
  35. package/dist/mappers/bitmex.js.map +1 -1
  36. package/dist/mappers/bitstamp.d.ts.map +1 -1
  37. package/dist/mappers/bitstamp.js +3 -8
  38. package/dist/mappers/bitstamp.js.map +1 -1
  39. package/dist/mappers/bybit.d.ts.map +1 -1
  40. package/dist/mappers/bybit.js +5 -0
  41. package/dist/mappers/bybit.js.map +1 -1
  42. package/dist/mappers/coinbase.d.ts.map +1 -1
  43. package/dist/mappers/coinbase.js +3 -0
  44. package/dist/mappers/coinbase.js.map +1 -1
  45. package/dist/mappers/coinflex.d.ts +1 -1
  46. package/dist/mappers/coinflex.d.ts.map +1 -1
  47. package/dist/mappers/coinflex.js +4 -0
  48. package/dist/mappers/coinflex.js.map +1 -1
  49. package/dist/mappers/cryptofacilities.d.ts +1 -1
  50. package/dist/mappers/cryptofacilities.d.ts.map +1 -1
  51. package/dist/mappers/cryptofacilities.js +6 -0
  52. package/dist/mappers/cryptofacilities.js.map +1 -1
  53. package/dist/mappers/delta.d.ts +1 -1
  54. package/dist/mappers/delta.d.ts.map +1 -1
  55. package/dist/mappers/delta.js +4 -0
  56. package/dist/mappers/delta.js.map +1 -1
  57. package/dist/mappers/deribit.d.ts +1 -1
  58. package/dist/mappers/deribit.d.ts.map +1 -1
  59. package/dist/mappers/deribit.js +6 -0
  60. package/dist/mappers/deribit.js.map +1 -1
  61. package/dist/mappers/dydx.d.ts +1 -1
  62. package/dist/mappers/dydx.d.ts.map +1 -1
  63. package/dist/mappers/dydx.js +4 -0
  64. package/dist/mappers/dydx.js.map +1 -1
  65. package/dist/mappers/ftx.d.ts +1 -1
  66. package/dist/mappers/ftx.d.ts.map +1 -1
  67. package/dist/mappers/ftx.js +5 -0
  68. package/dist/mappers/ftx.js.map +1 -1
  69. package/dist/mappers/gateio.d.ts.map +1 -1
  70. package/dist/mappers/gateio.js +3 -0
  71. package/dist/mappers/gateio.js.map +1 -1
  72. package/dist/mappers/gateiofutures.d.ts +1 -1
  73. package/dist/mappers/gateiofutures.d.ts.map +1 -1
  74. package/dist/mappers/gateiofutures.js +4 -0
  75. package/dist/mappers/gateiofutures.js.map +1 -1
  76. package/dist/mappers/gemini.d.ts.map +1 -1
  77. package/dist/mappers/gemini.js +3 -0
  78. package/dist/mappers/gemini.js.map +1 -1
  79. package/dist/mappers/hitbtc.d.ts.map +1 -1
  80. package/dist/mappers/hitbtc.js +3 -0
  81. package/dist/mappers/hitbtc.js.map +1 -1
  82. package/dist/mappers/huobi.d.ts +2 -2
  83. package/dist/mappers/huobi.d.ts.map +1 -1
  84. package/dist/mappers/huobi.js +3 -1
  85. package/dist/mappers/huobi.js.map +1 -1
  86. package/dist/mappers/index.d.ts +3 -3
  87. package/dist/mappers/index.d.ts.map +1 -1
  88. package/dist/mappers/index.js +43 -23
  89. package/dist/mappers/index.js.map +1 -1
  90. package/dist/mappers/kraken.d.ts.map +1 -1
  91. package/dist/mappers/kraken.js +3 -0
  92. package/dist/mappers/kraken.js.map +1 -1
  93. package/dist/mappers/okex.d.ts +245 -1
  94. package/dist/mappers/okex.d.ts.map +1 -1
  95. package/dist/mappers/okex.js +396 -1
  96. package/dist/mappers/okex.js.map +1 -1
  97. package/dist/mappers/poloniex.d.ts.map +1 -1
  98. package/dist/mappers/poloniex.js +3 -0
  99. package/dist/mappers/poloniex.js.map +1 -1
  100. package/dist/mappers/serum.d.ts +1 -1
  101. package/dist/mappers/serum.d.ts.map +1 -1
  102. package/dist/mappers/serum.js +12 -3
  103. package/dist/mappers/serum.js.map +1 -1
  104. package/dist/mappers/upbit.d.ts +1 -1
  105. package/dist/mappers/upbit.d.ts.map +1 -1
  106. package/dist/mappers/upbit.js +3 -0
  107. package/dist/mappers/upbit.js.map +1 -1
  108. package/dist/realtimefeeds/okex.d.ts +4 -2
  109. package/dist/realtimefeeds/okex.d.ts.map +1 -1
  110. package/dist/realtimefeeds/okex.js +38 -10
  111. package/dist/realtimefeeds/okex.js.map +1 -1
  112. package/dist/replay.d.ts.map +1 -1
  113. package/dist/replay.js +2 -6
  114. package/dist/replay.js.map +1 -1
  115. package/dist/stream.d.ts.map +1 -1
  116. package/dist/stream.js +2 -6
  117. package/dist/stream.js.map +1 -1
  118. package/package.json +13 -13
  119. package/src/consts.ts +62 -4
  120. package/src/handy.ts +14 -0
  121. package/src/mappers/ascendex.ts +6 -1
  122. package/src/mappers/binance.ts +2 -9
  123. package/src/mappers/binancedex.ts +6 -1
  124. package/src/mappers/binanceoptions.ts +7 -1
  125. package/src/mappers/bitfinex.ts +10 -1
  126. package/src/mappers/bitflyer.ts +8 -2
  127. package/src/mappers/bitmex.ts +12 -2
  128. package/src/mappers/bitstamp.ts +1 -7
  129. package/src/mappers/bybit.ts +9 -0
  130. package/src/mappers/coinbase.ts +7 -1
  131. package/src/mappers/coinflex.ts +8 -1
  132. package/src/mappers/cryptofacilities.ts +12 -1
  133. package/src/mappers/delta.ts +8 -1
  134. package/src/mappers/deribit.ts +14 -2
  135. package/src/mappers/dydx.ts +8 -1
  136. package/src/mappers/ftx.ts +12 -2
  137. package/src/mappers/gateio.ts +5 -0
  138. package/src/mappers/gateiofutures.ts +8 -1
  139. package/src/mappers/gemini.ts +5 -0
  140. package/src/mappers/hitbtc.ts +5 -0
  141. package/src/mappers/huobi.ts +6 -2
  142. package/src/mappers/index.ts +77 -24
  143. package/src/mappers/kraken.ts +7 -1
  144. package/src/mappers/okex.ts +591 -2
  145. package/src/mappers/poloniex.ts +5 -0
  146. package/src/mappers/serum.ts +17 -5
  147. package/src/mappers/upbit.ts +6 -1
  148. package/src/realtimefeeds/okex.ts +42 -10
  149. package/src/replay.ts +2 -7
  150. package/src/stream.ts +3 -7
@@ -69,7 +69,13 @@ import {
69
69
  OkexDerivativeTickerMapper,
70
70
  OkexLiquidationsMapper,
71
71
  OkexOptionSummaryMapper,
72
- OkexTradesMapper
72
+ OkexTradesMapper,
73
+ OkexV5BookChangeMapper,
74
+ OkexV5BookTickerMapper,
75
+ OkexV5DerivativeTickerMapper,
76
+ OkexV5LiquidationsMapper,
77
+ OkexV5OptionSummaryMapper,
78
+ OkexV5TradesMapper
73
79
  } from './okex'
74
80
  import { phemexBookChangeMapper, PhemexDerivativeTickerMapper, phemexTradesMapper } from './phemex'
75
81
  import { PoloniexBookChangeMapper, PoloniexTradesMapper } from './poloniex'
@@ -87,6 +93,12 @@ const isRealTime = (date: Date) => {
87
93
  return date.valueOf() + THREE_MINUTES_IN_MS > new Date().valueOf()
88
94
  }
89
95
 
96
+ const OKEX_V5_API_SWITCH_DATE = new Date('2021-12-23T00:00:00.000Z')
97
+
98
+ const shouldUseOkexV5Mappers = (localTimestamp: Date) => {
99
+ return isRealTime(localTimestamp) || localTimestamp.valueOf() >= OKEX_V5_API_SWITCH_DATE.valueOf()
100
+ }
101
+
90
102
  const tradesMappers = {
91
103
  bitmex: () => bitmexTradesMapper,
92
104
  binance: () => new BinanceTradesMapper('binance'),
@@ -106,10 +118,18 @@ const tradesMappers = {
106
118
  'ftx-us': () => new FTXTradesMapper('ftx-us'),
107
119
  gemini: () => geminiTradesMapper,
108
120
  kraken: () => krakenTradesMapper,
109
- okex: () => new OkexTradesMapper('okex', 'spot'),
110
- 'okex-futures': () => new OkexTradesMapper('okex-futures', 'futures'),
111
- 'okex-swap': () => new OkexTradesMapper('okex-swap', 'swap'),
112
- 'okex-options': () => new OkexTradesMapper('okex-options', 'option'),
121
+ okex: (localTimestamp: Date) =>
122
+ shouldUseOkexV5Mappers(localTimestamp) ? new OkexV5TradesMapper('okex') : new OkexTradesMapper('okex', 'spot'),
123
+
124
+ 'okex-futures': (localTimestamp: Date) =>
125
+ shouldUseOkexV5Mappers(localTimestamp) ? new OkexV5TradesMapper('okex-futures') : new OkexTradesMapper('okex-futures', 'futures'),
126
+
127
+ 'okex-swap': (localTimestamp: Date) =>
128
+ shouldUseOkexV5Mappers(localTimestamp) ? new OkexV5TradesMapper('okex-swap') : new OkexTradesMapper('okex-swap', 'swap'),
129
+
130
+ 'okex-options': (localTimestamp: Date) =>
131
+ shouldUseOkexV5Mappers(localTimestamp) ? new OkexV5TradesMapper('okex-options') : new OkexTradesMapper('okex-options', 'option'),
132
+
113
133
  huobi: () => new HuobiTradesMapper('huobi'),
114
134
  'huobi-dm': () => new HuobiTradesMapper('huobi-dm'),
115
135
  'huobi-dm-swap': () => new HuobiTradesMapper('huobi-dm-swap'),
@@ -152,14 +172,24 @@ const bookChangeMappers = {
152
172
  'ftx-us': () => new FTXBookChangeMapper('ftx-us'),
153
173
  gemini: () => geminiBookChangeMapper,
154
174
  kraken: () => krakenBookChangeMapper,
155
- okex: (localTimestamp: Date) => new OkexBookChangeMapper('okex', 'spot', localTimestamp.valueOf() >= new Date('2020-04-10').valueOf()),
175
+ okex: (localTimestamp: Date) =>
176
+ shouldUseOkexV5Mappers(localTimestamp)
177
+ ? new OkexV5BookChangeMapper('okex')
178
+ : new OkexBookChangeMapper('okex', 'spot', localTimestamp.valueOf() >= new Date('2020-04-10').valueOf()),
156
179
  'okex-futures': (localTimestamp: Date) =>
157
- new OkexBookChangeMapper('okex-futures', 'futures', localTimestamp.valueOf() >= new Date('2019-12-05').valueOf()),
180
+ shouldUseOkexV5Mappers(localTimestamp)
181
+ ? new OkexV5BookChangeMapper('okex-futures')
182
+ : new OkexBookChangeMapper('okex-futures', 'futures', localTimestamp.valueOf() >= new Date('2019-12-05').valueOf()),
158
183
 
159
184
  'okex-swap': (localTimestamp: Date) =>
160
- new OkexBookChangeMapper('okex-swap', 'swap', localTimestamp.valueOf() >= new Date('2020-02-08').valueOf()),
185
+ shouldUseOkexV5Mappers(localTimestamp)
186
+ ? new OkexV5BookChangeMapper('okex-swap')
187
+ : new OkexBookChangeMapper('okex-swap', 'swap', localTimestamp.valueOf() >= new Date('2020-02-08').valueOf()),
161
188
  'okex-options': (localTimestamp: Date) =>
162
- new OkexBookChangeMapper('okex-options', 'option', localTimestamp.valueOf() >= new Date('2020-02-08').valueOf()),
189
+ shouldUseOkexV5Mappers(localTimestamp)
190
+ ? new OkexV5BookChangeMapper('okex-options')
191
+ : new OkexBookChangeMapper('okex-options', 'option', localTimestamp.valueOf() >= new Date('2020-02-08').valueOf()),
192
+
163
193
  huobi: (localTimestamp: Date) =>
164
194
  localTimestamp.valueOf() >= new Date('2020-07-03').valueOf()
165
195
  ? new HuobiMBPBookChangeMapper('huobi')
@@ -195,8 +225,14 @@ const derivativeTickersMappers = {
195
225
  'bitfinex-derivatives': () => new BitfinexDerivativeTickerMapper(),
196
226
  cryptofacilities: () => new CryptofacilitiesDerivativeTickerMapper(),
197
227
  deribit: () => new DeribitDerivativeTickerMapper(),
198
- 'okex-futures': () => new OkexDerivativeTickerMapper('okex-futures'),
199
- 'okex-swap': () => new OkexDerivativeTickerMapper('okex-swap'),
228
+ 'okex-futures': (localTimestamp: Date) =>
229
+ shouldUseOkexV5Mappers(localTimestamp)
230
+ ? new OkexV5DerivativeTickerMapper('okex-futures')
231
+ : new OkexDerivativeTickerMapper('okex-futures'),
232
+
233
+ 'okex-swap': (localTimestamp: Date) =>
234
+ shouldUseOkexV5Mappers(localTimestamp) ? new OkexV5DerivativeTickerMapper('okex-swap') : new OkexDerivativeTickerMapper('okex-swap'),
235
+
200
236
  bybit: () => new BybitDerivativeTickerMapper(),
201
237
  phemex: () => new PhemexDerivativeTickerMapper(),
202
238
  ftx: () => new FTXDerivativeTickerMapper('ftx'),
@@ -212,7 +248,8 @@ const derivativeTickersMappers = {
212
248
 
213
249
  const optionsSummaryMappers = {
214
250
  deribit: () => new DeribitOptionSummaryMapper(),
215
- 'okex-options': () => new OkexOptionSummaryMapper(),
251
+ 'okex-options': (localTimestamp: Date) =>
252
+ shouldUseOkexV5Mappers(localTimestamp) ? new OkexV5OptionSummaryMapper() : new OkexOptionSummaryMapper(),
216
253
  'binance-options': () => new BinanceOptionSummaryMapper(),
217
254
  'huobi-dm-options': () => new HuobiOptionsSummaryMapper()
218
255
  }
@@ -229,8 +266,12 @@ const liquidationsMappers = {
229
266
  'huobi-dm-swap': () => new HuobiLiquidationsMapper('huobi-dm-swap'),
230
267
  'huobi-dm-linear-swap': () => new HuobiLiquidationsMapper('huobi-dm-linear-swap'),
231
268
  bybit: () => new BybitLiquidationsMapper('bybit'),
232
- 'okex-futures': () => new OkexLiquidationsMapper('okex-futures', 'futures'),
233
- 'okex-swap': () => new OkexLiquidationsMapper('okex-swap', 'swap')
269
+ 'okex-futures': (localTimestamp: Date) =>
270
+ shouldUseOkexV5Mappers(localTimestamp)
271
+ ? new OkexV5LiquidationsMapper('okex-futures')
272
+ : new OkexLiquidationsMapper('okex-futures', 'futures'),
273
+ 'okex-swap': (localTimestamp: Date) =>
274
+ shouldUseOkexV5Mappers(localTimestamp) ? new OkexV5LiquidationsMapper('okex-swap') : new OkexLiquidationsMapper('okex-swap', 'swap')
234
275
  }
235
276
 
236
277
  const bookTickersMappers = {
@@ -254,10 +295,22 @@ const bookTickersMappers = {
254
295
  'huobi-dm-swap': () => new HuobiBookTickerMapper('huobi-dm-swap'),
255
296
  'huobi-dm-linear-swap': () => new HuobiBookTickerMapper('huobi-dm-linear-swap'),
256
297
  kraken: () => krakenBookTickerMapper,
257
- okex: () => new OkexBookTickerMapper('okex', 'spot'),
258
- 'okex-futures': () => new OkexBookTickerMapper('okex-futures', 'futures'),
259
- 'okex-swap': () => new OkexBookTickerMapper('okex-swap', 'swap'),
260
- 'okex-options': () => new OkexBookTickerMapper('okex-options', 'option'),
298
+ okex: (localTimestamp: Date) =>
299
+ shouldUseOkexV5Mappers(localTimestamp) ? new OkexV5BookTickerMapper('okex') : new OkexBookTickerMapper('okex', 'spot'),
300
+
301
+ 'okex-futures': (localTimestamp: Date) =>
302
+ shouldUseOkexV5Mappers(localTimestamp)
303
+ ? new OkexV5BookTickerMapper('okex-futures')
304
+ : new OkexBookTickerMapper('okex-futures', 'futures'),
305
+
306
+ 'okex-swap': (localTimestamp: Date) =>
307
+ shouldUseOkexV5Mappers(localTimestamp) ? new OkexV5BookTickerMapper('okex-swap') : new OkexBookTickerMapper('okex-swap', 'swap'),
308
+
309
+ 'okex-options': (localTimestamp: Date) =>
310
+ shouldUseOkexV5Mappers(localTimestamp)
311
+ ? new OkexV5BookTickerMapper('okex-options')
312
+ : new OkexBookTickerMapper('okex-options', 'option'),
313
+
261
314
  okcoin: () => new OkexBookTickerMapper('okcoin', 'spot'),
262
315
  serum: () => new SerumBookTickerMapper('serum'),
263
316
  'star-atlas': () => new SerumBookTickerMapper('star-atlas')
@@ -301,7 +354,7 @@ export const normalizeDerivativeTickers = <T extends keyof typeof derivativeTick
301
354
 
302
355
  export const normalizeOptionsSummary = <T extends keyof typeof optionsSummaryMappers>(
303
356
  exchange: T,
304
- _localTimestamp: Date
357
+ localTimestamp: Date
305
358
  ): Mapper<T, OptionSummary> => {
306
359
  const createOptionSummaryMapper = optionsSummaryMappers[exchange]
307
360
 
@@ -309,12 +362,12 @@ export const normalizeOptionsSummary = <T extends keyof typeof optionsSummaryMap
309
362
  throw new Error(`normalizeOptionsSummary: ${exchange} not supported`)
310
363
  }
311
364
 
312
- return createOptionSummaryMapper() as any
365
+ return createOptionSummaryMapper(localTimestamp) as any
313
366
  }
314
367
 
315
368
  export const normalizeLiquidations = <T extends keyof typeof liquidationsMappers>(
316
369
  exchange: T,
317
- _localTimestamp: Date
370
+ localTimestamp: Date
318
371
  ): Mapper<T, Liquidation> => {
319
372
  const createLiquidationsMapper = liquidationsMappers[exchange]
320
373
 
@@ -322,12 +375,12 @@ export const normalizeLiquidations = <T extends keyof typeof liquidationsMappers
322
375
  throw new Error(`normalizeLiquidations: ${exchange} not supported`)
323
376
  }
324
377
 
325
- return createLiquidationsMapper() as any
378
+ return createLiquidationsMapper(localTimestamp) as any
326
379
  }
327
380
 
328
381
  export const normalizeBookTickers = <T extends keyof typeof bookTickersMappers>(
329
382
  exchange: T,
330
- _localTimestamp: Date
383
+ localTimestamp: Date
331
384
  ): Mapper<T, BookTicker> => {
332
385
  const createTickerMapper = bookTickersMappers[exchange]
333
386
 
@@ -335,5 +388,5 @@ export const normalizeBookTickers = <T extends keyof typeof bookTickersMappers>(
335
388
  throw new Error(`normalizeBookTickers: ${exchange} not supported`)
336
389
  }
337
390
 
338
- return createTickerMapper() as any
391
+ return createTickerMapper(localTimestamp) as any
339
392
  }
@@ -1,4 +1,4 @@
1
- import { asNumberIfValid } from '../handy'
1
+ import { asNumberIfValid, upperCaseSymbols } from '../handy'
2
2
  import { BookChange, BookTicker, Trade } from '../types'
3
3
  import { Mapper } from './mapper'
4
4
 
@@ -15,6 +15,8 @@ export const krakenTradesMapper: Mapper<'kraken', Trade> = {
15
15
  },
16
16
 
17
17
  getFilters(symbols?: string[]) {
18
+ symbols = upperCaseSymbols(symbols)
19
+
18
20
  return [
19
21
  {
20
22
  channel: 'trade',
@@ -73,6 +75,8 @@ export const krakenBookChangeMapper: Mapper<'kraken', BookChange> = {
73
75
  },
74
76
 
75
77
  getFilters(symbols?: string[]) {
78
+ symbols = upperCaseSymbols(symbols)
79
+
76
80
  return [
77
81
  {
78
82
  channel: 'book',
@@ -129,6 +133,8 @@ export const krakenBookTickerMapper: Mapper<'kraken', BookTicker> = {
129
133
  },
130
134
 
131
135
  getFilters(symbols?: string[]) {
136
+ symbols = upperCaseSymbols(symbols)
137
+
132
138
  return [
133
139
  {
134
140
  channel: 'spread',