tardis-dev 13.29.16 → 13.31.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 (44) hide show
  1. package/dist/consts.d.ts +5 -2
  2. package/dist/consts.d.ts.map +1 -1
  3. package/dist/consts.js +13 -3
  4. package/dist/consts.js.map +1 -1
  5. package/dist/handy.d.ts +1 -0
  6. package/dist/handy.d.ts.map +1 -1
  7. package/dist/handy.js +7 -1
  8. package/dist/handy.js.map +1 -1
  9. package/dist/mappers/bitget.d.ts +142 -0
  10. package/dist/mappers/bitget.d.ts.map +1 -0
  11. package/dist/mappers/bitget.js +145 -0
  12. package/dist/mappers/bitget.js.map +1 -0
  13. package/dist/mappers/bybit.d.ts +2 -2
  14. package/dist/mappers/bybitspot.d.ts +1 -1
  15. package/dist/mappers/cryptocom.d.ts +1 -1
  16. package/dist/mappers/dydxv4.d.ts +177 -0
  17. package/dist/mappers/dydxv4.d.ts.map +1 -0
  18. package/dist/mappers/dydxv4.js +189 -0
  19. package/dist/mappers/dydxv4.js.map +1 -0
  20. package/dist/mappers/huobi.d.ts +3 -3
  21. package/dist/mappers/index.d.ts +5 -5
  22. package/dist/mappers/index.d.ts.map +1 -1
  23. package/dist/mappers/index.js +17 -4
  24. package/dist/mappers/index.js.map +1 -1
  25. package/dist/realtimefeeds/bitget.d.ts +17 -0
  26. package/dist/realtimefeeds/bitget.d.ts.map +1 -0
  27. package/dist/realtimefeeds/bitget.js +55 -0
  28. package/dist/realtimefeeds/bitget.js.map +1 -0
  29. package/dist/realtimefeeds/dydx_v4.d.ts +8 -0
  30. package/dist/realtimefeeds/dydx_v4.d.ts.map +1 -0
  31. package/dist/realtimefeeds/dydx_v4.js +40 -0
  32. package/dist/realtimefeeds/dydx_v4.js.map +1 -0
  33. package/dist/realtimefeeds/index.d.ts.map +1 -1
  34. package/dist/realtimefeeds/index.js +6 -1
  35. package/dist/realtimefeeds/index.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/consts.ts +14 -3
  38. package/src/handy.ts +5 -0
  39. package/src/mappers/bitget.ts +230 -0
  40. package/src/mappers/dydxv4.ts +339 -0
  41. package/src/mappers/index.ts +17 -4
  42. package/src/realtimefeeds/bitget.ts +59 -0
  43. package/src/realtimefeeds/dydx_v4.ts +39 -0
  44. package/src/realtimefeeds/index.ts +6 -1
