tardis-dev 13.0.0 → 13.1.3

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 (142) 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 +247 -1
  94. package/dist/mappers/okex.d.ts.map +1 -1
  95. package/dist/mappers/okex.js +399 -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 +9 -0
  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/package.json +1 -1
  113. package/src/consts.ts +62 -4
  114. package/src/handy.ts +14 -0
  115. package/src/mappers/ascendex.ts +6 -1
  116. package/src/mappers/binance.ts +2 -9
  117. package/src/mappers/binancedex.ts +6 -1
  118. package/src/mappers/binanceoptions.ts +7 -1
  119. package/src/mappers/bitfinex.ts +10 -1
  120. package/src/mappers/bitflyer.ts +8 -2
  121. package/src/mappers/bitmex.ts +12 -2
  122. package/src/mappers/bitstamp.ts +1 -7
  123. package/src/mappers/bybit.ts +9 -0
  124. package/src/mappers/coinbase.ts +7 -1
  125. package/src/mappers/coinflex.ts +8 -1
  126. package/src/mappers/cryptofacilities.ts +12 -1
  127. package/src/mappers/delta.ts +8 -1
  128. package/src/mappers/deribit.ts +14 -2
  129. package/src/mappers/dydx.ts +8 -1
  130. package/src/mappers/ftx.ts +12 -2
  131. package/src/mappers/gateio.ts +5 -0
  132. package/src/mappers/gateiofutures.ts +8 -1
  133. package/src/mappers/gemini.ts +5 -0
  134. package/src/mappers/hitbtc.ts +5 -0
  135. package/src/mappers/huobi.ts +6 -2
  136. package/src/mappers/index.ts +77 -24
  137. package/src/mappers/kraken.ts +7 -1
  138. package/src/mappers/okex.ts +596 -2
  139. package/src/mappers/poloniex.ts +5 -0
  140. package/src/mappers/serum.ts +14 -2
  141. package/src/mappers/upbit.ts +6 -1
  142. package/src/realtimefeeds/okex.ts +42 -10
