tardis-dev 16.5.0 → 16.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/dist/consts.d.ts +3 -1
  2. package/dist/consts.d.ts.map +1 -1
  3. package/dist/consts.js +21 -1
  4. package/dist/consts.js.map +1 -1
  5. package/dist/handy.d.ts.map +1 -1
  6. package/dist/handy.js +6 -3
  7. package/dist/handy.js.map +1 -1
  8. package/dist/mappers/ascendex.d.ts +6 -99
  9. package/dist/mappers/ascendex.d.ts.map +1 -1
  10. package/dist/mappers/ascendex.js +13 -4
  11. package/dist/mappers/ascendex.js.map +1 -1
  12. package/dist/mappers/binance.d.ts +27 -154
  13. package/dist/mappers/binance.d.ts.map +1 -1
  14. package/dist/mappers/binance.js +49 -15
  15. package/dist/mappers/binance.js.map +1 -1
  16. package/dist/mappers/binancedex.d.ts +7 -4
  17. package/dist/mappers/binancedex.d.ts.map +1 -1
  18. package/dist/mappers/binancedex.js +11 -3
  19. package/dist/mappers/binancedex.js.map +1 -1
  20. package/dist/mappers/binanceeuropeanoptions.d.ts +6 -216
  21. package/dist/mappers/binanceeuropeanoptions.d.ts.map +1 -1
  22. package/dist/mappers/binanceeuropeanoptions.js +26 -7
  23. package/dist/mappers/binanceeuropeanoptions.js.map +1 -1
  24. package/dist/mappers/bitfinex.d.ts +15 -100
  25. package/dist/mappers/bitfinex.d.ts.map +1 -1
  26. package/dist/mappers/bitfinex.js +20 -5
  27. package/dist/mappers/bitfinex.js.map +1 -1
  28. package/dist/mappers/bitflyer.d.ts +5 -41
  29. package/dist/mappers/bitflyer.d.ts.map +1 -1
  30. package/dist/mappers/bitflyer.js +11 -3
  31. package/dist/mappers/bitflyer.js.map +1 -1
  32. package/dist/mappers/bitget.d.ts +12 -269
  33. package/dist/mappers/bitget.d.ts.map +1 -1
  34. package/dist/mappers/bitget.js +46 -9
  35. package/dist/mappers/bitget.js.map +1 -1
  36. package/dist/mappers/bitmex.d.ts +8 -56
  37. package/dist/mappers/bitmex.d.ts.map +1 -1
  38. package/dist/mappers/bitmex.js +15 -5
  39. package/dist/mappers/bitmex.js.map +1 -1
  40. package/dist/mappers/bitnomial.d.ts +4 -44
  41. package/dist/mappers/bitnomial.d.ts.map +1 -1
  42. package/dist/mappers/bitnomial.js +9 -2
  43. package/dist/mappers/bitnomial.js.map +1 -1
  44. package/dist/mappers/bitstamp.d.ts +4 -44
  45. package/dist/mappers/bitstamp.d.ts.map +1 -1
  46. package/dist/mappers/bitstamp.js +9 -2
  47. package/dist/mappers/bitstamp.js.map +1 -1
  48. package/dist/mappers/blockchaincom.d.ts +4 -63
  49. package/dist/mappers/blockchaincom.d.ts.map +1 -1
  50. package/dist/mappers/blockchaincom.js +9 -2
  51. package/dist/mappers/blockchaincom.js.map +1 -1
  52. package/dist/mappers/bullish.d.ts +8 -158
  53. package/dist/mappers/bullish.d.ts.map +1 -1
  54. package/dist/mappers/bullish.js +19 -7
  55. package/dist/mappers/bullish.js.map +1 -1
  56. package/dist/mappers/bybit.d.ts +61 -407
  57. package/dist/mappers/bybit.d.ts.map +1 -1
  58. package/dist/mappers/bybit.js +60 -15
  59. package/dist/mappers/bybit.js.map +1 -1
  60. package/dist/mappers/bybitspot.d.ts +1 -1
  61. package/dist/mappers/coinbase.d.ts +6 -39
  62. package/dist/mappers/coinbase.d.ts.map +1 -1
  63. package/dist/mappers/coinbase.js +11 -3
  64. package/dist/mappers/coinbase.js.map +1 -1
  65. package/dist/mappers/coinbaseinternational.d.ts +7 -78
  66. package/dist/mappers/coinbaseinternational.d.ts.map +1 -1
  67. package/dist/mappers/coinbaseinternational.js +13 -4
  68. package/dist/mappers/coinbaseinternational.js.map +1 -1
  69. package/dist/mappers/coinflex.d.ts +6 -24
  70. package/dist/mappers/coinflex.d.ts.map +1 -1
  71. package/dist/mappers/coinflex.js +11 -3
  72. package/dist/mappers/coinflex.js.map +1 -1
  73. package/dist/mappers/cryptocom.d.ts +22 -328
  74. package/dist/mappers/cryptocom.d.ts.map +1 -1
  75. package/dist/mappers/cryptocom.js +13 -4
  76. package/dist/mappers/cryptocom.js.map +1 -1
  77. package/dist/mappers/cryptofacilities.d.ts +8 -96
  78. package/dist/mappers/cryptofacilities.d.ts.map +1 -1
  79. package/dist/mappers/cryptofacilities.js +24 -7
  80. package/dist/mappers/cryptofacilities.js.map +1 -1
  81. package/dist/mappers/delta.d.ts +7 -114
  82. package/dist/mappers/delta.d.ts.map +1 -1
  83. package/dist/mappers/delta.js +30 -10
  84. package/dist/mappers/delta.js.map +1 -1
  85. package/dist/mappers/deribit.d.ts +8 -66
  86. package/dist/mappers/deribit.d.ts.map +1 -1
  87. package/dist/mappers/deribit.js +17 -6
  88. package/dist/mappers/deribit.js.map +1 -1
  89. package/dist/mappers/dydx.d.ts +5 -146
  90. package/dist/mappers/dydx.d.ts.map +1 -1
  91. package/dist/mappers/dydx.js +11 -3
  92. package/dist/mappers/dydx.js.map +1 -1
  93. package/dist/mappers/dydxv4.d.ts +6 -173
  94. package/dist/mappers/dydxv4.d.ts.map +1 -1
  95. package/dist/mappers/dydxv4.js +13 -4
  96. package/dist/mappers/dydxv4.js.map +1 -1
  97. package/dist/mappers/ftx.d.ts +12 -107
  98. package/dist/mappers/ftx.d.ts.map +1 -1
  99. package/dist/mappers/ftx.js +21 -6
  100. package/dist/mappers/ftx.js.map +1 -1
  101. package/dist/mappers/gateio.d.ts +6 -191
  102. package/dist/mappers/gateio.d.ts.map +1 -1
  103. package/dist/mappers/gateio.js +28 -8
  104. package/dist/mappers/gateio.js.map +1 -1
  105. package/dist/mappers/gateiofutures.d.ts +7 -122
  106. package/dist/mappers/gateiofutures.d.ts.map +1 -1
  107. package/dist/mappers/gateiofutures.js +13 -4
  108. package/dist/mappers/gateiofutures.js.map +1 -1
  109. package/dist/mappers/gemini.d.ts +6 -3
  110. package/dist/mappers/gemini.d.ts.map +1 -1
  111. package/dist/mappers/gemini.js +9 -2
  112. package/dist/mappers/gemini.js.map +1 -1
  113. package/dist/mappers/hitbtc.d.ts +6 -3
  114. package/dist/mappers/hitbtc.d.ts.map +1 -1
  115. package/dist/mappers/hitbtc.js +9 -2
  116. package/dist/mappers/hitbtc.js.map +1 -1
  117. package/dist/mappers/huobi.d.ts +118 -289
  118. package/dist/mappers/huobi.d.ts.map +1 -1
  119. package/dist/mappers/huobi.js +45 -7
  120. package/dist/mappers/huobi.js.map +1 -1
  121. package/dist/mappers/hyperliquid.d.ts +6 -86
  122. package/dist/mappers/hyperliquid.d.ts.map +1 -1
  123. package/dist/mappers/hyperliquid.js +13 -4
  124. package/dist/mappers/hyperliquid.js.map +1 -1
  125. package/dist/mappers/index.d.ts +784 -272
  126. package/dist/mappers/index.d.ts.map +1 -1
  127. package/dist/mappers/index.js +64 -432
  128. package/dist/mappers/index.js.map +1 -1
  129. package/dist/mappers/kraken.d.ts +7 -4
  130. package/dist/mappers/kraken.d.ts.map +1 -1
  131. package/dist/mappers/kraken.js +11 -3
  132. package/dist/mappers/kraken.js.map +1 -1
  133. package/dist/mappers/kucoin.d.ts +6 -122
  134. package/dist/mappers/kucoin.d.ts.map +1 -1
  135. package/dist/mappers/kucoin.js +13 -5
  136. package/dist/mappers/kucoin.js.map +1 -1
  137. package/dist/mappers/kucoinfutures.d.ts +6 -207
  138. package/dist/mappers/kucoinfutures.d.ts.map +1 -1
  139. package/dist/mappers/kucoinfutures.js +15 -6
  140. package/dist/mappers/kucoinfutures.js.map +1 -1
  141. package/dist/mappers/lighter.d.ts +8 -156
  142. package/dist/mappers/lighter.d.ts.map +1 -1
  143. package/dist/mappers/lighter.js +15 -5
  144. package/dist/mappers/lighter.js.map +1 -1
  145. package/dist/mappers/mapper.d.ts +3 -1
  146. package/dist/mappers/mapper.d.ts.map +1 -1
  147. package/dist/mappers/mapper.js.map +1 -1
  148. package/dist/mappers/mexc.d.ts +122 -0
  149. package/dist/mappers/mexc.d.ts.map +1 -0
  150. package/dist/mappers/mexc.js +205 -0
  151. package/dist/mappers/mexc.js.map +1 -0
  152. package/dist/mappers/mexcfutures.d.ts +137 -0
  153. package/dist/mappers/mexcfutures.d.ts.map +1 -0
  154. package/dist/mappers/mexcfutures.js +225 -0
  155. package/dist/mappers/mexcfutures.js.map +1 -0
  156. package/dist/mappers/okex.d.ts +36 -473
  157. package/dist/mappers/okex.d.ts.map +1 -1
  158. package/dist/mappers/okex.js +143 -37
  159. package/dist/mappers/okex.js.map +1 -1
  160. package/dist/mappers/phemex.d.ts +5 -82
  161. package/dist/mappers/phemex.d.ts.map +1 -1
  162. package/dist/mappers/phemex.js +22 -4
  163. package/dist/mappers/phemex.js.map +1 -1
  164. package/dist/mappers/poloniex.d.ts +5 -90
  165. package/dist/mappers/poloniex.d.ts.map +1 -1
  166. package/dist/mappers/poloniex.js +18 -4
  167. package/dist/mappers/poloniex.js.map +1 -1
  168. package/dist/mappers/polymarket.d.ts +7 -31
  169. package/dist/mappers/polymarket.d.ts.map +1 -1
  170. package/dist/mappers/polymarket.js +11 -3
  171. package/dist/mappers/polymarket.js.map +1 -1
  172. package/dist/mappers/registry.d.ts +41 -0
  173. package/dist/mappers/registry.d.ts.map +1 -0
  174. package/dist/mappers/registry.js +111 -0
  175. package/dist/mappers/registry.js.map +1 -0
  176. package/dist/mappers/serum.d.ts +16 -89
  177. package/dist/mappers/serum.d.ts.map +1 -1
  178. package/dist/mappers/serum.js +21 -3
  179. package/dist/mappers/serum.js.map +1 -1
  180. package/dist/mappers/upbit.d.ts +5 -47
  181. package/dist/mappers/upbit.d.ts.map +1 -1
  182. package/dist/mappers/upbit.js +9 -2
  183. package/dist/mappers/upbit.js.map +1 -1
  184. package/dist/mappers/woox.d.ts +6 -107
  185. package/dist/mappers/woox.d.ts.map +1 -1
  186. package/dist/mappers/woox.js +13 -4
  187. package/dist/mappers/woox.js.map +1 -1
  188. package/dist/okexsymbols.d.ts +3 -0
  189. package/dist/okexsymbols.d.ts.map +1 -0
  190. package/dist/okexsymbols.js +10 -0
  191. package/dist/okexsymbols.js.map +1 -0
  192. package/dist/realtimefeeds/hyperliquid.d.ts.map +1 -1
  193. package/dist/realtimefeeds/hyperliquid.js +3 -1
  194. package/dist/realtimefeeds/hyperliquid.js.map +1 -1
  195. package/dist/realtimefeeds/index.d.ts.map +1 -1
  196. package/dist/realtimefeeds/index.js +4 -0
  197. package/dist/realtimefeeds/index.js.map +1 -1
  198. package/dist/realtimefeeds/mexc.d.ts +35 -0
  199. package/dist/realtimefeeds/mexc.d.ts.map +1 -0
  200. package/dist/realtimefeeds/mexc.js +261 -0
  201. package/dist/realtimefeeds/mexc.js.map +1 -0
  202. package/dist/realtimefeeds/mexcfutures.d.ts +25 -0
  203. package/dist/realtimefeeds/mexcfutures.d.ts.map +1 -0
  204. package/dist/realtimefeeds/mexcfutures.js +203 -0
  205. package/dist/realtimefeeds/mexcfutures.js.map +1 -0
  206. package/dist/realtimefeeds/okex.d.ts +1 -0
  207. package/dist/realtimefeeds/okex.d.ts.map +1 -1
  208. package/dist/realtimefeeds/okex.js +7 -5
  209. package/dist/realtimefeeds/okex.js.map +1 -1
  210. package/dist/realtimefeeds/realtimefeed.d.ts +1 -0
  211. package/dist/realtimefeeds/realtimefeed.d.ts.map +1 -1
  212. package/dist/realtimefeeds/realtimefeed.js +4 -1
  213. package/dist/realtimefeeds/realtimefeed.js.map +1 -1
  214. package/dist/replay.d.ts.map +1 -1
  215. package/dist/replay.js +62 -13
  216. package/dist/replay.js.map +1 -1
  217. package/example.js +133 -31
  218. package/package.json +2 -1
  219. package/src/consts.ts +22 -1
  220. package/src/handy.ts +6 -3
  221. package/src/mappers/ascendex.ts +14 -4
  222. package/src/mappers/binance.ts +61 -21
  223. package/src/mappers/binancedex.ts +12 -3
  224. package/src/mappers/binanceeuropeanoptions.ts +28 -7
  225. package/src/mappers/bitfinex.ts +21 -5
  226. package/src/mappers/bitflyer.ts +12 -3
  227. package/src/mappers/bitget.ts +48 -9
  228. package/src/mappers/bitmex.ts +16 -5
  229. package/src/mappers/bitnomial.ts +10 -2
  230. package/src/mappers/bitstamp.ts +10 -2
  231. package/src/mappers/blockchaincom.ts +10 -2
  232. package/src/mappers/bullish.ts +21 -8
  233. package/src/mappers/bybit.ts +70 -15
  234. package/src/mappers/coinbase.ts +12 -3
  235. package/src/mappers/coinbaseinternational.ts +14 -4
  236. package/src/mappers/coinflex.ts +12 -3
  237. package/src/mappers/cryptocom.ts +14 -4
  238. package/src/mappers/cryptofacilities.ts +30 -6
  239. package/src/mappers/delta.ts +41 -7
  240. package/src/mappers/deribit.ts +18 -6
  241. package/src/mappers/dydx.ts +12 -3
  242. package/src/mappers/dydxv4.ts +14 -4
  243. package/src/mappers/ftx.ts +22 -6
  244. package/src/mappers/gateio.ts +34 -8
  245. package/src/mappers/gateiofutures.ts +14 -4
  246. package/src/mappers/gemini.ts +10 -2
  247. package/src/mappers/hitbtc.ts +10 -2
  248. package/src/mappers/huobi.ts +47 -10
  249. package/src/mappers/hyperliquid.ts +14 -4
  250. package/src/mappers/index.ts +133 -679
  251. package/src/mappers/kraken.ts +12 -3
  252. package/src/mappers/kucoin.ts +19 -5
  253. package/src/mappers/kucoinfutures.ts +20 -5
  254. package/src/mappers/lighter.ts +16 -5
  255. package/src/mappers/mapper.ts +3 -1
  256. package/src/mappers/mexc.ts +324 -0
  257. package/src/mappers/mexcfutures.ts +352 -0
  258. package/src/mappers/okex.ts +178 -37
  259. package/src/mappers/phemex.ts +25 -4
  260. package/src/mappers/poloniex.ts +20 -4
  261. package/src/mappers/polymarket.ts +12 -3
  262. package/src/mappers/registry.ts +203 -0
  263. package/src/mappers/serum.ts +22 -3
  264. package/src/mappers/upbit.ts +10 -2
  265. package/src/mappers/woox.ts +14 -4
  266. package/src/okexsymbols.ts +10 -0
  267. package/src/realtimefeeds/hyperliquid.ts +4 -1
  268. package/src/realtimefeeds/index.ts +4 -0
  269. package/src/realtimefeeds/mexc.ts +327 -0
  270. package/src/realtimefeeds/mexcfutures.ts +269 -0
  271. package/src/realtimefeeds/okex.ts +7 -5
  272. package/src/realtimefeeds/realtimefeed.ts +5 -1
  273. package/src/replay.ts +73 -15