@@ -0,0 +1,177 @@
1
+ import { BookChange, DerivativeTicker, Liquidation, Trade } from '../types';
2
+ import { Mapper } from './mapper';
3
+ export declare class DydxV4TradesMapper implements Mapper<'dydx-v4', Trade> {
4
+ canHandle(message: DyDxTrade): boolean;
5
+ getFilters(symbols?: string[]): {
6
+ readonly channel: "v4_trades";
7
+ readonly symbols: string[] | undefined;
8
+ }[];
9
+ map(message: DyDxTrade, localTimestamp: Date): IterableIterator<Trade>;
10
+ }
11
+ export declare class DydxV4BookChangeMapper implements Mapper<'dydx-v4', BookChange> {
12
+ canHandle(message: DyDxOrderbookSnapshot | DyDxOrderBookUpdate): boolean;
13
+ getFilters(symbols?: string[]): {
14
+ readonly channel: "v4_orderbook";
15
+ readonly symbols: string[] | undefined;
16
+ }[];
17
+ map(message: DyDxOrderbookSnapshot | DyDxOrderBookUpdate, localTimestamp: Date): IterableIterator<BookChange>;
18
+ }
19
+ export declare class DydxV4DerivativeTickerMapper implements Mapper<'dydx-v4', DerivativeTicker> {
20
+ private readonly pendingTickerInfoHelper;
21
+ canHandle(message: DydxMarketsSnapshot | DyDxMarketsUpdate | DyDxTrade): boolean;
22
+ getFilters(symbols?: string[]): ({
23
+ readonly channel: "v4_markets";
24
+ readonly symbols: string[];
25
+ } | {
26
+ readonly channel: "v4_trades";
27
+ readonly symbols: string[] | undefined;
28
+ })[];
29
+ map(message: DydxMarketsSnapshot | DyDxMarketsUpdate | DyDxTrade, localTimestamp: Date): IterableIterator<DerivativeTicker>;
30
+ }
31
+ export declare class DydxV4LiquidationsMapper implements Mapper<'dydx-v4', Liquidation> {
32
+ canHandle(message: DyDxTrade): boolean;
33
+ getFilters(symbols?: string[]): {
34
+ readonly channel: "v4_trades";
35
+ readonly symbols: string[] | undefined;
36
+ }[];
37
+ map(message: DyDxTrade, localTimestamp: Date): IterableIterator<Liquidation>;
38
+ }
39
+ type DyDxTrade = {
40
+ type: 'channel_data';
41
+ connection_id: '3a2e4c0c-7579-4bf6-a570-e0979418bbe9';
42
+ message_id: 15897;
43
+ id: 'BTC-USD';
44
+ channel: 'v4_trades';
45
+ version: '2.1.0';
46
+ contents: {
47
+ trades: [
48
+ {
49
+ id: '0165e6170000000200000002';
50
+ size: '0.0001';
51
+ price: '60392';
52
+ side: 'BUY' | 'SELL';
53
+ createdAt: '2024-08-23T00:00:57.627Z';
54
+ type: 'LIMIT' | 'LIQUIDATED';
55
+ }
56
+ ];
57
+ };
58
+ };
59
+ type DyDxOrderbookSnapshot = {
60
+ type: 'subscribed';
61
+ connection_id: '67838890-75de-4bf3-a638-d7bcdea5f245';
62
+ message_id: 7;
63
+ channel: 'v4_orderbook';
64
+ id: 'GRT-USD';
65
+ contents: {
66
+ bids: [{
67
+ price: '0.1547';
68
+ size: '35520';
69
+ }];
70
+ asks: [{
71
+ price: '0.155';
72
+ size: '3220';
73
+ }];
74
+ };
75
+ };
76
+ type DyDxOrderBookUpdate = {
77
+ type: 'channel_data';
78
+ connection_id: '00908030-4a70-43aa-9263-8ccdf57b5d40';
79
+ message_id: 10290;
80
+ id: 'EOS-USD';
81
+ channel: 'v4_orderbook';
82
+ version: '1.0.0';
83
+ contents: {
84
+ bids: [['0.1003', '2017130']];
85
+ asks: undefined | [['0.1003', '2017130']];
86
+ };
87
+ };
88
+ type DydxMarketsSnapshot = {
89
+ type: 'subscribed';
90
+ connection_id: '3a2e4c0c-7579-4bf6-a570-e0979418bbe9';
91
+ message_id: 17;
92
+ channel: 'v4_markets';
93
+ contents: {
94
+ markets: {
95
+ [key: string]: DydxMarketsSnapshotContent;
96
+ };
97
+ };
98
+ };
99
+ type DydxMarketsSnapshotContent = {
100
+ clobPairId: '0';
101
+ ticker: 'BTC-USD';
102
+ status: 'ACTIVE';
103
+ oraclePrice: '60387.51779';
104
+ priceChange24H: '-782.58326';
105
+ volume24H: '247515340.0835';
106
+ trades24H: 73556;
107
+ nextFundingRate: '0.00001351666666666667';
108
+ initialMarginFraction: '0.05';
109
+ maintenanceMarginFraction: '0.03';
110
+ openInterest: '648.2389';
111
+ atomicResolution: -10;
112
+ quantumConversionExponent: -9;
113
+ tickSize: '1';
114
+ stepSize: '0.0001';
115
+ stepBaseQuantums: 1000000;
116
+ subticksPerTick: 100000;
117
+ marketType: 'CROSS';
118
+ openInterestLowerCap: '0';
119
+ openInterestUpperCap: '0';
120
+ baseOpenInterest: '648.4278';
121
+ };
122
+ type DyDxMarketsUpdate = {
123
+ type: 'channel_data';
124
+ connection_id: '3a2e4c0c-7579-4bf6-a570-e0979418bbe9';
125
+ message_id: 15871;
126
+ channel: 'v4_markets';
127
+ version: '1.0.0';
128
+ contents: {
129
+ oraclePrices: undefined;
130
+ trading: {
131
+ 'ETH-USD': DydxMarketTradeUpdate;
132
+ };
133
+ };
134
+ } | {
135
+ type: 'channel_data';
136
+ connection_id: '3a2e4c0c-7579-4bf6-a570-e0979418bbe9';
137
+ message_id: 50;
138
+ channel: 'v4_markets';
139
+ version: '1.0.0';
140
+ contents: {
141
+ trading: undefined;
142
+ oraclePrices: {
143
+ 'ZERO-USD': OraclePriceInfo;
144
+ };
145
+ };
146
+ };
147
+ type OraclePriceInfo = {
148
+ oraclePrice: string;
149
+ effectiveAt: string;
150
+ effectiveAtHeight: string;
151
+ marketId: number;
152
+ };
153
+ type DydxMarketTradeUpdate = {
154
+ id?: string;
155
+ clobPairId?: string;
156
+ ticker?: string;
157
+ marketId?: number;
158
+ oraclePrice: undefined;
159
+ baseAsset?: string;
160
+ quoteAsset?: string;
161
+ initialMarginFraction?: string;
162
+ maintenanceMarginFraction?: string;
163
+ basePositionSize?: string;
164
+ incrementalPositionSize?: string;
165
+ maxPositionSize?: string;
166
+ openInterest?: string;
167
+ quantumConversionExponent?: number;
168
+ atomicResolution?: number;
169
+ subticksPerTick?: number;
170
+ stepBaseQuantums?: number;
171
+ priceChange24H?: string;
172
+ volume24H?: string;
173
+ trades24H?: number;
174
+ nextFundingRate?: string;
175
+ };
176
+ export {};
177
+ //# sourceMappingURL=dydxv4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dydxv4.d.ts","sourceRoot":"","sources":["../../src/mappers/dydxv4.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAC3E,OAAO,EAAE,MAAM,EAA2B,MAAM,UAAU,CAAA;AAE1D,qBAAa,kBAAmB,YAAW,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC;IACjE,SAAS,CAAC,OAAO,EAAE,SAAS;IAI5B,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;;;;IAW5B,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC;CAexE;AAeD,qBAAa,sBAAuB,YAAW,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;IAC1E,SAAS,CAAC,OAAO,EAAE,qBAAqB,GAAG,mBAAmB;IAI9D,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;;;;IAW5B,GAAG,CAAC,OAAO,EAAE,qBAAqB,GAAG,mBAAmB,EAAE,cAAc,EAAE,IAAI,GAAG,gBAAgB,CAAC,UAAU,CAAC;CAiC/G;AAED,qBAAa,4BAA6B,YAAW,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACtF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAgC;IAExE,SAAS,CAAC,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,SAAS;IAItE,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;;;;;;;IAe5B,GAAG,CAAC,OAAO,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,SAAS,EAAE,cAAc,EAAE,IAAI,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;CAgD7H;AAED,qBAAa,wBAAyB,YAAW,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;IAC7E,SAAS,CAAC,OAAO,EAAE,SAAS;IAI5B,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;;;;IAW5B,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC;CAiB9E;AAED,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,cAAc,CAAA;IACpB,aAAa,EAAE,sCAAsC,CAAA;IACrD,UAAU,EAAE,KAAK,CAAA;IACjB,EAAE,EAAE,SAAS,CAAA;IACb,OAAO,EAAE,WAAW,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE;QACR,MAAM,EAAE;YACN;gBACE,EAAE,EAAE,0BAA0B,CAAA;gBAC9B,IAAI,EAAE,QAAQ,CAAA;gBACd,KAAK,EAAE,OAAO,CAAA;gBACd,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;gBACpB,SAAS,EAAE,0BAA0B,CAAA;gBACrC,IAAI,EAAE,OAAO,GAAG,YAAY,CAAA;aAC7B;SACF,CAAA;KACF,CAAA;CACF,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,aAAa,EAAE,sCAAsC,CAAA;IACrD,UAAU,EAAE,CAAC,CAAA;IACb,OAAO,EAAE,cAAc,CAAA;IACvB,EAAE,EAAE,SAAS,CAAA;IACb,QAAQ,EAAE;QACR,IAAI,EAAE,CAAC;YAAE,KAAK,EAAE,QAAQ,CAAC;YAAC,IAAI,EAAE,OAAO,CAAA;SAAE,CAAC,CAAA;QAC1C,IAAI,EAAE,CAAC;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KACzC,CAAA;CACF,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,cAAc,CAAA;IACpB,aAAa,EAAE,sCAAsC,CAAA;IACrD,UAAU,EAAE,KAAK,CAAA;IACjB,EAAE,EAAE,SAAS,CAAA;IACb,OAAO,EAAE,cAAc,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;KAAE,CAAA;CACvF,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,YAAY,CAAA;IAClB,aAAa,EAAE,sCAAsC,CAAA;IACrD,UAAU,EAAE,EAAE,CAAA;IACd,OAAO,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,CAAC,GAAG,EAAE,MAAM,GAAG,0BAA0B,CAAA;SAC1C,CAAA;KACF,CAAA;CACF,CAAA;AACD,KAAK,0BAA0B,GAAG;IAChC,UAAU,EAAE,GAAG,CAAA;IACf,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,QAAQ,CAAA;IAChB,WAAW,EAAE,aAAa,CAAA;IAC1B,cAAc,EAAE,YAAY,CAAA;IAC5B,SAAS,EAAE,gBAAgB,CAAA;IAC3B,SAAS,EAAE,KAAK,CAAA;IAChB,eAAe,EAAE,wBAAwB,CAAA;IACzC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,yBAAyB,EAAE,MAAM,CAAA;IACjC,YAAY,EAAE,UAAU,CAAA;IACxB,gBAAgB,EAAE,CAAC,EAAE,CAAA;IACrB,yBAAyB,EAAE,CAAC,CAAC,CAAA;IAC7B,QAAQ,EAAE,GAAG,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,gBAAgB,EAAE,OAAO,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,OAAO,CAAA;IACnB,oBAAoB,EAAE,GAAG,CAAA;IACzB,oBAAoB,EAAE,GAAG,CAAA;IACzB,gBAAgB,EAAE,UAAU,CAAA;CAC7B,CAAA;AAED,KAAK,iBAAiB,GAClB;IACE,IAAI,EAAE,cAAc,CAAA;IACpB,aAAa,EAAE,sCAAsC,CAAA;IACrD,UAAU,EAAE,KAAK,CAAA;IACjB,OAAO,EAAE,YAAY,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE;QACR,YAAY,EAAE,SAAS,CAAA;QACvB,OAAO,EAAE;YACP,SAAS,EAAE,qBAAqB,CAAA;SACjC,CAAA;KACF,CAAA;CACF,GACD;IACE,IAAI,EAAE,cAAc,CAAA;IACpB,aAAa,EAAE,sCAAsC,CAAA;IACrD,UAAU,EAAE,EAAE,CAAA;IACd,OAAO,EAAE,YAAY,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE;QACR,OAAO,EAAE,SAAS,CAAA;QAClB,YAAY,EAAE;YACZ,UAAU,EAAE,eAAe,CAAA;SAC5B,CAAA;KACF,CAAA;CACF,CAAA;AAEL,KAAK,eAAe,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhH,KAAK,qBAAqB,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,SAAS,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA"}
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DydxV4LiquidationsMapper = exports.DydxV4DerivativeTickerMapper = exports.DydxV4BookChangeMapper = exports.DydxV4TradesMapper = void 0;
4
+ const handy_1 = require("../handy");
5
+ const mapper_1 = require("./mapper");
6
+ class DydxV4TradesMapper {
7
+ canHandle(message) {
8
+ return message.channel === 'v4_trades' && message.type === 'channel_data';
9
+ }
10
+ getFilters(symbols) {
11
+ symbols = (0, handy_1.upperCaseSymbols)(symbols);
12
+ return [
13
+ {
14
+ channel: 'v4_trades',
15
+ symbols
16
+ }
17
+ ];
18
+ }
19
+ *map(message, localTimestamp) {
20
+ for (let trade of message.contents.trades) {
21
+ yield {
22
+ type: 'trade',
23
+ symbol: message.id,
24
+ exchange: 'dydx-v4',
25
+ id: trade.id,
26
+ price: Number(trade.price),
27
+ amount: Number(trade.size),
28
+ side: trade.side === 'SELL' ? 'sell' : 'buy',
29
+ timestamp: trade.createdAt ? new Date(trade.createdAt) : localTimestamp,
30
+ localTimestamp: localTimestamp
31
+ };
32
+ }
33
+ }
34
+ }
35
+ exports.DydxV4TradesMapper = DydxV4TradesMapper;
36
+ function mapSnapshotPriceLevel(level) {
37
+ return {
38
+ price: Number(level.price),
39
+ amount: Number(level.size)
40
+ };
41
+ }
42
+ function mapUpdatePriceLevel(level) {
43
+ return {
44
+ price: Number(level[0]),
45
+ amount: Number(level[1])
46
+ };
47
+ }
48
+ class DydxV4BookChangeMapper {
49
+ canHandle(message) {
50
+ return message.channel === 'v4_orderbook';
51
+ }
52
+ getFilters(symbols) {
53
+ symbols = (0, handy_1.upperCaseSymbols)(symbols);
54
+ return [
55
+ {
56
+ channel: 'v4_orderbook',
57
+ symbols
58
+ }
59
+ ];
60
+ }
61
+ *map(message, localTimestamp) {
62
+ if (message.type === 'subscribed') {
63
+ yield {
64
+ type: 'book_change',
65
+ symbol: message.id,
66
+ exchange: 'dydx-v4',
67
+ isSnapshot: true,
68
+ bids: message.contents.bids.map(mapSnapshotPriceLevel),
69
+ asks: message.contents.asks.map(mapSnapshotPriceLevel),
70
+ timestamp: localTimestamp,
71
+ localTimestamp
72
+ };
73
+ }
74
+ else {
75
+ if (!message.contents) {
76
+ return;
77
+ }
78
+ const bookChange = {
79
+ type: 'book_change',
80
+ symbol: message.id,
81
+ exchange: 'dydx-v4',
82
+ isSnapshot: false,
83
+ bids: message.contents.bids !== undefined ? message.contents.bids.map(mapUpdatePriceLevel) : [],
84
+ asks: message.contents.asks !== undefined ? message.contents.asks.map(mapUpdatePriceLevel) : [],
85
+ timestamp: localTimestamp,
86
+ localTimestamp
87
+ };
88
+ if (bookChange.bids.length > 0 || bookChange.asks.length > 0) {
89
+ yield bookChange;
90
+ }
91
+ }
92
+ }
93
+ }
94
+ exports.DydxV4BookChangeMapper = DydxV4BookChangeMapper;
95
+ class DydxV4DerivativeTickerMapper {
96
+ constructor() {
97
+ this.pendingTickerInfoHelper = new mapper_1.PendingTickerInfoHelper();
98
+ }
99
+ canHandle(message) {
100
+ return message.channel === 'v4_markets' || (message.channel === 'v4_trades' && message.type === 'channel_data');
101
+ }
102
+ getFilters(symbols) {
103
+ symbols = (0, handy_1.upperCaseSymbols)(symbols);
104
+ return [
105
+ {
106
+ channel: 'v4_markets',
107
+ symbols: []
108
+ },
109
+ {
110
+ channel: 'v4_trades',
111
+ symbols
112
+ }
113
+ ];
114
+ }
115
+ *map(message, localTimestamp) {
116
+ if (message.channel === 'v4_trades') {
117
+ const pendingTickerInfo = this.pendingTickerInfoHelper.getPendingTickerInfo(message.id, 'dydx-v4');
118
+ pendingTickerInfo.updateLastPrice(Number(message.contents.trades[message.contents.trades.length - 1].price));
119
+ return;
120
+ }
121
+ if (message.type === 'subscribed' || (message.type === 'channel_data' && message.contents.trading !== undefined)) {
122
+ const contents = message.type === 'subscribed' ? message.contents.markets : message.contents.trading;
123
+ for (const key in contents) {
124
+ const marketInfo = contents[key];
125
+ const pendingTickerInfo = this.pendingTickerInfoHelper.getPendingTickerInfo(key, 'dydx-v4');
126
+ if (marketInfo.oraclePrice !== undefined) {
127
+ pendingTickerInfo.updateMarkPrice(Number(marketInfo.oraclePrice));
128
+ }
129
+ if (marketInfo.openInterest !== undefined) {
130
+ pendingTickerInfo.updateOpenInterest(Number(marketInfo.openInterest));
131
+ }
132
+ if (marketInfo.nextFundingRate !== undefined) {
133
+ pendingTickerInfo.updateFundingRate(Number(marketInfo.nextFundingRate));
134
+ }
135
+ pendingTickerInfo.updateTimestamp(localTimestamp);
136
+ if (pendingTickerInfo.hasChanged()) {
137
+ yield pendingTickerInfo.getSnapshot(localTimestamp);
138
+ }
139
+ }
140
+ }
141
+ if (message.type === 'channel_data' && message.contents.oraclePrices !== undefined) {
142
+ for (const key in message.contents.oraclePrices) {
143
+ const oraclePriceInfo = message.contents.oraclePrices[key];
144
+ const pendingTickerInfo = this.pendingTickerInfoHelper.getPendingTickerInfo(key, 'dydx-v4');
145
+ if (oraclePriceInfo.oraclePrice !== undefined) {
146
+ pendingTickerInfo.updateMarkPrice(Number(oraclePriceInfo.oraclePrice));
147
+ }
148
+ pendingTickerInfo.updateTimestamp(localTimestamp);
149
+ if (pendingTickerInfo.hasChanged()) {
150
+ yield pendingTickerInfo.getSnapshot(localTimestamp);
151
+ }
152
+ }
153
+ }
154
+ }
155
+ }
156
+ exports.DydxV4DerivativeTickerMapper = DydxV4DerivativeTickerMapper;
157
+ class DydxV4LiquidationsMapper {
158
+ canHandle(message) {
159
+ return message.channel === 'v4_trades' && message.type === 'channel_data';
160
+ }
161
+ getFilters(symbols) {
162
+ symbols = (0, handy_1.upperCaseSymbols)(symbols);
163
+ return [
164
+ {
165
+ channel: 'v4_trades',
166
+ symbols
167
+ }
168
+ ];
169
+ }
170
+ *map(message, localTimestamp) {
171
+ for (let trade of message.contents.trades) {
172
+ if (trade.type === 'LIQUIDATED') {
173
+ yield {
174
+ type: 'liquidation',
175
+ symbol: message.id,
176
+ exchange: 'dydx-v4',
177
+ id: trade.id,
178
+ price: Number(trade.price),
179
+ amount: Number(trade.size),
180
+ side: trade.side === 'SELL' ? 'sell' : 'buy',
181
+ timestamp: trade.createdAt ? new Date(trade.createdAt) : localTimestamp,
182
+ localTimestamp: localTimestamp
183
+ };
184
+ }
185
+ }
186
+ }
187
+ }
188
+ exports.DydxV4LiquidationsMapper = DydxV4LiquidationsMapper;
189
+ //# sourceMappingURL=dydxv4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dydxv4.js","sourceRoot":"","sources":["../../src/mappers/dydxv4.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export declare class HuobiBookChangeMapper implements Mapper<'huobi' | 'huobi-dm
22
22
  map(message: HuobiDepthDataMessage, localTimestamp: Date): Generator<{
23
23
  readonly type: "book_change";
24
24
  readonly symbol: string;
25
- readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-options" | "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" | "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" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com";
25
+ readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-options" | "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" | "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" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures";
26
26
  readonly isSnapshot: boolean;
27
27
  readonly bids: {
28
28
  price: number;
@@ -51,7 +51,7 @@ export declare class HuobiMBPBookChangeMapper implements Mapper<'huobi', BookCha
51
51
  map(message: HuobiMBPDataMessage | HuobiMBPSnapshot, localTimestamp: Date): Generator<{
52
52
  readonly type: "book_change";
53
53
  readonly symbol: string;
54
- readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-options" | "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" | "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" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com";
54
+ readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-options" | "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" | "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" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures";
55
55
  readonly isSnapshot: false;
56
56
  readonly bids: {
57
57
  price: number;
@@ -66,7 +66,7 @@ export declare class HuobiMBPBookChangeMapper implements Mapper<'huobi', BookCha
66
66
  } | {
67
67
  readonly type: "book_change";
68
68
  readonly symbol: string;
69
- readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-options" | "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" | "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" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com";
69
+ readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-options" | "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" | "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" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures";
70
70
  readonly isSnapshot: true;
71
71
  readonly bids: {
72
72
  price: number;
@@ -1,10 +1,10 @@
1
1
  import { BookChange, DerivativeTicker, Liquidation, OptionSummary, BookTicker, Trade } from '../types';
2
2
  import { Mapper } from './mapper';
3
3
  export * from './mapper';
4
- export declare const normalizeTrades: <T extends "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-options" | "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" | "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" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com">(exchange: T, localTimestamp: Date) => Mapper<T, Trade>;
5
- export declare const normalizeBookChanges: <T extends "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-options" | "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" | "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" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com">(exchange: T, localTimestamp: Date) => Mapper<T, BookChange>;
6
- export declare const normalizeDerivativeTickers: <T extends "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "ftx" | "okex-futures" | "okex-swap" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "bitfinex-derivatives" | "cryptofacilities" | "bybit" | "phemex" | "delta" | "gate-io-futures" | "coinflex" | "ascendex" | "dydx" | "crypto-com" | "crypto-com-derivatives" | "kucoin-futures" | "woo-x">(exchange: T, localTimestamp: Date) => Mapper<T, DerivativeTicker>;
4
+ export declare const normalizeTrades: <T extends "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-options" | "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" | "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" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures">(exchange: T, localTimestamp: Date) => Mapper<T, Trade>;
5
+ export declare const normalizeBookChanges: <T extends "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-options" | "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" | "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" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures">(exchange: T, localTimestamp: Date) => Mapper<T, BookChange>;
6
+ export declare const normalizeDerivativeTickers: <T extends "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "ftx" | "okex-futures" | "okex-swap" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "bitfinex-derivatives" | "cryptofacilities" | "bybit" | "phemex" | "delta" | "gate-io-futures" | "coinflex" | "ascendex" | "dydx" | "dydx-v4" | "crypto-com" | "crypto-com-derivatives" | "kucoin-futures" | "woo-x" | "bitget-futures">(exchange: T, localTimestamp: Date) => Mapper<T, DerivativeTicker>;
7
7
  export declare const normalizeOptionsSummary: <T extends "deribit" | "binance-options" | "binance-european-options" | "okex-options" | "bybit-options" | "huobi-dm-options">(exchange: T, localTimestamp: Date) => Mapper<T, OptionSummary>;
8
- export declare const normalizeLiquidations: <T extends "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "ftx" | "okex-futures" | "okex-swap" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "bitfinex-derivatives" | "cryptofacilities" | "bybit">(exchange: T, localTimestamp: Date) => Mapper<T, Liquidation>;
9
- export declare const normalizeBookTickers: <T extends "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "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" | "cryptofacilities" | "kraken" | "bybit" | "bybit-spot" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "gate-io" | "okcoin" | "bitflyer" | "binance-dex" | "ascendex" | "serum" | "mango" | "star-atlas" | "crypto-com" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "woo-x">(exchange: T, localTimestamp: Date) => Mapper<T, BookTicker>;
8
+ export declare const normalizeLiquidations: <T extends "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "ftx" | "okex-futures" | "okex-swap" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "bitfinex-derivatives" | "cryptofacilities" | "bybit" | "dydx-v4">(exchange: T, localTimestamp: Date) => Mapper<T, Liquidation>;
9
+ export declare const normalizeBookTickers: <T extends "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "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" | "cryptofacilities" | "kraken" | "bybit" | "bybit-spot" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "gate-io" | "okcoin" | "bitflyer" | "binance-dex" | "ascendex" | "serum" | "mango" | "star-atlas" | "crypto-com" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "woo-x" | "bitget" | "bitget-futures">(exchange: T, localTimestamp: Date) => Mapper<T, BookTicker>;
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mappers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAqGtG,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAsBjC,cAAc,UAAU,CAAA;AAyWxB,eAAO,MAAM,eAAe,00BAAuE,IAAI,qBAQtG,CAAA;AAED,eAAO,MAAM,oBAAoB,00BAEf,IAAI,0BASrB,CAAA;AAED,eAAO,MAAM,0BAA0B,mZAErB,IAAI,gCASrB,CAAA;AAED,eAAO,MAAM,uBAAuB,8JAElB,IAAI,6BASrB,CAAA;AAED,eAAO,MAAM,qBAAqB,gQAEhB,IAAI,2BASrB,CAAA;AAED,eAAO,MAAM,oBAAoB,mmBAEf,IAAI,0BASrB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mappers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAuGtG,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAsBjC,cAAc,UAAU,CAAA;AAoXxB,eAAO,MAAM,eAAe,o3BAAuE,IAAI,qBAQtG,CAAA;AAED,eAAO,MAAM,oBAAoB,o3BAEf,IAAI,0BASrB,CAAA;AAED,eAAO,MAAM,0BAA0B,kbAErB,IAAI,gCASrB,CAAA;AAED,eAAO,MAAM,uBAAuB,8JAElB,IAAI,6BASrB,CAAA;AAED,eAAO,MAAM,qBAAqB,4QAEhB,IAAI,2BASrB,CAAA;AAED,eAAO,MAAM,oBAAoB,ioBAEf,IAAI,0BASrB,CAAA"}
@@ -23,6 +23,7 @@ const binanceeuropeanoptions_1 = require("./binanceeuropeanoptions");
23
23
  const binanceoptions_1 = require("./binanceoptions");
24
24
  const bitfinex_1 = require("./bitfinex");
25
25
  const bitflyer_1 = require("./bitflyer");
26
+ const bitget_1 = require("./bitget");
26
27
  const bitmex_1 = require("./bitmex");
27
28
  const bitnomial_1 = require("./bitnomial");
28
29
  const bitstamp_1 = require("./bitstamp");
@@ -36,6 +37,7 @@ const cryptofacilities_1 = require("./cryptofacilities");
36
37
  const delta_1 = require("./delta");
37
38
  const deribit_1 = require("./deribit");
38
39
  const dydx_1 = require("./dydx");
40
+ const dydxv4_1 = require("./dydxv4");
39
41
  const ftx_1 = require("./ftx");
40
42
  const gateio_1 = require("./gateio");
41
43
  const gateiofutures_1 = require("./gateiofutures");
@@ -153,6 +155,7 @@ const tradesMappers = {
153
155
  upbit: () => new upbit_1.UpbitTradesMapper(),
154
156
  ascendex: () => new ascendex_1.AscendexTradesMapper(),
155
157
  dydx: () => new dydx_1.DydxTradesMapper(),
158
+ 'dydx-v4': () => new dydxv4_1.DydxV4TradesMapper(),
156
159
  serum: () => new serum_1.SerumTradesMapper('serum'),
157
160
  'star-atlas': () => new serum_1.SerumTradesMapper('star-atlas'),
158
161
  mango: () => new serum_1.SerumTradesMapper('mango'),
@@ -166,7 +169,9 @@ const tradesMappers = {
166
169
  'blockchain-com': () => new blockchaincom_1.BlockchainComTradesMapper(),
167
170
  'bybit-options': () => new bybit_1.BybitV5TradesMapper('bybit-options'),
168
171
  'binance-european-options': () => new binanceeuropeanoptions_1.BinanceEuropeanOptionsTradesMapper(),
169
- 'okex-spreads': () => new okexspreads_1.OkexSpreadsTradesMapper()
172
+ 'okex-spreads': () => new okexspreads_1.OkexSpreadsTradesMapper(),
173
+ bitget: () => new bitget_1.BitgetTradesMapper('bitget'),
174
+ 'bitget-futures': () => new bitget_1.BitgetTradesMapper('bitget-futures')
170
175
  };
171
176
  const bookChangeMappers = {
172
177
  bitmex: () => new bitmex_1.BitmexBookChangeMapper(),
@@ -224,6 +229,7 @@ const bookChangeMappers = {
224
229
  upbit: () => new upbit_1.UpbitBookChangeMapper(),
225
230
  ascendex: () => new ascendex_1.AscendexBookChangeMapper(),
226
231
  dydx: () => new dydx_1.DydxBookChangeMapper(),
232
+ 'dydx-v4': () => new dydxv4_1.DydxV4BookChangeMapper(),
227
233
  serum: () => new serum_1.SerumBookChangeMapper('serum'),
228
234
  'star-atlas': () => new serum_1.SerumBookChangeMapper('star-atlas'),
229
235
  mango: () => new serum_1.SerumBookChangeMapper('mango'),
@@ -236,7 +242,9 @@ const bookChangeMappers = {
236
242
  'blockchain-com': () => new blockchaincom_1.BlockchainComBookChangeMapper(),
237
243
  'bybit-options': () => new bybit_1.BybitV5BookChangeMapper('bybit-options', 25),
238
244
  'binance-european-options': () => new binanceeuropeanoptions_1.BinanceEuropeanOptionsBookChangeMapper(),
239
- 'okex-spreads': () => new okexspreads_1.OkexSpreadsBookChangeMapper()
245
+ 'okex-spreads': () => new okexspreads_1.OkexSpreadsBookChangeMapper(),
246
+ bitget: () => new bitget_1.BitgetBookChangeMapper('bitget'),
247
+ 'bitget-futures': () => new bitget_1.BitgetBookChangeMapper('bitget-futures')
240
248
  };
241
249
  const derivativeTickersMappers = {
242
250
  bitmex: () => new bitmex_1.BitmexDerivativeTickerMapper(),
@@ -260,10 +268,12 @@ const derivativeTickersMappers = {
260
268
  coinflex: () => new coinflex_1.CoinflexDerivativeTickerMapper(),
261
269
  ascendex: () => new ascendex_1.AscendexDerivativeTickerMapper(),
262
270
  dydx: () => new dydx_1.DydxDerivativeTickerMapper(),
271
+ 'dydx-v4': () => new dydxv4_1.DydxV4DerivativeTickerMapper(),
263
272
  'crypto-com-derivatives': () => new cryptocom_1.CryptoComDerivativeTickerMapper('crypto-com-derivatives'),
264
273
  'crypto-com': () => new cryptocom_1.CryptoComDerivativeTickerMapper('crypto-com'),
265
274
  'woo-x': () => new woox_1.WooxDerivativeTickerMapper(),
266
- 'kucoin-futures': () => new kucoinfutures_1.KucoinFuturesDerivativeTickerMapper()
275
+ 'kucoin-futures': () => new kucoinfutures_1.KucoinFuturesDerivativeTickerMapper(),
276
+ 'bitget-futures': () => new bitget_1.BitgetDerivativeTickerMapper()
267
277
  };
268
278
  const optionsSummaryMappers = {
269
279
  deribit: () => new deribit_1.DeribitOptionSummaryMapper(),
@@ -282,6 +292,7 @@ const liquidationsMappers = {
282
292
  'bitfinex-derivatives': () => new bitfinex_1.BitfinexLiquidationsMapper('bitfinex-derivatives'),
283
293
  cryptofacilities: () => cryptofacilities_1.cryptofacilitiesLiquidationsMapper,
284
294
  'huobi-dm': () => new huobi_1.HuobiLiquidationsMapper('huobi-dm'),
295
+ 'dydx-v4': () => new dydxv4_1.DydxV4LiquidationsMapper(),
285
296
  'huobi-dm-swap': () => new huobi_1.HuobiLiquidationsMapper('huobi-dm-swap'),
286
297
  'huobi-dm-linear-swap': () => new huobi_1.HuobiLiquidationsMapper('huobi-dm-linear-swap'),
287
298
  bybit: (localTimestamp) => shouldUseBybitV5Mappers(localTimestamp) ? new bybit_1.BybitV5LiquidationsMapper('bybit') : new bybit_1.BybitLiquidationsMapper('bybit'),
@@ -337,7 +348,9 @@ const bookTickersMappers = {
337
348
  bybit: () => new bybit_1.BybitV5BookTickerMapper('bybit'),
338
349
  'gate-io': () => new gateio_1.GateIOV4BookTickerMapper('gate-io'),
339
350
  'okex-spreads': () => new okexspreads_1.OkexSpreadsBookTickerMapper(),
340
- 'kucoin-futures': () => new kucoinfutures_1.KucoinFuturesBookTickerMapper()
351
+ 'kucoin-futures': () => new kucoinfutures_1.KucoinFuturesBookTickerMapper(),
352
+ bitget: () => new bitget_1.BitgetBookTickerMapper('bitget'),
353
+ 'bitget-futures': () => new bitget_1.BitgetBookTickerMapper('bitget-futures')
341
354
  };
342
355
  const normalizeTrades = (exchange, localTimestamp) => {
343
356
  const createTradesMapper = tradesMappers[exchange];