@@ -1 +1 @@
1
- {"version":3,"file":"upbit.d.ts","sourceRoot":"","sources":["../../src/mappers/upbit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAkB,MAAM,UAAU,CAAA;AAE5D,qBAAa,iBAAkB,YAAW,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;IAC9D,SAAS,CAAC,OAAO,EAAE,UAAU;IAI7B,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;;;;IAS5B,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC;CAazE;AAED,qBAAa,qBAAsB,YAAW,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;IACvE,SAAS,CAAC,OAAO,EAAE,cAAc;IAIjC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;;;;IAS5B,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC;CA8BlF;AAED,aAAK,UAAU,GAAG;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,aAAa,CAAA;IACxB,UAAU,EAAE,YAAY,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,aAAa,CAAA;IAC9B,WAAW,EAAE,IAAI,CAAA;IACjB,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,EAAE,KAAK,CAAA;IACd,kBAAkB,EAAE,IAAI,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,gBAAgB,CAAA;IAC/B,WAAW,EAAE,UAAU,CAAA;CACxB,CAAA;AAED,aAAK,cAAc,GAAG;IACpB,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,SAAS,EAAE,aAAa,CAAA;IACxB,cAAc,EAAE,aAAa,CAAA;IAC7B,cAAc,EAAE,aAAa,CAAA;IAC7B,eAAe,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC/F,WAAW,EAAE,UAAU,CAAA;CACxB,CAAA"}
1
+ {"version":3,"file":"upbit.d.ts","sourceRoot":"","sources":["../../src/mappers/upbit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAkB,KAAK,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,qBAAa,iBAAkB,YAAW,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;IAC9D,SAAS,CAAC,OAAO,EAAE,UAAU;IAI7B,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;;;;IAW5B,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC;CAazE;AAED,qBAAa,qBAAsB,YAAW,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;IACvE,SAAS,CAAC,OAAO,EAAE,cAAc;IAIjC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;;;;IAW5B,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC;CA8BlF;AAED,aAAK,UAAU,GAAG;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,aAAa,CAAA;IACxB,UAAU,EAAE,YAAY,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,aAAa,CAAA;IAC9B,WAAW,EAAE,IAAI,CAAA;IACjB,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,EAAE,KAAK,CAAA;IACd,kBAAkB,EAAE,IAAI,CAAA;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,GAAG,CAAA;IACjB,aAAa,EAAE,gBAAgB,CAAA;IAC/B,WAAW,EAAE,UAAU,CAAA;CACxB,CAAA;AAED,aAAK,cAAc,GAAG;IACpB,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,SAAS,EAAE,aAAa,CAAA;IACxB,cAAc,EAAE,aAAa,CAAA;IAC7B,cAAc,EAAE,aAAa,CAAA;IAC7B,eAAe,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC/F,WAAW,EAAE,UAAU,CAAA;CACxB,CAAA"}
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UpbitBookChangeMapper = exports.UpbitTradesMapper = void 0;
4
+ const handy_1 = require("../handy");
4
5
  class UpbitTradesMapper {
5
6
  canHandle(message) {
6
7
  return message.type === 'trade';
7
8
  }
8
9
  getFilters(symbols) {
10
+ symbols = (0, handy_1.upperCaseSymbols)(symbols);
9
11
  return [
10
12
  {
11
13
  channel: 'trade',
@@ -33,6 +35,7 @@ class UpbitBookChangeMapper {
33
35
  return message.type === 'orderbook';
34
36
  }
35
37
  getFilters(symbols) {
38
+ symbols = (0, handy_1.upperCaseSymbols)(symbols);
36
39
  return [
37
40
  {
38
41
  channel: 'orderbook',
@@ -1 +1 @@
1
- {"version":3,"file":"upbit.js","sourceRoot":"","sources":["../../src/mappers/upbit.ts"],"names":[],"mappings":";;;AAGA,MAAa,iBAAiB;IAC5B,SAAS,CAAC,OAAmB;QAC3B,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,CAAA;IACjC,CAAC;IAED,UAAU,CAAC,OAAkB;QAC3B,OAAO;YACL;gBACE,OAAO,EAAE,OAAO;gBAChB,OAAO;aACC;SACX,CAAA;IACH,CAAC;IAED,CAAC,GAAG,CAAC,OAAmB,EAAE,cAAoB;QAC5C,MAAM;YACJ,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,QAAQ,EAAE,OAAO;YACjB,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;YACjC,KAAK,EAAE,OAAO,CAAC,WAAW;YAC1B,MAAM,EAAE,OAAO,CAAC,YAAY;YAC5B,IAAI,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAChD,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YAC5C,cAAc,EAAE,cAAc;SAC/B,CAAA;IACH,CAAC;CACF;AA3BD,8CA2BC;AAED,MAAa,qBAAqB;IAChC,SAAS,CAAC,OAAuB;QAC/B,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,CAAA;IACrC,CAAC;IAED,UAAU,CAAC,OAAkB;QAC3B,OAAO;YACL;gBACE,OAAO,EAAE,WAAW;gBACpB,OAAO;aACC;SACX,CAAA;IACH,CAAC;IAED,CAAC,GAAG,CAAC,OAAuB,EAAE,cAAoB;QAChD,IAAI,IAAI,GAAqB,EAAE,CAAA;QAC/B,IAAI,IAAI,GAAqB,EAAE,CAAA;QAE/B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3C,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,KAAK,CAAC,SAAS;oBACtB,MAAM,EAAE,KAAK,CAAC,QAAQ;iBACvB,CAAC,CAAA;aACH;YAED,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,KAAK,CAAC,SAAS;oBACtB,MAAM,EAAE,KAAK,CAAC,QAAQ;iBACvB,CAAC,CAAA;aACH;SACF;QACD,MAAM;YACJ,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,IAAI;YAChB,IAAI;YACJ,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACtC,cAAc;SACf,CAAA;IACH,CAAC;CACF;AA5CD,sDA4CC"}
1
+ {"version":3,"file":"upbit.js","sourceRoot":"","sources":["../../src/mappers/upbit.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAI3C,MAAa,iBAAiB;IAC5B,SAAS,CAAC,OAAmB;QAC3B,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,CAAA;IACjC,CAAC;IAED,UAAU,CAAC,OAAkB;QAC3B,OAAO,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAA;QAEnC,OAAO;YACL;gBACE,OAAO,EAAE,OAAO;gBAChB,OAAO;aACC;SACX,CAAA;IACH,CAAC;IAED,CAAC,GAAG,CAAC,OAAmB,EAAE,cAAoB;QAC5C,MAAM;YACJ,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,QAAQ,EAAE,OAAO;YACjB,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;YACjC,KAAK,EAAE,OAAO,CAAC,WAAW;YAC1B,MAAM,EAAE,OAAO,CAAC,YAAY;YAC5B,IAAI,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAChD,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;YAC5C,cAAc,EAAE,cAAc;SAC/B,CAAA;IACH,CAAC;CACF;AA7BD,8CA6BC;AAED,MAAa,qBAAqB;IAChC,SAAS,CAAC,OAAuB;QAC/B,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,CAAA;IACrC,CAAC;IAED,UAAU,CAAC,OAAkB;QAC3B,OAAO,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAA;QAEnC,OAAO;YACL;gBACE,OAAO,EAAE,WAAW;gBACpB,OAAO;aACC;SACX,CAAA;IACH,CAAC;IAED,CAAC,GAAG,CAAC,OAAuB,EAAE,cAAoB;QAChD,IAAI,IAAI,GAAqB,EAAE,CAAA;QAC/B,IAAI,IAAI,GAAqB,EAAE,CAAA;QAE/B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3C,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,KAAK,CAAC,SAAS;oBACtB,MAAM,EAAE,KAAK,CAAC,QAAQ;iBACvB,CAAC,CAAA;aACH;YAED,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC;oBACR,KAAK,EAAE,KAAK,CAAC,SAAS;oBACtB,MAAM,EAAE,KAAK,CAAC,QAAQ;iBACvB,CAAC,CAAA;aACH;SACF;QACD,MAAM;YACJ,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,OAAO,CAAC,IAAI;YACpB,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,IAAI;YAChB,IAAI;YACJ,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACtC,cAAc;SACf,CAAA;IACH,CAAC;CACF;AA9CD,sDA8CC"}
@@ -2,12 +2,14 @@ import { Filter } from '../types';
2
2
  import { RealTimeFeedBase } from './realtimefeed';
3
3
  export declare class OkexRealTimeFeed extends RealTimeFeedBase {
4
4
  protected wssURL: string;
5
- protected decompress: (message: any) => any;
6
5
  protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
7
6
  protected messageIsError(message: any): boolean;
8
7
  }
9
- export declare class OKCoinRealTimeFeed extends OkexRealTimeFeed {
8
+ export declare class OKCoinRealTimeFeed extends RealTimeFeedBase {
10
9
  protected wssURL: string;
10
+ protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
11
+ protected messageIsError(message: any): boolean;
12
+ protected decompress: (message: any) => any;
11
13
  }
12
14
  export declare class OkexOptionsRealTimeFeed extends OkexRealTimeFeed {
13
15
  private _defaultIndexes;
@@ -1 +1 @@
1
- {"version":3,"file":"okex.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/okex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,SAAS,CAAC,MAAM,SAAmC;IAEnD,SAAS,CAAC,UAAU,YAAa,GAAG,SAInC;IAED,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IAqBlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;CAGhD;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,SAAS,CAAC,MAAM,SAAqC;CACtD;AAED,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,eAAe,CAAoC;IAE3D,OAAO,CAAC,8BAA8B;IAMtC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;CAgCnE"}
1
+ {"version":3,"file":"okex.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/okex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,SAAS,CAAC,MAAM,SAAwC;IAExD,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IAwBlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;CAGhD;AAED,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,SAAS,CAAC,MAAM,SAAqC;IAErD,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IAqBlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI/C,SAAS,CAAC,UAAU,YAAa,GAAG,SAInC;CACF;AAED,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,eAAe,CAAyB;IAEhD,OAAO,CAAC,8BAA8B;IAMtC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;CAoCnE"}
@@ -6,11 +6,7 @@ const realtimefeed_1 = require("./realtimefeed");
6
6
  class OkexRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
7
7
  constructor() {
8
8
  super(...arguments);
9
- this.wssURL = 'wss://real.okex.com:8443/ws/v3';
10
- this.decompress = (message) => {
11
- message = (0, zlib_1.inflateRawSync)(message);
12
- return message;
13
- };
9
+ this.wssURL = 'wss://ws.okex.com:8443/ws/v5/public';
14
10
  }
15
11
  mapToSubscribeMessages(filters) {
16
12
  const args = filters
@@ -19,7 +15,10 @@ class OkexRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
19
15
  throw new Error(`${this._exchange} RealTimeFeed requires explicitly specified symbols when subscribing to live feed`);
20
16
  }
21
17
  return filter.symbols.map((symbol) => {
22
- return `${filter.channel}:${symbol}`;
18
+ return {
19
+ channel: filter.channel,
20
+ instId: symbol
21
+ };
23
22
  });
24
23
  })
25
24
  .flatMap((s) => s);
@@ -35,20 +34,45 @@ class OkexRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
35
34
  }
36
35
  }
37
36
  exports.OkexRealTimeFeed = OkexRealTimeFeed;
38
- class OKCoinRealTimeFeed extends OkexRealTimeFeed {
37
+ class OKCoinRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
39
38
  constructor() {
40
39
  super(...arguments);
41
40
  this.wssURL = 'wss://real.okcoin.com:8443/ws/v3';
41
+ this.decompress = (message) => {
42
+ message = (0, zlib_1.inflateRawSync)(message);
43
+ return message;
44
+ };
45
+ }
46
+ mapToSubscribeMessages(filters) {
47
+ const args = filters
48
+ .map((filter) => {
49
+ if (!filter.symbols || filter.symbols.length === 0) {
50
+ throw new Error(`${this._exchange} RealTimeFeed requires explicitly specified symbols when subscribing to live feed`);
51
+ }
52
+ return filter.symbols.map((symbol) => {
53
+ return `${filter.channel}:${symbol}`;
54
+ });
55
+ })
56
+ .flatMap((s) => s);
57
+ return [
58
+ {
59
+ op: 'subscribe',
60
+ args: [...new Set(args)]
61
+ }
62
+ ];
63
+ }
64
+ messageIsError(message) {
65
+ return message.event === 'error';
42
66
  }
43
67
  }
44
68
  exports.OKCoinRealTimeFeed = OKCoinRealTimeFeed;
45
69
  class OkexOptionsRealTimeFeed extends OkexRealTimeFeed {
46
70
  constructor() {
47
71
  super(...arguments);
48
- this._defaultIndexes = ['BTC-USD', 'ETH-USD', 'EOS-USD'];
72
+ this._defaultIndexes = ['BTC-USD', 'ETH-USD'];
49
73
  }
50
74
  _channelRequiresIndexNotSymbol(channel) {
51
- if (channel === 'index/ticker' || channel === 'option/summary') {
75
+ if (channel === 'index-tickers' || channel === 'opt-summary') {
52
76
  return true;
53
77
  }
54
78
  return false;
@@ -70,7 +94,11 @@ class OkexOptionsRealTimeFeed extends OkexRealTimeFeed {
70
94
  const symbolParts = symbol.split('-');
71
95
  finalSymbol = `${symbolParts[0]}-${symbolParts[1]}`;
72
96
  }
73
- return `${filter.channel}:${finalSymbol}`;
97
+ return {
98
+ channel: filter.channel,
99
+ instId: filter.channel !== 'opt-summary' ? finalSymbol : undefined,
100
+ uly: filter.channel === 'opt-summary' ? finalSymbol : undefined
101
+ };
74
102
  });
75
103
  })
76
104
  .flatMap((s) => s);
@@ -1 +1 @@
1
- {"version":3,"file":"okex.js","sourceRoot":"","sources":["../../src/realtimefeeds/okex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"okex.js","sourceRoot":"","sources":["../../src/realtimefeeds/okex.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.0.0",
3
+ "version": "13.1.3",
4
4
  "engines": {
5
5
  "node": ">=12"
6
6
  },
package/src/consts.ts CHANGED
@@ -104,7 +104,24 @@ const DERIBIT_CHANNELS = [
104
104
 
105
105
  const KRAKEN_CHANNELS = ['trade', 'ticker', 'book', 'spread'] as const
106
106
 
107
- const OKEX_CHANNELS = ['spot/trade', 'spot/depth', 'spot/depth_l2_tbt', 'spot/ticker', 'system/status', 'margin/interest_rate'] as const
107
+ const OKEX_CHANNELS = [
108
+ 'spot/trade',
109
+ 'spot/depth',
110
+ 'spot/depth_l2_tbt',
111
+ 'spot/ticker',
112
+ 'system/status',
113
+ 'margin/interest_rate',
114
+
115
+ // v5
116
+ 'trades',
117
+ 'books-l2-tbt',
118
+ 'tickers',
119
+ 'interest-rate-loan-quota',
120
+ 'vip-interest-rate-loan-quota',
121
+ 'status',
122
+ 'instruments',
123
+ 'taker-volume'
124
+ ] as const
108
125
 
109
126
  const OKCOIN_CHANNELS = ['spot/trade', 'spot/depth', 'spot/depth_l2_tbt', 'spot/ticker', 'system/status'] as const
110
127
 
@@ -119,7 +136,21 @@ const OKEX_FUTURES_CHANNELS = [
119
136
  'system/status',
120
137
  'information/sentiment',
121
138
  'information/long_short_ratio',
122
- 'information/margin'
139
+ 'information/margin',
140
+
141
+ // v5
142
+ 'trades',
143
+ 'books-l2-tbt',
144
+ 'tickers',
145
+ 'open-interest',
146
+ 'mark-price',
147
+ 'price-limit',
148
+ 'status',
149
+ 'instruments',
150
+ 'index-tickers',
151
+ 'long-short-account-ratio',
152
+ 'taker-volume',
153
+ 'liquidations'
123
154
  ] as const
124
155
 
125
156
  const OKEX_SWAP_CHANNELS = [
@@ -134,7 +165,22 @@ const OKEX_SWAP_CHANNELS = [
134
165
  'system/status',
135
166
  'information/sentiment',
136
167
  'information/long_short_ratio',
137
- 'information/margin'
168
+ 'information/margin',
169
+
170
+ //v5
171
+ 'trades',
172
+ 'books-l2-tbt',
173
+ 'tickers',
174
+ 'open-interest',
175
+ 'mark-price',
176
+ 'price-limit',
177
+ 'funding-rate',
178
+ 'status',
179
+ 'instruments',
180
+ 'index-tickers',
181
+ 'long-short-account-ratio',
182
+ 'taker-volume',
183
+ 'liquidations'
138
184
  ] as const
139
185
 
140
186
  const OKEX_OPTIONS_CHANNELS = [
@@ -146,7 +192,19 @@ const OKEX_OPTIONS_CHANNELS = [
146
192
  'option/instruments',
147
193
  'index/ticker',
148
194
  'system/status',
149
- 'option/trades'
195
+ 'option/trades',
196
+
197
+ //v5
198
+ 'trades',
199
+ 'books-l2-tbt',
200
+ 'tickers',
201
+ 'opt-summary',
202
+ 'status',
203
+ 'instruments',
204
+ 'index-tickers',
205
+ 'open-interest',
206
+ 'mark-price',
207
+ 'price-limit'
150
208
  ] as const
151
209
 
152
210
  const COINFLEX_CHANNELS = ['futures/depth', 'trade', 'ticker'] as const
package/src/handy.ts CHANGED
@@ -451,4 +451,18 @@ if (httpsProxyAgent !== undefined) {
451
451
  }
452
452
  }
453
453
 
454
+ export function upperCaseSymbols(symbols?: string[]) {
455
+ if (symbols !== undefined) {
456
+ return symbols.map((s) => s.toUpperCase())
457
+ }
458
+ return
459
+ }
460
+
461
+ export function lowerCaseSymbols(symbols?: string[]) {
462
+ if (symbols !== undefined) {
463
+ return symbols.map((s) => s.toLowerCase())
464
+ }
465
+ return
466
+ }
467
+
454
468
  export const httpClient = got.extend(gotDefaultOptions)
@@ -1,5 +1,6 @@
1
+ import { upperCaseSymbols } from '../handy'
2
+ import { BookChange, BookTicker, DerivativeTicker, Trade } from '../types'
1
3
  import { Mapper, PendingTickerInfoHelper } from './mapper'
2
- import { Trade, BookChange, DerivativeTicker, BookTicker } from '../types'
3
4
 
4
5
  export class AscendexTradesMapper implements Mapper<'ascendex', Trade> {
5
6
  canHandle(message: AscendexTrade) {
@@ -7,6 +8,7 @@ export class AscendexTradesMapper implements Mapper<'ascendex', Trade> {
7
8
  }
8
9
 
9
10
  getFilters(symbols?: string[]) {
11
+ symbols = upperCaseSymbols(symbols)
10
12
  return [
11
13
  {
12
14
  channel: 'trades',
@@ -38,6 +40,7 @@ export class AscendexBookChangeMapper implements Mapper<'ascendex', BookChange>
38
40
  }
39
41
 
40
42
  getFilters(symbols?: string[]) {
43
+ symbols = upperCaseSymbols(symbols)
41
44
  return [
42
45
  {
43
46
  channel: 'depth-realtime',
@@ -78,6 +81,7 @@ export class AscendexDerivativeTickerMapper implements Mapper<'ascendex', Deriva
78
81
  }
79
82
 
80
83
  getFilters(symbols?: string[]) {
84
+ symbols = upperCaseSymbols(symbols)
81
85
  return [
82
86
  {
83
87
  channel: 'futures-pricing-data',
@@ -120,6 +124,7 @@ export class AscendexBookTickerMapper implements Mapper<'ascendex', BookTicker>
120
124
  }
121
125
 
122
126
  getFilters(symbols?: string[]) {
127
+ symbols = upperCaseSymbols(symbols)
123
128
  return [
124
129
  {
125
130
  channel: 'bbo',
@@ -1,6 +1,6 @@
1
1
  import { debug } from '../debug'
2
- import { CircularBuffer } from '../handy'
3
- import { BookChange, DerivativeTicker, Exchange, FilterForExchange, Liquidation, BookTicker, Trade } from '../types'
2
+ import { CircularBuffer, lowerCaseSymbols } from '../handy'
3
+ import { BookChange, BookTicker, DerivativeTicker, Exchange, FilterForExchange, Liquidation, Trade } from '../types'
4
4
  import { Mapper, PendingTickerInfoHelper } from './mapper'
5
5
 
6
6
  // https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md
@@ -447,13 +447,6 @@ export class BinanceBookTickerMapper implements Mapper<'binance-futures' | 'bina
447
447
  }
448
448
  }
449
449
 
450
- function lowerCaseSymbols(symbols?: string[]) {
451
- if (symbols !== undefined) {
452
- return symbols.map((s) => s.toLowerCase())
453
- }
454
- return
455
- }
456
-
457
450
  type BinanceResponse<T> = {
458
451
  stream: string
459
452
  data: T
@@ -1,4 +1,5 @@
1
- import { BookChange, Trade, BookTicker } from '../types'
1
+ import { upperCaseSymbols } from '../handy'
2
+ import { BookChange, BookTicker, Trade } from '../types'
2
3
  import { Mapper } from './mapper'
3
4
 
4
5
  // https://docs.binance.org/api-reference/dex-api/ws-streams.html
@@ -9,6 +10,8 @@ export const binanceDexTradesMapper: Mapper<'binance-dex', Trade> = {
9
10
  },
10
11
 
11
12
  getFilters(symbols?: string[]) {
13
+ symbols = upperCaseSymbols(symbols)
14
+
12
15
  return [
13
16
  {
14
17
  channel: 'trades',
@@ -46,6 +49,7 @@ export const binanceDexBookChangeMapper: Mapper<'binance-dex', BookChange> = {
46
49
  },
47
50
 
48
51
  getFilters(symbols?: string[]) {
52
+ symbols = upperCaseSymbols(symbols)
49
53
  return [
50
54
  {
51
55
  channel: 'depthSnapshot',
@@ -96,6 +100,7 @@ export const binanceDexBookTickerMapper: Mapper<'binance-dex', BookTicker> = {
96
100
  },
97
101
 
98
102
  getFilters(symbols?: string[]) {
103
+ symbols = upperCaseSymbols(symbols)
99
104
  return [
100
105
  {
101
106
  channel: 'ticker',
@@ -1,4 +1,4 @@
1
- import { asNumberIfValid } from '../handy'
1
+ import { asNumberIfValid, upperCaseSymbols } from '../handy'
2
2
  import { BookChange, OptionSummary, Trade } from '../types'
3
3
  import { Mapper } from './mapper'
4
4
 
@@ -15,6 +15,8 @@ export class BinanceOptionsTradesMapper implements Mapper<'binance-options', Tra
15
15
  }
16
16
 
17
17
  getFilters(symbols?: string[]) {
18
+ symbols = upperCaseSymbols(symbols)
19
+
18
20
  return [
19
21
  {
20
22
  channel: 'TRADE',
@@ -68,6 +70,8 @@ export class BinanceOptionsBookChangeMapper implements Mapper<'binance-options',
68
70
  }
69
71
 
70
72
  getFilters(symbols?: string[]) {
73
+ symbols = upperCaseSymbols(symbols)
74
+
71
75
  return [
72
76
  {
73
77
  channel: 'DEPTH100',
@@ -109,6 +113,8 @@ export class BinanceOptionSummaryMapper implements Mapper<'binance-options', Opt
109
113
  }
110
114
 
111
115
  getFilters(symbols?: string[]) {
116
+ symbols = upperCaseSymbols(symbols)
117
+
112
118
  const indexes =
113
119
  symbols !== undefined
114
120
  ? symbols.map((s) => {
@@ -1,4 +1,5 @@
1
- import { BookChange, DerivativeTicker, Exchange, FilterForExchange, Liquidation, Trade, BookTicker } from '../types'
1
+ import { upperCaseSymbols } from '../handy'
2
+ import { BookChange, BookTicker, DerivativeTicker, Exchange, FilterForExchange, Liquidation, Trade } from '../types'
2
3
  import { Mapper, PendingTickerInfoHelper } from './mapper'
3
4
 
4
5
  // https://docs.bitfinex.com/v2/docs/ws-general
@@ -33,6 +34,8 @@ export class BitfinexTradesMapper implements Mapper<'bitfinex' | 'bitfinex-deriv
33
34
  }
34
35
 
35
36
  getFilters(symbols?: string[]) {
37
+ symbols = upperCaseSymbols(symbols)
38
+
36
39
  return [
37
40
  {
38
41
  channel: 'trades',
@@ -107,6 +110,8 @@ export class BitfinexBookChangeMapper implements Mapper<'bitfinex' | 'bitfinex-d
107
110
  }
108
111
 
109
112
  getFilters(symbols?: string[]) {
113
+ symbols = upperCaseSymbols(symbols)
114
+
110
115
  return [
111
116
  {
112
117
  channel: 'book',
@@ -187,6 +192,8 @@ export class BitfinexDerivativeTickerMapper implements Mapper<'bitfinex-derivati
187
192
  }
188
193
 
189
194
  getFilters(symbols?: string[]) {
195
+ symbols = upperCaseSymbols(symbols)
196
+
190
197
  return [
191
198
  {
192
199
  channel: 'status',
@@ -345,6 +352,8 @@ export class BitfinexBookTickerMapper implements Mapper<'bitfinex' | 'bitfinex-d
345
352
  }
346
353
 
347
354
  getFilters(symbols?: string[]) {
355
+ symbols = upperCaseSymbols(symbols)
356
+
348
357
  return [
349
358
  {
350
359
  channel: 'ticker',
@@ -1,5 +1,5 @@
1
- import { parseμs } from '../handy'
2
- import { BookChange, Trade, BookTicker } from '../types'
1
+ import { parseμs, upperCaseSymbols } from '../handy'
2
+ import { BookChange, BookTicker, Trade } from '../types'
3
3
  import { Mapper } from './mapper'
4
4
 
5
5
  export const bitflyerTradesMapper: Mapper<'bitflyer', Trade> = {
@@ -8,6 +8,8 @@ export const bitflyerTradesMapper: Mapper<'bitflyer', Trade> = {
8
8
  },
9
9
 
10
10
  getFilters(symbols?: string[]) {
11
+ symbols = upperCaseSymbols(symbols)
12
+
11
13
  return [
12
14
  {
13
15
  channel: 'lightning_executions',
@@ -52,6 +54,8 @@ export class BitflyerBookChangeMapper implements Mapper<'bitflyer', BookChange>
52
54
  }
53
55
 
54
56
  getFilters(symbols?: string[]) {
57
+ symbols = upperCaseSymbols(symbols)
58
+
55
59
  return [
56
60
  {
57
61
  channel: 'lightning_board_snapshot',
@@ -97,6 +101,8 @@ export const bitflyerBookTickerMapper: Mapper<'bitflyer', BookTicker> = {
97
101
  },
98
102
 
99
103
  getFilters(symbols?: string[]) {
104
+ symbols = upperCaseSymbols(symbols)
105
+
100
106
  return [
101
107
  {
102
108
  channel: 'lightning_ticker',
@@ -1,5 +1,5 @@
1
- import { asNumberIfValid } from '../handy'
2
- import { BookChange, BookPriceLevel, DerivativeTicker, FilterForExchange, Liquidation, Trade, BookTicker } from '../types'
1
+ import { asNumberIfValid, upperCaseSymbols } from '../handy'
2
+ import { BookChange, BookPriceLevel, BookTicker, DerivativeTicker, FilterForExchange, Liquidation, Trade } from '../types'
3
3
  import { Mapper, PendingTickerInfoHelper } from './mapper'
4
4
 
5
5
  // https://www.bitmex.com/app/wsAPI
@@ -10,6 +10,8 @@ export const bitmexTradesMapper: Mapper<'bitmex', Trade> = {
10
10
  },
11
11
 
12
12
  getFilters(symbols?: string[]) {
13
+ symbols = upperCaseSymbols(symbols)
14
+
13
15
  return [
14
16
  {
15
17
  channel: 'trade',
@@ -45,6 +47,8 @@ export class BitmexBookChangeMapper implements Mapper<'bitmex', BookChange> {
45
47
  }
46
48
 
47
49
  getFilters(symbols?: string[]) {
50
+ symbols = upperCaseSymbols(symbols)
51
+
48
52
  return [
49
53
  {
50
54
  channel: 'orderBookL2',
@@ -150,6 +154,8 @@ export class BitmexDerivativeTickerMapper implements Mapper<'bitmex', Derivative
150
154
  }
151
155
 
152
156
  getFilters(symbols?: string[]) {
157
+ symbols = upperCaseSymbols(symbols)
158
+
153
159
  return [
154
160
  {
155
161
  channel: 'instrument',
@@ -198,6 +204,8 @@ export const bitmexLiquidationsMapper: Mapper<'bitmex', Liquidation> = {
198
204
  },
199
205
 
200
206
  getFilters(symbols?: string[]) {
207
+ symbols = upperCaseSymbols(symbols)
208
+
201
209
  return [
202
210
  {
203
211
  channel: 'liquidation',
@@ -231,6 +239,8 @@ export const bitmexBookTickerMapper: Mapper<'bitmex', BookTicker> = {
231
239
  },
232
240
 
233
241
  getFilters(symbols?: string[]) {
242
+ symbols = upperCaseSymbols(symbols)
243
+
234
244
  return [
235
245
  {
236
246
  channel: 'quote',
@@ -1,3 +1,4 @@
1
+ import { lowerCaseSymbols } from '../handy'
1
2
  import { BookChange, Trade } from '../types'
2
3
  import { Mapper } from './mapper'
3
4
 
@@ -168,13 +169,6 @@ export class BitstampBookChangeMapper implements Mapper<'bitstamp', BookChange>
168
169
  }
169
170
  }
170
171
 
171
- function lowerCaseSymbols(symbols?: string[]) {
172
- if (symbols !== undefined) {
173
- return symbols.map((s) => s.toLowerCase())
174
- }
175
- return
176
- }
177
-
178
172
  type BitstampTrade = {
179
173
  event: 'trade'
180
174
  channel: string
@@ -1,3 +1,4 @@
1
+ import { upperCaseSymbols } from '../handy'
1
2
  import { BookChange, DerivativeTicker, Exchange, Liquidation, Trade } from '../types'
2
3
  import { Mapper, PendingTickerInfoHelper } from './mapper'
3
4
 
@@ -14,6 +15,8 @@ export class BybitTradesMapper implements Mapper<'bybit', Trade> {
14
15
  }
15
16
 
16
17
  getFilters(symbols?: string[]) {
18
+ symbols = upperCaseSymbols(symbols)
19
+
17
20
  return [
18
21
  {
19
22
  channel: 'trade',
@@ -57,6 +60,8 @@ export class BybitBookChangeMapper implements Mapper<'bybit', BookChange> {
57
60
  }
58
61
 
59
62
  getFilters(symbols?: string[]) {
63
+ symbols = upperCaseSymbols(symbols)
64
+
60
65
  if (this._canUseBook200Channel) {
61
66
  return [
62
67
  {
@@ -117,6 +122,8 @@ export class BybitDerivativeTickerMapper implements Mapper<'bybit', DerivativeTi
117
122
  }
118
123
 
119
124
  getFilters(symbols?: string[]) {
125
+ symbols = upperCaseSymbols(symbols)
126
+
120
127
  return [
121
128
  {
122
129
  channel: 'instrument_info',
@@ -190,6 +197,8 @@ export class BybitLiquidationsMapper implements Mapper<'bybit', Liquidation> {
190
197
  }
191
198
 
192
199
  getFilters(symbols?: string[]) {
200
+ symbols = upperCaseSymbols(symbols)
201
+
193
202
  return [
194
203
  {
195
204
  channel: 'liquidation',
@@ -1,6 +1,6 @@
1
+ import { parseμs, upperCaseSymbols } from '../handy'
1
2
  import { BookChange, BookPriceLevel, BookTicker, Trade } from '../types'
2
3
  import { Mapper } from './mapper'
3
- import { parseμs } from '../handy'
4
4
 
5
5
  // https://docs.pro.coinbase.com/#websocket-feed
6
6
 
@@ -10,6 +10,8 @@ export const coinbaseTradesMapper: Mapper<'coinbase', Trade> = {
10
10
  },
11
11
 
12
12
  getFilters(symbols?: string[]) {
13
+ symbols = upperCaseSymbols(symbols)
14
+
13
15
  return [
14
16
  {
15
17
  channel: 'match',
@@ -69,6 +71,8 @@ export class CoinbaseBookChangMapper implements Mapper<'coinbase', BookChange> {
69
71
  }
70
72
 
71
73
  getFilters(symbols?: string[]) {
74
+ symbols = upperCaseSymbols(symbols)
75
+
72
76
  return [
73
77
  {
74
78
  channel: 'snapshot',
@@ -128,6 +132,8 @@ export const coinbaseBookTickerMapper: Mapper<'coinbase', BookTicker> = {
128
132
  },
129
133
 
130
134
  getFilters(symbols?: string[]) {
135
+ symbols = upperCaseSymbols(symbols)
136
+
131
137
  return [
132
138
  {
133
139
  channel: 'ticker',