@@ -1,296 +1,125 @@
1
- import { CircularBuffer } from '../handy.ts';
2
- import { BookChange, BookTicker, DerivativeTicker, Exchange, Liquidation, OptionSummary, Trade } from '../types.ts';
3
- import { Mapper } from './mapper.ts';
4
- export declare class HuobiTradesMapper implements Mapper<'huobi' | 'huobi-dm' | 'huobi-dm-swap' | 'huobi-dm-linear-swap' | 'huobi-dm-options', Trade> {
5
- private readonly _exchange;
6
- constructor(_exchange: Exchange);
7
- canHandle(message: HuobiDataMessage): boolean;
8
- getFilters(symbols?: string[]): {
9
- readonly channel: "trade";
10
- readonly symbols: string[] | undefined;
11
- }[];
12
- map(message: HuobiTradeDataMessage, localTimestamp: Date): IterableIterator<Trade>;
13
- }
14
- export declare class HuobiBookChangeMapper implements Mapper<'huobi' | 'huobi-dm' | 'huobi-dm-swap' | 'huobi-dm-linear-swap' | 'huobi-dm-options', BookChange> {
15
- protected readonly _exchange: Exchange;
16
- constructor(_exchange: Exchange);
17
- canHandle(message: HuobiDataMessage): boolean;
18
- getFilters(symbols?: string[]): {
19
- readonly channel: "depth";
20
- readonly symbols: string[] | undefined;
21
- }[];
22
- map(message: HuobiDepthDataMessage, localTimestamp: Date): Generator<{
23
- readonly type: "book_change";
24
- readonly symbol: string;
25
- readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "polymarket";
26
- readonly isSnapshot: boolean;
27
- readonly bids: {
28
- price: number;
29
- amount: number;
30
- }[];
31
- readonly asks: {
32
- price: number;
33
- amount: number;
34
- }[];
35
- readonly timestamp: Date;
36
- readonly localTimestamp: Date;
37
- }, void, unknown>;
38
- private _mapBookLevel;
39
- }
40
- export declare class HuobiMBPBookChangeMapper implements Mapper<'huobi', BookChange> {
41
- protected readonly _exchange: Exchange;
42
- protected readonly symbolToMBPInfoMapping: {
43
- [key: string]: MBPInfo;
1
+ import { BookTicker, DerivativeTicker, Liquidation, OptionSummary, Trade } from '../types.ts';
2
+ export declare const huobiMappers: {
3
+ huobi: {
4
+ trades: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", Trade>;
5
+ bookChanges: import("./registry.ts").MapperCreator<any, {
6
+ readonly type: "book_change";
7
+ readonly symbol: string;
8
+ readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket";
9
+ readonly isSnapshot: false;
10
+ readonly bids: {
11
+ price: number;
12
+ amount: number;
13
+ }[];
14
+ readonly asks: {
15
+ price: number;
16
+ amount: number;
17
+ }[];
18
+ readonly timestamp: Date;
19
+ readonly localTimestamp: Date;
20
+ } | {
21
+ readonly type: "book_change";
22
+ readonly symbol: string;
23
+ readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket";
24
+ readonly isSnapshot: true;
25
+ readonly bids: {
26
+ price: number;
27
+ amount: number;
28
+ }[];
29
+ readonly asks: {
30
+ price: number;
31
+ amount: number;
32
+ }[];
33
+ readonly timestamp: Date;
34
+ readonly localTimestamp: Date;
35
+ }>;
36
+ bookTickers: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", BookTicker>;
44
37
  };
45
- constructor(_exchange: Exchange);
46
- canHandle(message: any): any;
47
- getFilters(symbols?: string[]): {
48
- readonly channel: "mbp";
49
- readonly symbols: string[] | undefined;
50
- }[];
51
- map(message: HuobiMBPDataMessage | HuobiMBPSnapshot, localTimestamp: Date): Generator<{
52
- readonly type: "book_change";
53
- readonly symbol: string;
54
- readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "polymarket";
55
- readonly isSnapshot: false;
56
- readonly bids: {
57
- price: number;
58
- amount: number;
59
- }[];
60
- readonly asks: {
61
- price: number;
62
- amount: number;
63
- }[];
64
- readonly timestamp: Date;
65
- readonly localTimestamp: Date;
66
- } | {
67
- readonly type: "book_change";
68
- readonly symbol: string;
69
- readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "polymarket";
70
- readonly isSnapshot: true;
71
- readonly bids: {
72
- price: number;
73
- amount: number;
74
- }[];
75
- readonly asks: {
76
- price: number;
77
- amount: number;
78
- }[];
79
- readonly timestamp: Date;
80
- readonly localTimestamp: Date;
81
- }, void, unknown>;
82
- private _mapMBPUpdate;
83
- private _mapBookLevel;
84
- }
85
- export declare class HuobiDerivativeTickerMapper implements Mapper<'huobi-dm' | 'huobi-dm-swap' | 'huobi-dm-linear-swap', DerivativeTicker> {
86
- private readonly _exchange;
87
- private readonly pendingTickerInfoHelper;
88
- constructor(_exchange: Exchange);
89
- canHandle(message: any): any;
90
- getFilters(symbols?: string[]): import("../types.ts").Filter<"trade" | "depth" | "detail" | "bbo" | "basis" | "liquidation_orders" | "contract_info" | "open_interest" | "elite_account_ratio" | "elite_position_ratio" | "funding_rate">[];
91
- map(message: HuobiBasisDataMessage | HuobiFundingRateNotification | HuobiOpenInterestDataMessage, localTimestamp: Date): IterableIterator<DerivativeTicker>;
92
- }
93
- export declare class HuobiLiquidationsMapper implements Mapper<'huobi-dm' | 'huobi-dm-swap' | 'huobi-dm-linear-swap', Liquidation> {
94
- private readonly _exchange;
95
- private readonly _contractCodeToSymbolMap;
96
- private readonly _contractTypesSuffixes;
97
- constructor(_exchange: Exchange);
98
- canHandle(message: HuobiLiquidationOrder | HuobiContractInfo): boolean;
99
- getFilters(symbols?: string[]): ({
100
- readonly channel: "liquidation_orders";
101
- readonly symbols: string[] | undefined;
102
- } | {
103
- readonly channel: "contract_info";
104
- readonly symbols: string[] | undefined;
105
- })[];
106
- private _updateContractCodeToSymbolMap;
107
- map(message: HuobiLiquidationOrder, localTimestamp: Date): IterableIterator<Liquidation>;
108
- }
109
- export declare class HuobiOptionsSummaryMapper implements Mapper<'huobi-dm-options', OptionSummary> {
110
- private readonly _indexPrices;
111
- private readonly _openInterest;
112
- canHandle(message: HuobiOpenInterestDataMessage | HuobiOptionsIndexMessage | HuobiOptionsMarketIndexMessage): boolean;
113
- getFilters(symbols?: string[]): ({
114
- readonly channel: "open_interest";
115
- readonly symbols: string[] | undefined;
116
- } | {
117
- readonly channel: "option_index";
118
- readonly symbols: string[] | undefined;
119
- } | {
120
- readonly channel: "option_market_index";
121
- readonly symbols: string[] | undefined;
122
- })[];
123
- map(message: HuobiOpenInterestDataMessage | HuobiOptionsIndexMessage | HuobiOptionsMarketIndexMessage, localTimestamp: Date): IterableIterator<OptionSummary> | undefined;
124
- }
125
- export declare class HuobiBookTickerMapper implements Mapper<'huobi' | 'huobi-dm' | 'huobi-dm-swap' | 'huobi-dm-linear-swap', BookTicker> {
126
- private readonly _exchange;
127
- constructor(_exchange: Exchange);
128
- canHandle(message: HuobiDataMessage): boolean;
129
- getFilters(symbols?: string[]): {
130
- readonly channel: "bbo";
131
- readonly symbols: string[] | undefined;
132
- }[];
133
- map(message: HuobiBBOMessage, localTimestamp: Date): IterableIterator<BookTicker>;
134
- }
135
- type HuobiDataMessage = {
136
- ch: string;
137
- };
138
- type HuobiTradeDataMessage = HuobiDataMessage & {
139
- tick: {
140
- data: {
141
- id: number;
142
- tradeId?: number;
143
- price: number;
144
- amount: number;
145
- direction: 'buy' | 'sell';
146
- ts: number;
147
- }[];
148
- };
149
- };
150
- type HuobiBookLevel = [number, number];
151
- type HuobiDepthDataMessage = HuobiDataMessage & ({
152
- update?: boolean;
153
- ts: number;
154
- tick: {
155
- bids: HuobiBookLevel[] | null;
156
- asks: HuobiBookLevel[] | null;
157
- };
158
- } | {
159
- ts: number;
160
- tick: {
161
- bids?: HuobiBookLevel[] | null;
162
- asks?: HuobiBookLevel[] | null;
163
- event: 'snapshot' | 'update';
164
- };
165
- });
166
- type HuobiBasisDataMessage = HuobiDataMessage & {
167
- ts: number;
168
- tick: {
169
- index_price: string;
170
- contract_price: string;
171
- };
172
- };
173
- type HuobiFundingRateNotification = {
174
- op: 'notify';
175
- topic: string;
176
- ts: number;
177
- data: {
178
- settlement_time: string;
179
- funding_rate: string;
180
- estimated_rate: string;
181
- contract_code: string;
182
- }[];
183
- };
184
- type HuobiOpenInterestDataMessage = HuobiDataMessage & {
185
- ts: number;
186
- data: {
187
- volume: number;
188
- }[];
189
- };
190
- type HuobiMBPDataMessage = HuobiDataMessage & {
191
- ts: number;
192
- tick: {
193
- bids?: HuobiBookLevel[] | null;
194
- asks?: HuobiBookLevel[] | null;
195
- seqNum: number;
196
- prevSeqNum: number;
38
+ 'huobi-dm': {
39
+ trades: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", Trade>;
40
+ bookChanges: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", {
41
+ readonly type: "book_change";
42
+ readonly symbol: string;
43
+ readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket";
44
+ readonly isSnapshot: boolean;
45
+ readonly bids: {
46
+ price: number;
47
+ amount: number;
48
+ }[];
49
+ readonly asks: {
50
+ price: number;
51
+ amount: number;
52
+ }[];
53
+ readonly timestamp: Date;
54
+ readonly localTimestamp: Date;
55
+ }>;
56
+ derivativeTickers: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", DerivativeTicker>;
57
+ liquidations: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", Liquidation>;
58
+ bookTickers: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", BookTicker>;
197
59
  };
198
- };
199
- type HuobiMBPSnapshot = {
200
- ts: number;
201
- rep: string;
202
- data?: {
203
- bids: HuobiBookLevel[];
204
- asks: HuobiBookLevel[];
205
- seqNum: number;
60
+ 'huobi-dm-swap': {
61
+ trades: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", Trade>;
62
+ bookChanges: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", {
63
+ readonly type: "book_change";
64
+ readonly symbol: string;
65
+ readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket";
66
+ readonly isSnapshot: boolean;
67
+ readonly bids: {
68
+ price: number;
69
+ amount: number;
70
+ }[];
71
+ readonly asks: {
72
+ price: number;
73
+ amount: number;
74
+ }[];
75
+ readonly timestamp: Date;
76
+ readonly localTimestamp: Date;
77
+ }>;
78
+ derivativeTickers: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", DerivativeTicker>;
79
+ liquidations: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", Liquidation>;
80
+ bookTickers: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", BookTicker>;
206
81
  };
207
- };
208
- type MBPInfo = {
209
- bufferedUpdates: CircularBuffer<HuobiMBPDataMessage>;
210
- snapshotProcessed?: boolean;
211
- };
212
- type HuobiLiquidationOrder = {
213
- op: 'notify';
214
- topic: string;
215
- ts: number;
216
- data: {
217
- symbol: string;
218
- contract_code: string;
219
- direction: 'buy' | 'sell';
220
- offset: string;
221
- volume: number;
222
- price: number;
223
- created_at: number;
224
- }[];
225
- };
226
- type HuobiContractInfo = {
227
- op: 'notify';
228
- topic: string;
229
- ts: number;
230
- data: {
231
- symbol: string;
232
- contract_code: string;
233
- contract_type: 'this_week' | 'next_week' | 'quarter' | 'next_quarter';
234
- }[];
235
- };
236
- type HuobiOptionsIndexMessage = {
237
- ch: 'market.BTC-USDT.option_index';
238
- generated: true;
239
- data: {
240
- symbol: 'BTC-USDT';
241
- index_price: 43501.21;
242
- index_ts: 1621295997270;
243
- };
244
- ts: 1621296002825;
245
- };
246
- type HuobiOptionsMarketIndexMessage = {
247
- ch: 'market.BTC-USDT-210521-P-42000.option_market_index';
248
- generated: true;
249
- data: {
250
- contract_code: 'BTC-USDT-210521-P-42000';
251
- symbol: 'BTC';
252
- iv_last_price: 1.62902357;
253
- iv_ask_one: 1.64869787;
254
- iv_bid_one: 1.13185884;
255
- iv_mark_price: 1.39190675;
256
- delta: -0.3704996546766173;
257
- gamma: 0.00006528;
258
- theta: -327.85540508;
259
- vega: 15.70293917;
260
- ask_one: 2000;
261
- bid_one: 1189.49;
262
- last_price: 1968.83;
263
- mark_price: 1594.739777491571343067;
264
- trade_partition: 'USDT';
265
- contract_type: 'this_week';
266
- option_right_type: 'P';
267
- };
268
- ts: 1621296002820;
269
- };
270
- type HuobiBBOMessage = {
271
- ch: 'market.BTC-USDT.bbo';
272
- ts: 1630454400495;
273
- tick: {
274
- mrid: 64797873746;
275
- id: 1630454400;
276
- bid: [47176.5, 1] | undefined;
277
- ask: [47176.6, 9249] | undefined;
278
- ts: 1630454400495;
279
- version: 64797873746;
280
- ch: 'market.BTC-USDT.bbo';
82
+ 'huobi-dm-linear-swap': {
83
+ trades: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", Trade>;
84
+ bookChanges: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", {
85
+ readonly type: "book_change";
86
+ readonly symbol: string;
87
+ readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket";
88
+ readonly isSnapshot: boolean;
89
+ readonly bids: {
90
+ price: number;
91
+ amount: number;
92
+ }[];
93
+ readonly asks: {
94
+ price: number;
95
+ amount: number;
96
+ }[];
97
+ readonly timestamp: Date;
98
+ readonly localTimestamp: Date;
99
+ }>;
100
+ derivativeTickers: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", DerivativeTicker>;
101
+ liquidations: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", Liquidation>;
102
+ bookTickers: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", BookTicker>;
281
103
  };
282
- } | {
283
- ch: 'market.btcusdt.bbo';
284
- ts: 1575158404058;
285
- tick: {
286
- seqId: 103273695595;
287
- ask: 7543.59;
288
- askSize: 2.323241;
289
- bid: 7541.16;
290
- bidSize: 0.002329;
291
- quoteTime: number;
292
- symbol: 'btcusdt';
104
+ 'huobi-dm-options': {
105
+ trades: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", Trade>;
106
+ bookChanges: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", {
107
+ readonly type: "book_change";
108
+ readonly symbol: string;
109
+ readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket";
110
+ readonly isSnapshot: boolean;
111
+ readonly bids: {
112
+ price: number;
113
+ amount: number;
114
+ }[];
115
+ readonly asks: {
116
+ price: number;
117
+ amount: number;
118
+ }[];
119
+ readonly timestamp: Date;
120
+ readonly localTimestamp: Date;
121
+ }>;
122
+ optionsSummary: import("./registry.ts").MapperCreator<"bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "mexc-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid" | "lighter" | "bullish" | "mexc" | "polymarket", OptionSummary>;
293
123
  };
294
124
  };
295
- export {};
296
125
  //# sourceMappingURL=huobi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"huobi.d.ts","sourceRoot":"","sources":["../../src/mappers/huobi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"huobi.d.ts","sourceRoot":"","sources":["../../src/mappers/huobi.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,UAAU,EAAE,gBAAgB,EAA+B,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAStI,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCvB,CAAA"}
@@ -1,8 +1,46 @@
1
1
  import { asNonZeroNumberOrUndefined, CircularBuffer, upperCaseSymbols } from "../handy.js";
2
2
  import { PendingTickerInfoHelper } from "./mapper.js";
3
+ import { exchangeMappers, mapper } from "./registry.js";
3
4
  // https://huobiapi.github.io/docs/spot/v1/en/#websocket-market-data
4
5
  // https://github.com/huobiapi/API_Docs_en/wiki/WS_api_reference_en
5
- export class HuobiTradesMapper {
6
+ const HUOBI_MBP_BOOK_CHANGE_SWITCH_DATE = new Date('2020-07-03T00:00:00.000Z');
7
+ export const huobiMappers = exchangeMappers({
8
+ huobi: {
9
+ trades: () => new HuobiTradesMapper('huobi'),
10
+ bookChanges: mapper([
11
+ { until: HUOBI_MBP_BOOK_CHANGE_SWITCH_DATE, use: () => new HuobiBookChangeMapper('huobi') },
12
+ { use: () => new HuobiMBPBookChangeMapper('huobi') }
13
+ ]),
14
+ bookTickers: () => new HuobiBookTickerMapper('huobi')
15
+ },
16
+ 'huobi-dm': {
17
+ trades: () => new HuobiTradesMapper('huobi-dm'),
18
+ bookChanges: () => new HuobiBookChangeMapper('huobi-dm'),
19
+ derivativeTickers: () => new HuobiDerivativeTickerMapper('huobi-dm'),
20
+ liquidations: () => new HuobiLiquidationsMapper('huobi-dm'),
21
+ bookTickers: () => new HuobiBookTickerMapper('huobi-dm')
22
+ },
23
+ 'huobi-dm-swap': {
24
+ trades: () => new HuobiTradesMapper('huobi-dm-swap'),
25
+ bookChanges: () => new HuobiBookChangeMapper('huobi-dm-swap'),
26
+ derivativeTickers: () => new HuobiDerivativeTickerMapper('huobi-dm-swap'),
27
+ liquidations: () => new HuobiLiquidationsMapper('huobi-dm-swap'),
28
+ bookTickers: () => new HuobiBookTickerMapper('huobi-dm-swap')
29
+ },
30
+ 'huobi-dm-linear-swap': {
31
+ trades: () => new HuobiTradesMapper('huobi-dm-linear-swap'),
32
+ bookChanges: () => new HuobiBookChangeMapper('huobi-dm-linear-swap'),
33
+ derivativeTickers: () => new HuobiDerivativeTickerMapper('huobi-dm-linear-swap'),
34
+ liquidations: () => new HuobiLiquidationsMapper('huobi-dm-linear-swap'),
35
+ bookTickers: () => new HuobiBookTickerMapper('huobi-dm-linear-swap')
36
+ },
37
+ 'huobi-dm-options': {
38
+ trades: () => new HuobiTradesMapper('huobi-dm-options'),
39
+ bookChanges: () => new HuobiBookChangeMapper('huobi-dm-options'),
40
+ optionsSummary: () => new HuobiOptionsSummaryMapper()
41
+ }
42
+ });
43
+ class HuobiTradesMapper {
6
44
  _exchange;
7
45
  constructor(_exchange) {
8
46
  this._exchange = _exchange;
@@ -39,7 +77,7 @@ export class HuobiTradesMapper {
39
77
  }
40
78
  }
41
79
  }
42
- export class HuobiBookChangeMapper {
80
+ class HuobiBookChangeMapper {
43
81
  _exchange;
44
82
  constructor(_exchange) {
45
83
  this._exchange = _exchange;
@@ -86,7 +124,7 @@ export class HuobiBookChangeMapper {
86
124
  function isSnapshot(message) {
87
125
  return 'rep' in message;
88
126
  }
89
- export class HuobiMBPBookChangeMapper {
127
+ class HuobiMBPBookChangeMapper {
90
128
  _exchange;
91
129
  symbolToMBPInfoMapping = {};
92
130
  constructor(_exchange) {
@@ -208,7 +246,7 @@ function normalizeSymbols(symbols) {
208
246
  }
209
247
  return;
210
248
  }
211
- export class HuobiDerivativeTickerMapper {
249
+ class HuobiDerivativeTickerMapper {
212
250
  _exchange;
213
251
  pendingTickerInfoHelper = new PendingTickerInfoHelper();
214
252
  constructor(_exchange) {
@@ -276,7 +314,7 @@ export class HuobiDerivativeTickerMapper {
276
314
  }
277
315
  }
278
316
  }
279
- export class HuobiLiquidationsMapper {
317
+ class HuobiLiquidationsMapper {
280
318
  _exchange;
281
319
  _contractCodeToSymbolMap = new Map();
282
320
  _contractTypesSuffixes = { this_week: 'CW', next_week: 'NW', quarter: 'CQ', next_quarter: 'NQ' };
@@ -354,7 +392,7 @@ export class HuobiLiquidationsMapper {
354
392
  }
355
393
  }
356
394
  }
357
- export class HuobiOptionsSummaryMapper {
395
+ class HuobiOptionsSummaryMapper {
358
396
  _indexPrices = new Map();
359
397
  _openInterest = new Map();
360
398
  canHandle(message) {
@@ -435,7 +473,7 @@ export class HuobiOptionsSummaryMapper {
435
473
  yield optionSummary;
436
474
  }
437
475
  }
438
- export class HuobiBookTickerMapper {
476
+ class HuobiBookTickerMapper {
439
477
  _exchange;
440
478
  constructor(_exchange) {
441
479
  this._exchange = _exchange;