tardis-dev 13.4.11 → 13.5.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.
- package/dist/consts.d.ts +4 -1
- package/dist/consts.d.ts.map +1 -1
- package/dist/consts.js +11 -2
- package/dist/consts.js.map +1 -1
- package/dist/mappers/bybit.d.ts +1 -1
- package/dist/mappers/bybitspot.d.ts +96 -0
- package/dist/mappers/bybitspot.d.ts.map +1 -0
- package/dist/mappers/bybitspot.js +102 -0
- package/dist/mappers/bybitspot.js.map +1 -0
- package/dist/mappers/cryptocom.d.ts +257 -0
- package/dist/mappers/cryptocom.d.ts.map +1 -0
- package/dist/mappers/cryptocom.js +193 -0
- package/dist/mappers/cryptocom.js.map +1 -0
- package/dist/mappers/huobi.d.ts +3 -3
- package/dist/mappers/index.d.ts +4 -4
- package/dist/mappers/index.d.ts.map +1 -1
- package/dist/mappers/index.js +16 -4
- package/dist/mappers/index.js.map +1 -1
- package/dist/realtimefeeds/ascendex.d.ts +2 -0
- package/dist/realtimefeeds/ascendex.d.ts.map +1 -1
- package/dist/realtimefeeds/ascendex.js +6 -0
- package/dist/realtimefeeds/ascendex.js.map +1 -1
- package/dist/realtimefeeds/bybit.d.ts +2 -0
- package/dist/realtimefeeds/bybit.d.ts.map +1 -1
- package/dist/realtimefeeds/bybit.js +6 -0
- package/dist/realtimefeeds/bybit.js.map +1 -1
- package/dist/realtimefeeds/bybitspot.d.ts +10 -0
- package/dist/realtimefeeds/bybitspot.d.ts.map +1 -0
- package/dist/realtimefeeds/bybitspot.js +40 -0
- package/dist/realtimefeeds/bybitspot.js.map +1 -0
- package/dist/realtimefeeds/cryptocom.d.ts +10 -0
- package/dist/realtimefeeds/cryptocom.d.ts.map +1 -0
- package/dist/realtimefeeds/cryptocom.js +49 -0
- package/dist/realtimefeeds/cryptocom.js.map +1 -0
- package/dist/realtimefeeds/cryptocomderivatives.d.ts +10 -0
- package/dist/realtimefeeds/cryptocomderivatives.d.ts.map +1 -0
- package/dist/realtimefeeds/cryptocomderivatives.js +51 -0
- package/dist/realtimefeeds/cryptocomderivatives.js.map +1 -0
- package/dist/realtimefeeds/delta.d.ts +2 -0
- package/dist/realtimefeeds/delta.d.ts.map +1 -1
- package/dist/realtimefeeds/delta.js +6 -0
- package/dist/realtimefeeds/delta.js.map +1 -1
- package/dist/realtimefeeds/ftx.d.ts +2 -0
- package/dist/realtimefeeds/ftx.d.ts.map +1 -1
- package/dist/realtimefeeds/ftx.js +6 -0
- package/dist/realtimefeeds/ftx.js.map +1 -1
- package/dist/realtimefeeds/index.d.ts.map +1 -1
- package/dist/realtimefeeds/index.js +7 -1
- package/dist/realtimefeeds/index.js.map +1 -1
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +11 -0
- package/dist/replay.js.map +1 -1
- package/package.json +1 -1
- package/src/consts.ts +14 -2
- package/src/mappers/bybitspot.ts +129 -0
- package/src/mappers/cryptocom.ts +395 -0
- package/src/mappers/index.ts +16 -5
- package/src/realtimefeeds/ascendex.ts +8 -0
- package/src/realtimefeeds/bybit.ts +8 -0
- package/src/realtimefeeds/bybitspot.ts +39 -0
- package/src/realtimefeeds/cryptocom.ts +48 -0
- package/src/realtimefeeds/cryptocomderivatives.ts +50 -0
- package/src/realtimefeeds/delta.ts +8 -0
- package/src/realtimefeeds/ftx.ts +8 -0
- package/src/realtimefeeds/index.ts +7 -1
- package/src/replay.ts +13 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CryptoComRealTimeFeed = void 0;
|
|
4
|
+
const realtimefeed_1 = require("./realtimefeed");
|
|
5
|
+
class CryptoComRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.wssURL = 'wss://stream.crypto.com/v2/market';
|
|
9
|
+
}
|
|
10
|
+
mapToSubscribeMessages(filters) {
|
|
11
|
+
const channels = filters
|
|
12
|
+
.map((filter) => {
|
|
13
|
+
if (!filter.symbols || filter.symbols.length === 0) {
|
|
14
|
+
throw new Error('CryptoComRealTimeFeed requires explicitly specified symbols when subscribing to live feed');
|
|
15
|
+
}
|
|
16
|
+
return filter.symbols.map((symbol) => {
|
|
17
|
+
const suffix = filter.channel === 'book' ? '.150' : '';
|
|
18
|
+
return `${filter.channel}.${symbol}${suffix}`;
|
|
19
|
+
});
|
|
20
|
+
})
|
|
21
|
+
.flatMap((s) => s);
|
|
22
|
+
return [
|
|
23
|
+
{
|
|
24
|
+
id: 1,
|
|
25
|
+
method: 'subscribe',
|
|
26
|
+
nonce: new Date().valueOf(),
|
|
27
|
+
params: {
|
|
28
|
+
channels: channels
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
];
|
|
32
|
+
}
|
|
33
|
+
messageIsError(message) {
|
|
34
|
+
return message.code !== undefined && message.code !== 0;
|
|
35
|
+
}
|
|
36
|
+
onMessage(msg) {
|
|
37
|
+
if (msg.method === 'public/heartbeat') {
|
|
38
|
+
this.send({
|
|
39
|
+
id: msg.id,
|
|
40
|
+
method: 'public/respond-heartbeat'
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
messageIsHeartbeat(msg) {
|
|
45
|
+
return msg.method === 'public/heartbeat';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.CryptoComRealTimeFeed = CryptoComRealTimeFeed;
|
|
49
|
+
//# sourceMappingURL=cryptocom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptocom.js","sourceRoot":"","sources":["../../src/realtimefeeds/cryptocom.ts"],"names":[],"mappings":";;;AACA,iDAAiD;AAEjD,MAAa,qBAAsB,SAAQ,+BAAgB;IAA3D;;QACY,WAAM,GAAG,mCAAmC,CAAA;IA2CxD,CAAC;IAzCW,sBAAsB,CAAC,OAAyB;QACxD,MAAM,QAAQ,GAAG,OAAO;aACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAA;aAC7G;YAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;gBACtD,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,GAAG,MAAM,EAAE,CAAA;YAC/C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAEpB,OAAO;YACL;gBACE,EAAE,EAAE,CAAC;gBACL,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;gBAC3B,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAQ;iBACnB;aACF;SACF,CAAA;IACH,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,CAAA;IACzD,CAAC;IAES,SAAS,CAAC,GAAQ;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,kBAAkB,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,0BAA0B;aACnC,CAAC,CAAA;SACH;IACH,CAAC;IACS,kBAAkB,CAAC,GAAQ;QACnC,OAAO,GAAG,CAAC,MAAM,KAAK,kBAAkB,CAAA;IAC1C,CAAC;CACF;AA5CD,sDA4CC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Filter } from '../types';
|
|
2
|
+
import { RealTimeFeedBase } from './realtimefeed';
|
|
3
|
+
export declare class CryptoComDerivativesRealTimeFeed extends RealTimeFeedBase {
|
|
4
|
+
protected wssURL: string;
|
|
5
|
+
protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
|
|
6
|
+
protected messageIsError(message: any): boolean;
|
|
7
|
+
protected onMessage(msg: any): void;
|
|
8
|
+
protected messageIsHeartbeat(msg: any): boolean;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=cryptocomderivatives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptocomderivatives.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/cryptocomderivatives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,qBAAa,gCAAiC,SAAQ,gBAAgB;IACpE,SAAS,CAAC,MAAM,SAA4C;IAE5D,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IA4BlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI/C,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG;IAQ5B,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG;CAGtC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CryptoComDerivativesRealTimeFeed = void 0;
|
|
4
|
+
const realtimefeed_1 = require("./realtimefeed");
|
|
5
|
+
class CryptoComDerivativesRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.wssURL = 'wss://deriv-stream.crypto.com/v1/market';
|
|
9
|
+
}
|
|
10
|
+
mapToSubscribeMessages(filters) {
|
|
11
|
+
const channels = filters
|
|
12
|
+
.map((filter) => {
|
|
13
|
+
if (!filter.symbols || filter.symbols.length === 0) {
|
|
14
|
+
throw new Error('CryptoComDerivativesRealTimeFeed requires explicitly specified symbols when subscribing to live feed');
|
|
15
|
+
}
|
|
16
|
+
return filter.symbols.map((symbol) => {
|
|
17
|
+
const suffix = filter.channel === 'book' ? '.50' : '';
|
|
18
|
+
return `${filter.channel}.${symbol}${suffix}`;
|
|
19
|
+
});
|
|
20
|
+
})
|
|
21
|
+
.flatMap((s) => s);
|
|
22
|
+
return [
|
|
23
|
+
{
|
|
24
|
+
id: 1,
|
|
25
|
+
method: 'subscribe',
|
|
26
|
+
nonce: new Date().valueOf(),
|
|
27
|
+
params: {
|
|
28
|
+
channels: channels,
|
|
29
|
+
book_subscription_type: 'SNAPSHOT_AND_UPDATE',
|
|
30
|
+
book_update_frequency: 5
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
messageIsError(message) {
|
|
36
|
+
return message.code !== undefined && message.code !== 0 && message.code !== 40003;
|
|
37
|
+
}
|
|
38
|
+
onMessage(msg) {
|
|
39
|
+
if (msg.method === 'public/heartbeat') {
|
|
40
|
+
this.send({
|
|
41
|
+
id: msg.id,
|
|
42
|
+
method: 'public/respond-heartbeat'
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
messageIsHeartbeat(msg) {
|
|
47
|
+
return msg.method === 'public/heartbeat';
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.CryptoComDerivativesRealTimeFeed = CryptoComDerivativesRealTimeFeed;
|
|
51
|
+
//# sourceMappingURL=cryptocomderivatives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptocomderivatives.js","sourceRoot":"","sources":["../../src/realtimefeeds/cryptocomderivatives.ts"],"names":[],"mappings":";;;AACA,iDAAiD;AAEjD,MAAa,gCAAiC,SAAQ,+BAAgB;IAAtE;;QACY,WAAM,GAAG,yCAAyC,CAAA;IA6C9D,CAAC;IA3CW,sBAAsB,CAAC,OAAyB;QACxD,MAAM,QAAQ,GAAG,OAAO;aACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAA;aACxH;YAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;gBACrD,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,GAAG,MAAM,EAAE,CAAA;YAC/C,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAEpB,OAAO;YACL;gBACE,EAAE,EAAE,CAAC;gBACL,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;gBAC3B,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAQ;oBAClB,sBAAsB,EAAE,qBAAqB;oBAC7C,qBAAqB,EAAE,CAAC;iBACzB;aACF;SACF,CAAA;IACH,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAA;IACnF,CAAC;IAES,SAAS,CAAC,GAAQ;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,kBAAkB,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,0BAA0B;aACnC,CAAC,CAAA;SACH;IACH,CAAC;IACS,kBAAkB,CAAC,GAAQ;QACnC,OAAO,GAAG,CAAC,MAAM,KAAK,kBAAkB,CAAA;IAC1C,CAAC;CACF;AA9CD,4EA8CC"}
|
|
@@ -12,5 +12,7 @@ export declare class DeltaRealTimeFeed extends RealTimeFeedBase {
|
|
|
12
12
|
};
|
|
13
13
|
}[];
|
|
14
14
|
protected messageIsError(message: any): boolean;
|
|
15
|
+
protected sendCustomPing: () => void;
|
|
16
|
+
protected messageIsHeartbeat(msg: any): boolean;
|
|
15
17
|
}
|
|
16
18
|
//# sourceMappingURL=delta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/delta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,MAAM,mCAAkC;IAE3D,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;;;;;;;;;IAiB1D,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/delta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,MAAM,mCAAkC;IAE3D,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;;;;;;;;;IAiB1D,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI/C,SAAS,CAAC,cAAc,aAEvB;IAED,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG;CAGtC"}
|
|
@@ -6,6 +6,9 @@ class DeltaRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
|
|
|
6
6
|
constructor() {
|
|
7
7
|
super(...arguments);
|
|
8
8
|
this.wssURL = 'wss://api.delta.exchange:2096';
|
|
9
|
+
this.sendCustomPing = () => {
|
|
10
|
+
this.send({ type: 'ping' });
|
|
11
|
+
};
|
|
9
12
|
}
|
|
10
13
|
mapToSubscribeMessages(filters) {
|
|
11
14
|
return filters.map((filter) => {
|
|
@@ -25,6 +28,9 @@ class DeltaRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
|
|
|
25
28
|
messageIsError(message) {
|
|
26
29
|
return message.error !== undefined && message.error !== null;
|
|
27
30
|
}
|
|
31
|
+
messageIsHeartbeat(msg) {
|
|
32
|
+
return msg.type === 'pong';
|
|
33
|
+
}
|
|
28
34
|
}
|
|
29
35
|
exports.DeltaRealTimeFeed = DeltaRealTimeFeed;
|
|
30
36
|
//# sourceMappingURL=delta.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../src/realtimefeeds/delta.ts"],"names":[],"mappings":";;;AACA,iDAAiD;AAEjD,MAAa,iBAAkB,SAAQ,+BAAgB;IAAvD;;QACqB,WAAM,GAAG,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"delta.js","sourceRoot":"","sources":["../../src/realtimefeeds/delta.ts"],"names":[],"mappings":";;;AACA,iDAAiD;AAEjD,MAAa,iBAAkB,SAAQ,+BAAgB;IAAvD;;QACqB,WAAM,GAAG,+BAA+B,CAAA;QAuBjD,mBAAc,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7B,CAAC,CAAA;IAKH,CAAC;IA5BW,sBAAsB,CAAC,OAAyB;QACxD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,MAAM,CAAC,OAAO;4BACpB,OAAO,EACL,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;yBAC5H;qBACF;iBACF;aACF,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,OAAO,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAA;IAC9D,CAAC;IAMS,kBAAkB,CAAC,GAAQ;QACnC,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAA;IAC5B,CAAC;CACF;AA/BD,8CA+BC"}
|
|
@@ -13,6 +13,8 @@ declare class FtxSingleConnectionRealTimeFeed extends RealTimeFeedBase {
|
|
|
13
13
|
protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
|
|
14
14
|
protected messageIsError(message: any): boolean;
|
|
15
15
|
protected isIgnoredError(message: any): boolean;
|
|
16
|
+
protected sendCustomPing: () => void;
|
|
17
|
+
protected messageIsHeartbeat(msg: any): boolean;
|
|
16
18
|
}
|
|
17
19
|
declare class FTXInstrumentInfoClient extends PoolingClientBase {
|
|
18
20
|
private readonly _httpURL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ftx.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/ftx.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAA;AAGrG,uBAAe,mBAAoB,SAAQ,+BAA+B;IACxE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACjC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAElC,SAAS,CAAE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;CAgBvI;AAED,cAAM,+BAAgC,SAAQ,gBAAgB;IAI1D,SAAS,CAAC,MAAM,EAAE,MAAM;gBAFxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EACf,MAAM,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAKlC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IAkBlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI/C,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"ftx.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/ftx.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAA;AAGrG,uBAAe,mBAAoB,SAAQ,+BAA+B;IACxE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACjC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAElC,SAAS,CAAE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;CAgBvI;AAED,cAAM,+BAAgC,SAAQ,gBAAgB;IAI1D,SAAS,CAAC,MAAM,EAAE,MAAM;gBAFxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EACf,MAAM,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAKlC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IAkBlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI/C,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG;IAKrC,SAAS,CAAC,cAAc,aAEvB;IAED,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG;CAGtC;AAED,cAAM,uBAAwB,SAAQ,iBAAiB;IAGnD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAF7B,QAAQ,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EAAE,EACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;cAKlB,gBAAgB,CAAC,YAAY,EAAE,QAAQ;CAyCxD;AAED,qBAAa,eAAgB,SAAQ,mBAAmB;IACtD,SAAS,CAAC,MAAM,SAAqB;IACrC,SAAS,CAAC,OAAO,SAAwB;CAC1C;AAED,qBAAa,iBAAkB,SAAQ,mBAAmB;IACxD,SAAS,CAAC,MAAM,SAAqB;IACrC,SAAS,CAAC,OAAO,SAAuB;CACzC"}
|
|
@@ -22,6 +22,9 @@ class FtxSingleConnectionRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
|
|
|
22
22
|
constructor(exchange, filters, wssURL, timeoutIntervalMS, onError) {
|
|
23
23
|
super(exchange, filters, timeoutIntervalMS, onError);
|
|
24
24
|
this.wssURL = wssURL;
|
|
25
|
+
this.sendCustomPing = () => {
|
|
26
|
+
this.send({ op: 'ping' });
|
|
27
|
+
};
|
|
25
28
|
}
|
|
26
29
|
mapToSubscribeMessages(filters) {
|
|
27
30
|
return filters
|
|
@@ -46,6 +49,9 @@ class FtxSingleConnectionRealTimeFeed extends realtimefeed_1.RealTimeFeedBase {
|
|
|
46
49
|
// ignore market not found errors
|
|
47
50
|
return message.code == 404;
|
|
48
51
|
}
|
|
52
|
+
messageIsHeartbeat(msg) {
|
|
53
|
+
return msg.type === 'pong';
|
|
54
|
+
}
|
|
49
55
|
}
|
|
50
56
|
class FTXInstrumentInfoClient extends realtimefeed_1.PoolingClientBase {
|
|
51
57
|
constructor(exchange, _httpURL, _instruments, onError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ftx.js","sourceRoot":"","sources":["../../src/realtimefeeds/ftx.ts"],"names":[],"mappings":";;;AAGA,iDAAqG;AACrG,oCAA4C;AAE5C,MAAe,mBAAoB,SAAQ,8CAA+B;IAI9D,CAAC,iBAAiB,CAAC,QAAgB,EAAE,OAAyB,EAAE,iBAA0B,EAAE,OAAgC;QACpI,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,CAAA;QAEnE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,MAAM,IAAI,+BAA+B,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;SACxG;QAED,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,CAAA;QAC/E,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAA;YAEpE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1B,MAAM,IAAI,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;aAChF;SACF;IACH,CAAC;CACF;AAED,MAAM,+BAAgC,SAAQ,+BAAgB;IAC5D,YACE,QAAgB,EAChB,OAAyB,EACf,MAAc,EACxB,iBAAqC,EACrC,OAAgC;QAEhC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QAJ1C,WAAM,GAAN,MAAM,CAAQ;
|
|
1
|
+
{"version":3,"file":"ftx.js","sourceRoot":"","sources":["../../src/realtimefeeds/ftx.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AA6B3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AA6B3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAkB7C,cAAc,gBAAgB,CAAA;AAqD9B,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAMvE;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EACzB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,iDAKjC;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,QAEpF"}
|
|
@@ -44,6 +44,9 @@ const dydx_1 = require("./dydx");
|
|
|
44
44
|
const serum_1 = require("./serum");
|
|
45
45
|
const staratlas_1 = require("./staratlas");
|
|
46
46
|
const mango_1 = require("./mango");
|
|
47
|
+
const bybitspot_1 = require("./bybitspot");
|
|
48
|
+
const cryptocom_1 = require("./cryptocom");
|
|
49
|
+
const cryptocomderivatives_1 = require("./cryptocomderivatives");
|
|
47
50
|
__exportStar(require("./realtimefeed"), exports);
|
|
48
51
|
const realTimeFeedsMap = {
|
|
49
52
|
bitmex: bitmex_1.BitmexRealTimeFeed,
|
|
@@ -88,7 +91,10 @@ const realTimeFeedsMap = {
|
|
|
88
91
|
serum: serum_1.SerumRealTimeFeed,
|
|
89
92
|
'star-atlas': staratlas_1.StarAtlasRealTimeFeed,
|
|
90
93
|
'huobi-dm-options': huobi_1.HuobiDMOptionsRealTimeFeed,
|
|
91
|
-
mango: mango_1.MangoRealTimeFeed
|
|
94
|
+
mango: mango_1.MangoRealTimeFeed,
|
|
95
|
+
'bybit-spot': bybitspot_1.BybitSpotRealTimeFeed,
|
|
96
|
+
'crypto-com': cryptocom_1.CryptoComRealTimeFeed,
|
|
97
|
+
'crypto-com-derivatives': cryptocomderivatives_1.CryptoComDerivativesRealTimeFeed
|
|
92
98
|
};
|
|
93
99
|
function getRealTimeFeedFactory(exchange) {
|
|
94
100
|
if (realTimeFeedsMap[exchange]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realtimefeeds/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,uCAMkB;AAClB,6CAAqD;AACrD,yCAAiD;AACjD,yCAAiD;AACjD,qCAA6C;AAC7C,yCAAiD;AACjD,mCAA+C;AAC/C,yCAAiD;AACjD,yDAAiE;AACjE,uCAAmD;AACnD,+BAA0D;AAC1D,qCAA6C;AAC7C,qCAA6C;AAC7C,mCAMgB;AAChB,qCAA6C;AAC7C,iCAAsF;AAEtF,qCAA6C;AAC7C,mCAA2C;AAC3C,qCAA6C;AAC7C,mDAA2D;AAC3D,yCAAiD;AACjD,yCAAiD;AACjD,qDAA6D;AAC7D,mCAA2C;AAC3C,yCAAiD;AACjD,iCAAyC;AACzC,mCAA2C;AAC3C,2CAAmD;AACnD,mCAA2C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realtimefeeds/index.ts"],"names":[],"mappings":"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"}
|
package/dist/replay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":";AAUA,OAAO,EAAE,aAAa,EAAwB,MAAM,WAAW,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGjE,wBAAuB,MAAM,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,OAAO,GAAG,KAAK,EAAE,CAAC,SAAS,OAAO,GAAG,KAAK,EAAE,EACtG,QAAQ,EACR,IAAI,EACJ,EAAE,EACF,OAAO,EACP,YAAwB,EACxB,eAA2B,EAC3B,MAAkB,EAClB,gBAA4B,EAC5B,WAAuB,EACvB,2BAAuC,EACxC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,qBAAqB,CAC/C,CAAC,SAAS,IAAI,GACV,CAAC,SAAS,IAAI,GACZ;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GACvD;IAAE,cAAc,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,GAAG,SAAS,GACpD,CAAC,SAAS,IAAI,GACd;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,cAAc,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,CAC3C,
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"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"}
|
package/dist/replay.js
CHANGED
|
@@ -130,6 +130,9 @@ async function* replay({ exchange, from, to, filters, skipDecoding = undefined,
|
|
|
130
130
|
(0, debug_1.debug)('processed slice: %s, exchange: %s, count: %d', sliceKey, exchange, linesCount);
|
|
131
131
|
// remove slice key from the map as it's already processed
|
|
132
132
|
cachedSlicePaths.delete(sliceKey);
|
|
133
|
+
if (autoCleanup) {
|
|
134
|
+
await cleanupSlice(cachedSlicePath);
|
|
135
|
+
}
|
|
133
136
|
// move one minute forward
|
|
134
137
|
currentSliceDate.setUTCMinutes(currentSliceDate.getUTCMinutes() + 1);
|
|
135
138
|
}
|
|
@@ -152,6 +155,14 @@ async function* replay({ exchange, from, to, filters, skipDecoding = undefined,
|
|
|
152
155
|
}
|
|
153
156
|
}
|
|
154
157
|
exports.replay = replay;
|
|
158
|
+
async function cleanupSlice(slicePath) {
|
|
159
|
+
try {
|
|
160
|
+
await (0, fs_extra_1.remove)(slicePath);
|
|
161
|
+
}
|
|
162
|
+
catch (e) {
|
|
163
|
+
(0, debug_1.debug)('cleanupSlice error %s %o', slicePath, e);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
155
166
|
// gracefully terminate worker
|
|
156
167
|
async function terminateWorker(worker, waitTimeout) {
|
|
157
168
|
let cancelWait = () => { };
|
package/dist/replay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAmD;AACnD,gDAAuB;AACvB,mCAAqC;AACrC,mDAAuC;AACvC,+BAA8C;AAC9C,+CAAiD;AACjD,6CAA6C;AAC7C,qCAA4D;AAC5D,mCAA+B;AAC/B,mCAA+F;AAC/F,uCAA+D;AAC/D,uCAAsC;AAI/B,KAAK,SAAS,CAAC,CAAC,MAAM,CAA2E,EACtG,QAAQ,EACR,IAAI,EACJ,EAAE,EACF,OAAO,EACP,YAAY,GAAG,SAAS,EACxB,eAAe,GAAG,SAAS,EAC3B,MAAM,GAAG,SAAS,EAClB,gBAAgB,GAAG,SAAS,EAC5B,WAAW,GAAG,SAAS,EACvB,2BAA2B,GAAG,SAAS,EAChB;IASvB,qBAAqB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IAElD,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,IAAA,sBAAc,EAAC,EAAE,CAAC,CAAA;IACjC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAClD,IAAI,WAAW,CAAA;IACf,IAAA,aAAK,EAAC,iEAAiE,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAA;IAEzI,MAAM,OAAO,GAAG,IAAA,oBAAU,GAAE,CAAA;IAE5B,yIAAyI;IACzI,MAAM,OAAO,GAAqB;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM;QAChC,SAAS,EAAE,OAAO,CAAC,UAAU;QAC7B,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,2BAA2B;KAC5B,CAAA;IAED,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IAE1C,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAsB,EAAE,EAAE;QAC9C,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACzB,IAAA,aAAK,EAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;QAE7B,WAAW,GAAG,GAAG,CAAA;IACnB,CAAC,CAAC,CAAA;IAEF,IAAI;QACF,0GAA0G;QAC1G,qBAAqB;QACrB,MAAM,wBAAwB,GAAG,EAAE,CAAA;QAEnC,kCAAkC;QAClC,yGAAyG;QAEzG,MAAM,YAAY,GAAG;YACnB,SAAS,EAAE,GAAG,GAAG,IAAI;YACrB,KAAK,EAAE,gBAAS,CAAC,YAAY;YAC7B,WAAW,EAAE,gBAAS,CAAC,YAAY;SACpC,CAAA;QAED,sFAAsF;QACtF,IAAI,uBAAuB,GAAG,KAAK,CAAA;QAEnC,IAAI,gBAAgB,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzC,qDAAqD;QACrD,0GAA0G;QAC1G,OAAO,gBAAgB,GAAG,MAAM,EAAE;YAChC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAA;YAE/C,IAAA,aAAK,EAAC,iCAAiC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAE5D,IAAI,eAAe,CAAA;YACnB,OAAO,eAAe,KAAK,SAAS,EAAE;gBACpC,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAEhD,uEAAuE;gBACvE,IAAI,WAAW,KAAK,SAAS,EAAE;oBAC7B,MAAM,WAAW,CAAA;iBAClB;gBAED,IAAI,eAAe,KAAK,SAAS,EAAE;oBACjC,2EAA2E;oBAC3E,IAAA,aAAK,EAAC,qCAAqC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;oBAChE,MAAM,IAAA,YAAI,EAAC,GAAG,CAAC,CAAA;iBAChB;aACF;YAED,4DAA4D;YAC5D,MAAM,WAAW,GAAG,IAAA,2BAAgB,EAAC,eAAe,EAAE,EAAE,aAAa,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC;gBAClF,WAAW;iBACV,IAAI,CAAC,IAAA,mBAAY,EAAC,YAAY,CAAC,CAAC;iBAChC,EAAE,CAAC,OAAO,EAAE,SAAS,aAAa,CAAC,GAAG;gBACrC,IAAA,aAAK,EAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;gBAC7B,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAC1B,CAAC,CAAC;gBACF,wBAAwB;iBACvB,IAAI,CAAC,IAAI,+BAAiB,EAAE,CAAC;iBAC7B,EAAE,CAAC,OAAO,EAAE,SAAS,wBAAwB,CAAC,GAAG;gBAChD,IAAA,aAAK,EAAC,8BAA8B,EAAE,GAAG,CAAC,CAAA;gBAC1C,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAA;YAEJ,IAAI,UAAU,GAAG,CAAC,CAAA;YAElB,IAAI,KAAK,EAAE,MAAM,UAAU,IAAI,WAA0C,EAAE;gBACzE,UAAU,EAAE,CAAA;gBACZ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzB,uBAAuB,GAAG,KAAK,CAAA;oBAC/B,MAAM,oBAAoB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAA;oBAC1E,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAA;oBACpE,qEAAqE;oBACrE,IAAI,YAAY,KAAK,IAAI,EAAE;wBACzB,MAAM;4BACJ,cAAc,EAAE,oBAAoB;4BACpC,OAAO,EAAE,aAAa;yBAChB,CAAA;qBACT;yBAAM;wBACL,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAoB,CAAC,CAAA;wBAChD,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAA;wBAC5D,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAA;wBACrD,IAAI,gBAAgB,EAAE;4BACpB,0EAA0E;4BAC1E,2EAA2E;4BAC3E,cAAc,CAAC,EAAE,GAAG,IAAA,eAAO,EAAC,oBAAoB,CAAC,CAAA;yBAClD;wBAED,MAAM;4BACJ,+EAA+E;4BAC/E,cAAc;4BACd,OAAO;yBACD,CAAA;qBACT;oBACD,2DAA2D;oBAC3D,6CAA6C;iBAC9C;qBAAM,IAAI,eAAe,KAAK,IAAI,IAAI,uBAAuB,KAAK,KAAK,EAAE;oBACxE,uBAAuB,GAAG,IAAI,CAAA;oBAC9B,MAAM,SAAgB,CAAA;iBACvB;aACF;YAED,IAAA,aAAK,EAAC,8CAA8C,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;YAErF,0DAA0D;YAC1D,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAEjC,IAAI,WAAW,EAAE;gBACf,MAAM,YAAY,CAAC,eAAe,CAAC,CAAA;aACpC;YACD,0BAA0B;YAC1B,gBAAgB,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAA;SACrE;QAED,IAAA,aAAK,EACH,kEAAkE,EAClE,QAAQ,EACR,QAAQ,CAAC,WAAW,EAAE,EACtB,MAAM,CAAC,WAAW,EAAE,EACpB,OAAO,CACR,CAAA;KACF;YAAS;QACR,IAAI,WAAW,EAAE;YACf,IAAA,aAAK,EACH,6EAA6E,EAC7E,QAAQ,EACR,QAAQ,CAAC,WAAW,EAAE,EACtB,MAAM,CAAC,WAAW,EAAE,EACpB,OAAO,CACR,CAAA;YACD,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClC,OAAO,SAAS,GAAG,MAAM,EAAE;gBACzB,IAAA,2BAAc,EAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,CAAA;gBAElH,SAAS,GAAG,IAAA,eAAO,EAAC,SAAS,EAAE,CAAC,CAAC,CAAA;aAClC;YAED,IAAA,aAAK,EACH,8EAA8E,EAC9E,QAAQ,EACR,QAAQ,CAAC,WAAW,EAAE,EACtB,MAAM,CAAC,WAAW,EAAE,EACpB,OAAO,CACR,CAAA;SACF;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAA;QACrD,IAAI,gBAAgB,KAAK,SAAS,EAAE;YAClC,MAAM,eAAe,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;SAC7C;KACF;AACH,CAAC;AAtMD,wBAsMC;AAED,KAAK,UAAU,YAAY,CAAC,SAAiB;IAC3C,IAAI;QACF,MAAM,IAAA,iBAAM,EAAC,SAAS,CAAC,CAAA;KACxB;IAAC,OAAO,CAAC,EAAE;QACV,IAAA,aAAK,EAAC,0BAA0B,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;KAChD;AACH,CAAC;AAED,8BAA8B;AAC9B,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,WAAmB;IAChE,IAAI,UAAU,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;IACzB,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QAClD,UAAU,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACrD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,+DAAoC,IAAI,OAAO,EAAE,CAAC,CAAA;IAC7F,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAEnB,MAAM,CAAC,WAAW,wDAA+B,CAAA;IACjD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAA;IACpD,MAAM,MAAM,CAAC,SAAS,EAAE,CAAA;AAC1B,CAAC;AAED,SAAgB,gBAAgB,CAC9B,EACE,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,EAAE,EACF,sBAAsB,GAAG,SAAS,EAClC,MAAM,GAAG,SAAS,EAClB,WAAW,GAAG,SAAS,EACvB,2BAA2B,GAAG,SAAS,EACT,EAChC,GAAG,WAAc;IAUjB,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAA;IAErC,+BAA+B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;IAEtD,MAAM,aAAa,GAAG,CAAC,cAAoB,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAA;IACnG,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAE5C,MAAM,QAAQ,GAAG,MAAM,CAAC;QACtB,QAAQ;QACR,IAAI;QACJ,EAAE;QACF,eAAe,EAAE,IAAI;QACrB,OAAO;QACP,MAAM;QACN,gBAAgB,EAAE,IAAI;QACtB,WAAW;QACX,2BAA2B;KAC5B,CAAC,CAAA;IAEF,+HAA+H;IAC/H,sCAAsC;IACtC,MAAM,gBAAgB,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAChG,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE;QAChC,OAAO,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC7G,CAAC,CAAA;IAED,OAAO,IAAA,yBAAiB,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,CAAC,CAAA;AACtG,CAAC;AAjDD,4CAiDC;AAED,SAAS,qBAAqB,CAAqB,QAAW,EAAE,IAAY,EAAE,EAAU,EAAE,OAA+B;IACvH,IAAI,CAAC,QAAQ,IAAI,kBAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE;QACvD,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,oDAAoD,kBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KACrI;IAED,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,qCAAqC,CAAC,CAAA;KACvF;IAED,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,EAAE,qCAAqC,CAAC,CAAA;KACnF;IAED,IAAI,IAAA,sBAAc,EAAC,EAAE,CAAC,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,yGAAyG,CAAC,CAAA;KAC3H;IAED,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAEzB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAK,+BAAsB,CAAC,QAAQ,CAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;gBACnG,MAAM,IAAI,KAAK,CACb,yCAAyC,MAAM,CAAC,OAAO,mDAAmD,+BAAsB,CAC9H,QAAQ,CACT,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAChB,CAAA;aACF;YAED,IAAI,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;gBAC7D,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,CAAC,OAAO,0CAA0C,CAAC,CAAA;aACnH;SACF;KACF;AACH,CAAC;AAED,SAAS,+BAA+B,CAAC,QAAc,EAAE,WAAsC;IAC7F,MAAM,uBAAuB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,8BAAoB,CAAC,CAAA;IACnF,MAAM,sCAAsC,GAAG,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;IAE7G,IAAI,uBAAuB,IAAI,sCAAsC,EAAE;QACrE,IAAA,aAAK,EAAC,8DAA8D,CAAC,CAAA;KACtE;AACH,CAAC;AAED,MAAM,cAAe,SAAQ,qBAAY;IAIvC,YAA6B,QAA0B;QACrD,KAAK,EAAE,CAAA;QADoB,aAAQ,GAAR,QAAQ,CAAkB;QAH/C,iBAAY,GAAG,CAAC,CAAA;QAChB,YAAO,GAAuB,SAAS,CAAA;QAwBvC,iBAAY,GAAG,KAAK,EAAE,GAAU,EAAE,EAAE;YAC1C,IAAA,aAAK,EAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;YAExC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE;gBACzE,IAAI,CAAC,YAAY,EAAE,CAAA;gBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC,CAAA;gBAC3E,IAAA,aAAK,EAAC,6BAA6B,EAAE,OAAO,CAAC,CAAA;gBAC7C,MAAM,IAAA,YAAI,EAAC,OAAO,CAAC,CAAA;gBACnB,uHAAuH;gBACvH,IAAI,CAAC,WAAW,EAAE,CAAA;aACnB;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;aACxB;QACH,CAAC,CAAA;QAhCC,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAM,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE;YAC9D,UAAU,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAsB,EAAE,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAE3C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAA,aAAK,EAAC,+BAA+B,EAAE,IAAI,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC;IAiBM,mBAAmB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF"}
|
package/package.json
CHANGED
package/src/consts.ts
CHANGED
|
@@ -23,6 +23,7 @@ export const EXCHANGES = [
|
|
|
23
23
|
'gemini',
|
|
24
24
|
'poloniex',
|
|
25
25
|
'bybit',
|
|
26
|
+
'bybit-spot',
|
|
26
27
|
'phemex',
|
|
27
28
|
'delta',
|
|
28
29
|
'ftx-us',
|
|
@@ -41,7 +42,9 @@ export const EXCHANGES = [
|
|
|
41
42
|
'serum',
|
|
42
43
|
'mango',
|
|
43
44
|
'huobi-dm-options',
|
|
44
|
-
'star-atlas'
|
|
45
|
+
'star-atlas',
|
|
46
|
+
'crypto-com',
|
|
47
|
+
'crypto-com-derivatives'
|
|
45
48
|
] as const
|
|
46
49
|
|
|
47
50
|
const BINANCE_CHANNELS = ['trade', 'aggTrade', 'ticker', 'depth', 'depthSnapshot', 'bookTicker', 'recentTrades', 'borrowInterest'] as const
|
|
@@ -371,6 +374,12 @@ const MANGO_CHANNELS = [
|
|
|
371
374
|
|
|
372
375
|
const HUOBI_DM_OPTIONS_CHANNELS = ['trade', 'detail', 'depth', 'bbo', 'open_interest', 'option_market_index', 'option_index'] as const
|
|
373
376
|
|
|
377
|
+
const BYBIT_SPOT_CHANNELS = ['trade', 'bookTicker', 'depth']
|
|
378
|
+
|
|
379
|
+
const CRYPTO_COM_CHANNELS = ['trade', 'book', 'ticker']
|
|
380
|
+
|
|
381
|
+
const CRYPTO_COM_DERIVATIVES = ['trade', 'book', 'ticker', 'settlement', 'index', 'mark', 'funding']
|
|
382
|
+
|
|
374
383
|
export const EXCHANGE_CHANNELS_INFO = {
|
|
375
384
|
bitmex: BITMEX_CHANNELS,
|
|
376
385
|
coinbase: COINBASE_CHANNELS,
|
|
@@ -399,6 +408,7 @@ export const EXCHANGE_CHANNELS_INFO = {
|
|
|
399
408
|
'huobi-dm-swap': HUOBI_DM_SWAP_CHANNELS,
|
|
400
409
|
'huobi-dm-linear-swap': HUOBI_DM_LINEAR_SWAP_CHANNELS,
|
|
401
410
|
bybit: BYBIT_CHANNELS,
|
|
411
|
+
'bybit-spot': BYBIT_SPOT_CHANNELS,
|
|
402
412
|
okcoin: OKCOIN_CHANNELS,
|
|
403
413
|
hitbtc: HITBTC_CHANNELS,
|
|
404
414
|
coinflex: COINFLEX_CHANNELS,
|
|
@@ -414,5 +424,7 @@ export const EXCHANGE_CHANNELS_INFO = {
|
|
|
414
424
|
serum: SERUM_CHANNELS,
|
|
415
425
|
'star-atlas': SERUM_CHANNELS,
|
|
416
426
|
'huobi-dm-options': HUOBI_DM_OPTIONS_CHANNELS,
|
|
417
|
-
mango: MANGO_CHANNELS
|
|
427
|
+
mango: MANGO_CHANNELS,
|
|
428
|
+
'crypto-com': CRYPTO_COM_CHANNELS,
|
|
429
|
+
'crypto-com-derivatives': CRYPTO_COM_DERIVATIVES
|
|
418
430
|
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { upperCaseSymbols } from '../handy'
|
|
2
|
+
import { BookChange, Exchange, BookTicker, Trade } from '../types'
|
|
3
|
+
import { Mapper } from './mapper'
|
|
4
|
+
|
|
5
|
+
export class BybitSpotTradesMapper implements Mapper<'bybit-spot', Trade> {
|
|
6
|
+
constructor(private readonly _exchange: Exchange) {}
|
|
7
|
+
canHandle(message: BybitSpotTradeMessage) {
|
|
8
|
+
return message.topic === 'trade' && message.data !== undefined
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
getFilters(symbols?: string[]) {
|
|
12
|
+
symbols = upperCaseSymbols(symbols)
|
|
13
|
+
|
|
14
|
+
return [
|
|
15
|
+
{
|
|
16
|
+
channel: 'trade',
|
|
17
|
+
symbols
|
|
18
|
+
} as const
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
*map(message: BybitSpotTradeMessage, localTimestamp: Date): IterableIterator<Trade> {
|
|
23
|
+
const bybitTrade = message.data
|
|
24
|
+
yield {
|
|
25
|
+
type: 'trade',
|
|
26
|
+
symbol: message.params.symbol,
|
|
27
|
+
exchange: this._exchange,
|
|
28
|
+
id: bybitTrade.v,
|
|
29
|
+
price: Number(bybitTrade.p),
|
|
30
|
+
amount: Number(bybitTrade.q),
|
|
31
|
+
side: bybitTrade.m === true ? 'buy' : 'sell',
|
|
32
|
+
timestamp: new Date(bybitTrade.t),
|
|
33
|
+
localTimestamp
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export class BybitSpotBookChangeMapper implements Mapper<'bybit-spot', BookChange> {
|
|
39
|
+
constructor(protected readonly _exchange: Exchange) {}
|
|
40
|
+
|
|
41
|
+
canHandle(message: BybitSpotDepthMessage) {
|
|
42
|
+
return message.topic === 'depth' && message.data !== undefined
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
getFilters(symbols?: string[]) {
|
|
46
|
+
symbols = upperCaseSymbols(symbols)
|
|
47
|
+
return [
|
|
48
|
+
{
|
|
49
|
+
channel: 'depth',
|
|
50
|
+
symbols
|
|
51
|
+
} as const
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
*map(message: BybitSpotDepthMessage, localTimestamp: Date) {
|
|
56
|
+
yield {
|
|
57
|
+
type: 'book_change',
|
|
58
|
+
symbol: message.params.symbol,
|
|
59
|
+
exchange: this._exchange,
|
|
60
|
+
isSnapshot: true,
|
|
61
|
+
bids: message.data.b.map(this._mapBookLevel),
|
|
62
|
+
asks: message.data.a.map(this._mapBookLevel),
|
|
63
|
+
timestamp: new Date(message.data.t),
|
|
64
|
+
localTimestamp
|
|
65
|
+
} as const
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
private _mapBookLevel(level: [string, string]) {
|
|
69
|
+
return { price: Number(level[0]), amount: Number(level[1]) }
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export class BybitSpotBookTickerMapper implements Mapper<'bybit-spot', BookTicker> {
|
|
74
|
+
constructor(protected readonly _exchange: Exchange) {}
|
|
75
|
+
|
|
76
|
+
canHandle(message: BybitSpotBookTickerMessage) {
|
|
77
|
+
return message.topic === 'bookTicker' && message.data !== undefined
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
getFilters(symbols?: string[]) {
|
|
81
|
+
symbols = upperCaseSymbols(symbols)
|
|
82
|
+
return [
|
|
83
|
+
{
|
|
84
|
+
channel: 'bookTicker',
|
|
85
|
+
symbols
|
|
86
|
+
} as const
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
*map(message: BybitSpotBookTickerMessage, localTimestamp: Date) {
|
|
91
|
+
const bookTicker: BookTicker = {
|
|
92
|
+
type: 'book_ticker',
|
|
93
|
+
symbol: message.params.symbol,
|
|
94
|
+
exchange: this._exchange,
|
|
95
|
+
askAmount: message.data.askQty !== undefined ? Number(message.data.askQty) : undefined,
|
|
96
|
+
askPrice: message.data.askPrice !== undefined ? Number(message.data.askPrice) : undefined,
|
|
97
|
+
bidPrice: message.data.bidPrice !== undefined ? Number(message.data.bidPrice) : undefined,
|
|
98
|
+
bidAmount: message.data.bidQty !== undefined ? Number(message.data.bidQty) : undefined,
|
|
99
|
+
timestamp: new Date(message.data.time),
|
|
100
|
+
localTimestamp: localTimestamp
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
yield bookTicker
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
type BybitSpotBookTickerMessage = {
|
|
108
|
+
topic: 'bookTicker'
|
|
109
|
+
params: { symbol: 'BATUSDT'; binary: 'false'; symbolName: 'BATUSDT' }
|
|
110
|
+
data: { symbol: 'BATUSDT'; bidPrice: '0.3985'; bidQty: '1919.99'; askPrice: '0.3997'; askQty: '3747.68'; time: 1659311999973 }
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
type BybitSpotTradeMessage = {
|
|
114
|
+
topic: 'trade'
|
|
115
|
+
params: { symbol: 'XRP3SUSDT'; binary: 'false'; symbolName: 'XRP3SUSDT' }
|
|
116
|
+
data: { v: '2220000000006443832'; t: 1659312000387; p: '6.3957'; q: '3.5962'; m: boolean }
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
type BybitSpotDepthMessage = {
|
|
120
|
+
topic: 'depth'
|
|
121
|
+
params: { symbol: 'RENUSDT'; binary: 'false'; symbolName: 'RENUSDT' }
|
|
122
|
+
data: {
|
|
123
|
+
s: 'RENUSDT'
|
|
124
|
+
t: 1659312000390
|
|
125
|
+
v: '170667316_8244371_5'
|
|
126
|
+
b: [['0.14348', '3249.63']]
|
|
127
|
+
a: [['0.14457', '95.23']]
|
|
128
|
+
}
|
|
129
|
+
}
|