tardis-machine 18.3.7 → 18.4.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/ws/subscriptionsmappers.d.ts.map +1 -1
- package/dist/ws/subscriptionsmappers.js +1 -0
- package/dist/ws/subscriptionsmappers.js.map +1 -1
- package/node_modules/tardis-dev/dist/consts.d.ts +6 -5
- package/node_modules/tardis-dev/dist/consts.d.ts.map +1 -1
- package/node_modules/tardis-dev/dist/consts.js +31 -5
- package/node_modules/tardis-dev/dist/consts.js.map +1 -1
- package/node_modules/tardis-dev/dist/mappers/ascendex.d.ts +4 -4
- package/node_modules/tardis-dev/dist/mappers/aster.d.ts +8 -8
- package/node_modules/tardis-dev/dist/mappers/binance.d.ts +18 -18
- package/node_modules/tardis-dev/dist/mappers/binanceeuropeanoptions.d.ts +1 -1
- package/node_modules/tardis-dev/dist/mappers/bitfinex.d.ts +8 -8
- package/node_modules/tardis-dev/dist/mappers/bitflyer.d.ts +1 -1
- package/node_modules/tardis-dev/dist/mappers/bitget.d.ts +1 -1
- package/node_modules/tardis-dev/dist/mappers/bithumb.d.ts +2 -2
- package/node_modules/tardis-dev/dist/mappers/bitmex.d.ts +2 -2
- package/node_modules/tardis-dev/dist/mappers/bitnomial.d.ts +1 -1
- package/node_modules/tardis-dev/dist/mappers/bitstamp.d.ts +3 -2
- package/node_modules/tardis-dev/dist/mappers/bitstamp.d.ts.map +1 -1
- package/node_modules/tardis-dev/dist/mappers/bitstamp.js +49 -2
- package/node_modules/tardis-dev/dist/mappers/bitstamp.js.map +1 -1
- package/node_modules/tardis-dev/dist/mappers/bitvavo.d.ts +3 -3
- package/node_modules/tardis-dev/dist/mappers/blockchaincom.d.ts +2 -2
- package/node_modules/tardis-dev/dist/mappers/bullish.d.ts +5 -5
- package/node_modules/tardis-dev/dist/mappers/bybit.d.ts +26 -7
- package/node_modules/tardis-dev/dist/mappers/bybit.d.ts.map +1 -1
- package/node_modules/tardis-dev/dist/mappers/bybit.js +4 -0
- package/node_modules/tardis-dev/dist/mappers/bybit.js.map +1 -1
- package/node_modules/tardis-dev/dist/mappers/bybitspot.d.ts +1 -1
- package/node_modules/tardis-dev/dist/mappers/coinbase.d.ts +1 -1
- package/node_modules/tardis-dev/dist/mappers/coinbaseinternational.d.ts +2 -2
- package/node_modules/tardis-dev/dist/mappers/coinflex.d.ts +1 -1
- package/node_modules/tardis-dev/dist/mappers/cryptocom.d.ts +5 -5
- package/node_modules/tardis-dev/dist/mappers/cryptofacilities.d.ts +2 -2
- package/node_modules/tardis-dev/dist/mappers/delta.d.ts +1 -1
- package/node_modules/tardis-dev/dist/mappers/deribit.d.ts +3 -3
- package/node_modules/tardis-dev/dist/mappers/dydx.d.ts +3 -3
- package/node_modules/tardis-dev/dist/mappers/dydxv4.d.ts +4 -4
- package/node_modules/tardis-dev/dist/mappers/ftx.d.ts +8 -8
- package/node_modules/tardis-dev/dist/mappers/ftx.js +1 -1
- package/node_modules/tardis-dev/dist/mappers/ftx.js.map +1 -1
- package/node_modules/tardis-dev/dist/mappers/gateio.d.ts +1 -1
- package/node_modules/tardis-dev/dist/mappers/gateiofutures.d.ts +4 -4
- package/node_modules/tardis-dev/dist/mappers/gemini.d.ts +1 -1
- package/node_modules/tardis-dev/dist/mappers/huobi.d.ts +26 -26
- package/node_modules/tardis-dev/dist/mappers/hyperliquid.d.ts +3 -3
- package/node_modules/tardis-dev/dist/mappers/index.d.ts +204 -183
- package/node_modules/tardis-dev/dist/mappers/index.d.ts.map +1 -1
- package/node_modules/tardis-dev/dist/mappers/kucoin.d.ts +3 -3
- package/node_modules/tardis-dev/dist/mappers/kucoinfutures.d.ts +4 -4
- package/node_modules/tardis-dev/dist/mappers/lighter.d.ts +10 -10
- package/node_modules/tardis-dev/dist/mappers/mexc.d.ts +3 -3
- package/node_modules/tardis-dev/dist/mappers/mexcfutures.d.ts +3 -3
- package/node_modules/tardis-dev/dist/mappers/okex.d.ts +15 -15
- package/node_modules/tardis-dev/dist/mappers/phemex.d.ts +1 -1
- package/node_modules/tardis-dev/dist/mappers/polymarket.d.ts +3 -3
- package/node_modules/tardis-dev/dist/mappers/serum.d.ts +9 -9
- package/node_modules/tardis-dev/dist/mappers/upbit.d.ts +2 -2
- package/node_modules/tardis-dev/dist/realtimefeeds/bitstamp.d.ts +12 -2
- package/node_modules/tardis-dev/dist/realtimefeeds/bitstamp.d.ts.map +1 -1
- package/node_modules/tardis-dev/dist/realtimefeeds/bitstamp.js +36 -3
- package/node_modules/tardis-dev/dist/realtimefeeds/bitstamp.js.map +1 -1
- package/node_modules/tardis-dev/dist/realtimefeeds/bybit.d.ts +3 -0
- package/node_modules/tardis-dev/dist/realtimefeeds/bybit.d.ts.map +1 -1
- package/node_modules/tardis-dev/dist/realtimefeeds/bybit.js +3 -0
- package/node_modules/tardis-dev/dist/realtimefeeds/bybit.js.map +1 -1
- package/node_modules/tardis-dev/dist/realtimefeeds/index.d.ts.map +1 -1
- package/node_modules/tardis-dev/dist/realtimefeeds/index.js +2 -3
- package/node_modules/tardis-dev/dist/realtimefeeds/index.js.map +1 -1
- package/node_modules/tardis-dev/dist/realtimefeeds/okex.d.ts.map +1 -1
- package/node_modules/tardis-dev/dist/realtimefeeds/okex.js +4 -4
- package/node_modules/tardis-dev/dist/realtimefeeds/okex.js.map +1 -1
- package/node_modules/tardis-dev/dist/realtimefeeds/okexspreads.d.ts.map +1 -1
- package/node_modules/tardis-dev/dist/realtimefeeds/okexspreads.js +1 -1
- package/node_modules/tardis-dev/dist/realtimefeeds/okexspreads.js.map +1 -1
- package/node_modules/tardis-dev/package.json +1 -1
- package/node_modules/tardis-dev/src/consts.ts +32 -5
- package/node_modules/tardis-dev/src/mappers/bitstamp.ts +101 -27
- package/node_modules/tardis-dev/src/mappers/bybit.ts +6 -2
- package/node_modules/tardis-dev/src/mappers/ftx.ts +1 -1
- package/node_modules/tardis-dev/src/realtimefeeds/bitstamp.ts +50 -3
- package/node_modules/tardis-dev/src/realtimefeeds/bybit.ts +4 -0
- package/node_modules/tardis-dev/src/realtimefeeds/index.ts +2 -3
- package/node_modules/tardis-dev/src/realtimefeeds/okex.ts +4 -10
- package/node_modules/tardis-dev/src/realtimefeeds/okexspreads.ts +1 -1
- package/package.json +2 -2
- package/src/ws/subscriptionsmappers.ts +1 -0
- package/node_modules/tardis-dev/dist/realtimefeeds/coinbaseinternational.d.ts +0 -10
- package/node_modules/tardis-dev/dist/realtimefeeds/coinbaseinternational.d.ts.map +0 -1
- package/node_modules/tardis-dev/dist/realtimefeeds/coinbaseinternational.js +0 -47
- package/node_modules/tardis-dev/dist/realtimefeeds/coinbaseinternational.js.map +0 -1
- package/node_modules/tardis-dev/src/realtimefeeds/coinbaseinternational.ts +0 -60
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BookChange, Trade } from '../types.ts';
|
|
2
2
|
export declare const upbitMappers: {
|
|
3
3
|
upbit: {
|
|
4
|
-
trades: import("./registry.ts").MapperCreator<"aster" | "aster-futures" | "bithumb" | "bitvavo" | "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" | "lighter-rh" | "bullish" | "mexc" | "polymarket", Trade>;
|
|
5
|
-
bookChanges: import("./registry.ts").MapperCreator<"aster" | "aster-futures" | "bithumb" | "bitvavo" | "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" | "lighter-rh" | "bullish" | "mexc" | "polymarket", BookChange>;
|
|
4
|
+
trades: import("./registry.ts").MapperCreator<"aster" | "aster-futures" | "bithumb" | "bitvavo" | "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" | "bybit-spread" | "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" | "lighter-rh" | "bullish" | "mexc" | "polymarket", Trade>;
|
|
5
|
+
bookChanges: import("./registry.ts").MapperCreator<"aster" | "aster-futures" | "bithumb" | "bitvavo" | "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" | "bybit-spread" | "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" | "lighter-rh" | "bullish" | "mexc" | "polymarket", BookChange>;
|
|
6
6
|
};
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=upbit.d.ts.map
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
+
import { Writable } from 'stream';
|
|
1
2
|
import { Filter } from '../types.ts';
|
|
2
|
-
import { RealTimeFeedBase } from './realtimefeed.ts';
|
|
3
|
-
export declare class BitstampRealTimeFeed extends
|
|
3
|
+
import { MultiConnectionRealTimeFeedBase, PoolingClientBase, RealTimeFeedBase } from './realtimefeed.ts';
|
|
4
|
+
export declare class BitstampRealTimeFeed extends MultiConnectionRealTimeFeedBase {
|
|
5
|
+
protected _getRealTimeFeeds(exchange: string, filters: Filter<string>[], timeoutIntervalMS?: number, onError?: (error: Error) => void): Generator<BitstampWebSocketRealTimeFeed | BitstampTickerClient, void, unknown>;
|
|
6
|
+
}
|
|
7
|
+
declare class BitstampTickerClient extends PoolingClientBase {
|
|
8
|
+
private readonly _symbols;
|
|
9
|
+
constructor(exchange: string, _symbols: string[], onError?: (error: Error) => void);
|
|
10
|
+
protected poolDataToStream(outputStream: Writable): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
declare class BitstampWebSocketRealTimeFeed extends RealTimeFeedBase {
|
|
4
13
|
protected wssURL: string;
|
|
5
14
|
protected httpURL: string;
|
|
6
15
|
protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
|
|
7
16
|
protected messageIsError(message: any): boolean;
|
|
8
17
|
protected provideManualSnapshots(filters: Filter<string>[], shouldCancel: () => boolean): Promise<void>;
|
|
9
18
|
}
|
|
19
|
+
export {};
|
|
10
20
|
//# sourceMappingURL=bitstamp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitstamp.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/bitstamp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bitstamp.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/bitstamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAIxG,qBAAa,oBAAqB,SAAQ,+BAA+B;IACvE,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;CAevI;AAGD,cAAM,oBAAqB,SAAQ,iBAAiB;IAGhD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADzB,QAAQ,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAAE,EACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;cAKlB,gBAAgB,CAAC,YAAY,EAAE,QAAQ;CAcxD;AAED,cAAM,6BAA8B,SAAQ,gBAAgB;IAC1D,SAAS,CAAC,MAAM,SAA0B;IAC1C,SAAS,CAAC,OAAO,SAAoB;IAErC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IAmBlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;cAY/B,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO;CA8B9F"}
|
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
import { getJSON } from "../handy.js";
|
|
2
|
-
import { RealTimeFeedBase } from "./realtimefeed.js";
|
|
3
|
-
|
|
2
|
+
import { MultiConnectionRealTimeFeedBase, PoolingClientBase, RealTimeFeedBase } from "./realtimefeed.js";
|
|
3
|
+
const BITSTAMP_HTTP_URL = 'https://www.bitstamp.net/api/v2';
|
|
4
|
+
export class BitstampRealTimeFeed extends MultiConnectionRealTimeFeedBase {
|
|
5
|
+
*_getRealTimeFeeds(exchange, filters, timeoutIntervalMS, onError) {
|
|
6
|
+
const wsFilters = filters.filter((f) => f.channel !== 'ticker');
|
|
7
|
+
if (wsFilters.length > 0) {
|
|
8
|
+
yield new BitstampWebSocketRealTimeFeed(exchange, wsFilters, timeoutIntervalMS, onError);
|
|
9
|
+
}
|
|
10
|
+
const tickerFilters = filters.filter((f) => f.channel === 'ticker');
|
|
11
|
+
if (tickerFilters.length > 0) {
|
|
12
|
+
yield new BitstampTickerClient(exchange, tickerFilters.flatMap((f) => f.symbols ?? []), onError);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
// Bitstamp WebSocket has no ticker channel; the recorder polls the REST ticker and stores it in this generated message shape.
|
|
17
|
+
class BitstampTickerClient extends PoolingClientBase {
|
|
18
|
+
_symbols;
|
|
19
|
+
constructor(exchange, _symbols, onError) {
|
|
20
|
+
super(exchange, 6, onError);
|
|
21
|
+
this._symbols = _symbols;
|
|
22
|
+
}
|
|
23
|
+
async poolDataToStream(outputStream) {
|
|
24
|
+
const { data: tickers } = await getJSON(`${BITSTAMP_HTTP_URL}/ticker/`, { timeout: 10000 });
|
|
25
|
+
for (const ticker of tickers) {
|
|
26
|
+
const symbol = ticker.market.replace('/', '').toLowerCase();
|
|
27
|
+
if (this._symbols.length > 0 && this._symbols.includes(symbol) === false) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
if (outputStream.writable) {
|
|
31
|
+
outputStream.write({ data: ticker, channel: `ticker_${symbol}`, event: 'ticker', generated: true });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
class BitstampWebSocketRealTimeFeed extends RealTimeFeedBase {
|
|
4
37
|
wssURL = 'wss://ws.bitstamp.net';
|
|
5
|
-
httpURL =
|
|
38
|
+
httpURL = BITSTAMP_HTTP_URL;
|
|
6
39
|
mapToSubscribeMessages(filters) {
|
|
7
40
|
return filters
|
|
8
41
|
.map((filter) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitstamp.js","sourceRoot":"","sources":["../../src/realtimefeeds/bitstamp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bitstamp.js","sourceRoot":"","sources":["../../src/realtimefeeds/bitstamp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAExG,MAAM,iBAAiB,GAAG,iCAAiC,CAAA;AAE3D,MAAM,OAAO,oBAAqB,SAAQ,+BAA+B;IAC7D,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,QAAQ,CAAC,CAAA;QAC/D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,6BAA6B,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QAC1F,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAA;QACnE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,oBAAoB,CAC5B,QAAQ,EACR,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAC7C,OAAO,CACR,CAAA;QACH,CAAC;IACH,CAAC;CACF;AAED,8HAA8H;AAC9H,MAAM,oBAAqB,SAAQ,iBAAiB;IAG/B;IAFnB,YACE,QAAgB,EACC,QAAkB,EACnC,OAAgC;QAEhC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;QAHV,aAAQ,GAAR,QAAQ,CAAU;IAIrC,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,YAAsB;QACrD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAuB,GAAG,iBAAiB,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAEjH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;YAC3D,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;gBACzE,SAAQ;YACV,CAAC;YAED,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC1B,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACrG,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,6BAA8B,SAAQ,gBAAgB;IAChD,MAAM,GAAG,uBAAuB,CAAA;IAChC,OAAO,GAAG,iBAAiB,CAAA;IAE3B,sBAAsB,CAAC,OAAyB;QACxD,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAA;YAC7G,CAAC;YAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,OAAO;oBACL,KAAK,EAAE,eAAe;oBACtB,IAAI,EAAE;wBACJ,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,EAAE;qBACvC;iBACF,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,uBAAuB,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,OAAyB,EAAE,YAA2B;QAC3F,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,iBAAiB,CAAC,CAAA;QAC5E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,qCAAqC,EAAE,eAAe,CAAC,OAAQ,CAAC,CAAA;QAE3E,KAAK,IAAI,MAAM,IAAI,eAAe,CAAC,OAAQ,EAAE,CAAC;YAC5C,IAAI,YAAY,EAAE,EAAE,CAAC;gBACnB,OAAM;YACR,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,eAAe,MAAM,UAAU,CAAC,CAAA;YAC9E,IAAI,YAAY,EAAE,EAAE,CAAC;gBACnB,OAAM;YACR,CAAC;YAED,MAAM,QAAQ,GAAG;gBACf,IAAI;gBACJ,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,mBAAmB,MAAM,EAAE;gBACpC,SAAS,EAAE,IAAI;aAChB,CAAA;YAED,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3C,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,kDAAkD,EAAE,eAAe,CAAC,OAAQ,CAAC,CAAA;IAC1F,CAAC;CACF"}
|
|
@@ -20,6 +20,9 @@ declare class BybitInverseRealTimeDataFeed extends BybitSingleConnectionRealTime
|
|
|
20
20
|
export declare class BybitSpotRealTimeDataFeed extends BybitSingleConnectionRealTimeDataFeed {
|
|
21
21
|
protected wssURL: string;
|
|
22
22
|
}
|
|
23
|
+
export declare class BybitSpreadRealTimeDataFeed extends BybitSingleConnectionRealTimeDataFeed {
|
|
24
|
+
protected wssURL: string;
|
|
25
|
+
}
|
|
23
26
|
export declare class BybitOptionsRealTimeDataFeed extends BybitSingleConnectionRealTimeDataFeed {
|
|
24
27
|
protected wssURL: string;
|
|
25
28
|
protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bybit.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/bybit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAA;AAErF,qBAAa,qBAAsB,SAAQ,+BAA+B;IACxE,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;IAoBtI,OAAO,CAAC,KAAK;CAgBd;AAED,uBAAe,qCAAsC,SAAQ,gBAAgB;IAC3E,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAE1C,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IAqBlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI/C,SAAS,CAAC,cAAc,aAEvB;IAED,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG;CAGtC;AAED,cAAM,2BAA4B,SAAQ,qCAAqC;IAC7E,SAAS,CAAC,MAAM,EAAE,MAAM,CAA4C;CACrE;AAED,cAAM,4BAA6B,SAAQ,qCAAqC;IAC9E,SAAS,CAAC,MAAM,EAAE,MAAM,CAA6C;CACtE;AAED,qBAAa,yBAA0B,SAAQ,qCAAqC;IAClF,SAAS,CAAC,MAAM,EAAE,MAAM,CAA0C;CACnE;AAED,qBAAa,4BAA6B,SAAQ,qCAAqC;IACrF,SAAS,CAAC,MAAM,EAAE,MAAM,CAA4C;IAEpE,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;CA2BnE"}
|
|
1
|
+
{"version":3,"file":"bybit.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/bybit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAA;AAErF,qBAAa,qBAAsB,SAAQ,+BAA+B;IACxE,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;IAoBtI,OAAO,CAAC,KAAK;CAgBd;AAED,uBAAe,qCAAsC,SAAQ,gBAAgB;IAC3E,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAE1C,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IAqBlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI/C,SAAS,CAAC,cAAc,aAEvB;IAED,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG;CAGtC;AAED,cAAM,2BAA4B,SAAQ,qCAAqC;IAC7E,SAAS,CAAC,MAAM,EAAE,MAAM,CAA4C;CACrE;AAED,cAAM,4BAA6B,SAAQ,qCAAqC;IAC9E,SAAS,CAAC,MAAM,EAAE,MAAM,CAA6C;CACtE;AAED,qBAAa,yBAA0B,SAAQ,qCAAqC;IAClF,SAAS,CAAC,MAAM,EAAE,MAAM,CAA0C;CACnE;AAED,qBAAa,2BAA4B,SAAQ,qCAAqC;IACpF,SAAS,CAAC,MAAM,EAAE,MAAM,CAA4C;CACrE;AAED,qBAAa,4BAA6B,SAAQ,qCAAqC;IACrF,SAAS,CAAC,MAAM,EAAE,MAAM,CAA4C;IAEpE,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;CA2BnE"}
|
|
@@ -65,6 +65,9 @@ class BybitInverseRealTimeDataFeed extends BybitSingleConnectionRealTimeDataFeed
|
|
|
65
65
|
export class BybitSpotRealTimeDataFeed extends BybitSingleConnectionRealTimeDataFeed {
|
|
66
66
|
wssURL = 'wss://stream.bybit.com/v5/public/spot';
|
|
67
67
|
}
|
|
68
|
+
export class BybitSpreadRealTimeDataFeed extends BybitSingleConnectionRealTimeDataFeed {
|
|
69
|
+
wssURL = 'wss://stream.bybit.com/v5/public/spread';
|
|
70
|
+
}
|
|
68
71
|
export class BybitOptionsRealTimeDataFeed extends BybitSingleConnectionRealTimeDataFeed {
|
|
69
72
|
wssURL = 'wss://stream.bybit.com/v5/public/option';
|
|
70
73
|
mapToSubscribeMessages(filters) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bybit.js","sourceRoot":"","sources":["../../src/realtimefeeds/bybit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bybit.js","sourceRoot":"","sources":["../../src/realtimefeeds/bybit.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,aAAa,CAAA;AA+B9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AA+B9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AA6BhD,cAAc,mBAAmB,CAAA;AAwEjC,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,oDAKjC"}
|
|
@@ -6,7 +6,7 @@ import { BitflyerRealTimeFeed } from "./bitflyer.js";
|
|
|
6
6
|
import { BithumbRealTimeFeed } from "./bithumb.js";
|
|
7
7
|
import { BitstampRealTimeFeed } from "./bitstamp.js";
|
|
8
8
|
import { BitvavoRealTimeFeed } from "./bitvavo.js";
|
|
9
|
-
import { BybitOptionsRealTimeDataFeed, BybitRealTimeDataFeed, BybitSpotRealTimeDataFeed } from "./bybit.js";
|
|
9
|
+
import { BybitOptionsRealTimeDataFeed, BybitRealTimeDataFeed, BybitSpotRealTimeDataFeed, BybitSpreadRealTimeDataFeed } from "./bybit.js";
|
|
10
10
|
import { CoinbaseRealTimeFeed } from "./coinbase.js";
|
|
11
11
|
import { CryptofacilitiesRealTimeFeed } from "./cryptofacilities.js";
|
|
12
12
|
import { DeribitRealTimeDataFeed } from "./deribit.js";
|
|
@@ -37,7 +37,6 @@ import { OkexSpreadsRealTimeFeed } from "./okexspreads.js";
|
|
|
37
37
|
import { KucoinFuturesRealTimeFeed } from "./kucoinfutures.js";
|
|
38
38
|
import { DydxV4RealTimeFeed } from "./dydx_v4.js";
|
|
39
39
|
import { BitgetFuturesRealTimeFeed, BitgetRealTimeFeed } from "./bitget.js";
|
|
40
|
-
import { CoinbaseInternationalRealTimeFeed } from "./coinbaseinternational.js";
|
|
41
40
|
import { HyperliquidRealTimeFeed } from "./hyperliquid.js";
|
|
42
41
|
import { LighterRealTimeFeed, LighterRhRealTimeFeed } from "./lighter.js";
|
|
43
42
|
import { BullishRealTimeFeed } from "./bullish.js";
|
|
@@ -93,6 +92,7 @@ const realTimeFeedsMap = {
|
|
|
93
92
|
mango: MangoRealTimeFeed,
|
|
94
93
|
'bybit-spot': BybitSpotRealTimeDataFeed,
|
|
95
94
|
'bybit-options': BybitOptionsRealTimeDataFeed,
|
|
95
|
+
'bybit-spread': BybitSpreadRealTimeDataFeed,
|
|
96
96
|
'crypto-com': CryptoComRealTimeFeed,
|
|
97
97
|
kucoin: KucoinRealTimeFeed,
|
|
98
98
|
bitnomial: BitnomialRealTimeFeed,
|
|
@@ -104,7 +104,6 @@ const realTimeFeedsMap = {
|
|
|
104
104
|
'dydx-v4': DydxV4RealTimeFeed,
|
|
105
105
|
bitget: BitgetRealTimeFeed,
|
|
106
106
|
'bitget-futures': BitgetFuturesRealTimeFeed,
|
|
107
|
-
'coinbase-international': CoinbaseInternationalRealTimeFeed,
|
|
108
107
|
hyperliquid: HyperliquidRealTimeFeed,
|
|
109
108
|
lighter: LighterRealTimeFeed,
|
|
110
109
|
'lighter-rh': LighterRhRealTimeFeed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realtimefeeds/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACxE,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realtimefeeds/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"okex.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/okex.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAErF,qBAAa,gBAAiB,SAAQ,+BAA+B;IACnE,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;CAavI;AAED,cAAM,sBAAuB,SAAQ,gBAAgB;IAEjD,SAAS,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EACzB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAKlC,OAAO,CAAC,eAAe,CAAwC;IAE/D,OAAO,CAAC,iBAAiB;cAIT,WAAW;IAqB3B,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IA+BlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI/C,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG;CAOtC;AAED,qBAAa,kBAAmB,SAAQ,sBAAsB;gBAChD,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;CAGjI;AAED,qBAAa,uBAAwB,SAAQ,+BAA+B;IAC1E,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;
|
|
1
|
+
{"version":3,"file":"okex.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/okex.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAErF,qBAAa,gBAAiB,SAAQ,+BAA+B;IACnE,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;CAavI;AAED,cAAM,sBAAuB,SAAQ,gBAAgB;IAEjD,SAAS,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EACzB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAKlC,OAAO,CAAC,eAAe,CAAwC;IAE/D,OAAO,CAAC,iBAAiB;cAIT,WAAW;IAqB3B,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IA+BlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI/C,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG;CAOtC;AAED,qBAAa,kBAAmB,SAAQ,sBAAsB;gBAChD,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;CAGjI;AAED,qBAAa,uBAAwB,SAAQ,+BAA+B;IAC1E,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;CAavI;AAED,cAAM,6BAA8B,SAAQ,sBAAsB;IAE9D,SAAS,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EACzB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI;IAKlC,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,uCAAuC,CAAmE;IAElH,OAAO,CAAC,8BAA8B;IAMtC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;CAoCnE"}
|
|
@@ -6,11 +6,11 @@ export class OkexRealTimeFeed extends MultiConnectionRealTimeFeedBase {
|
|
|
6
6
|
*_getRealTimeFeeds(exchange, filters, timeoutIntervalMS, onError) {
|
|
7
7
|
const nonBusinessFilters = filters.filter((f) => f.channel !== 'trades-all');
|
|
8
8
|
if (nonBusinessFilters.length > 0) {
|
|
9
|
-
yield new OkexSingleRealTimeFeed('wss://ws.okx.com
|
|
9
|
+
yield new OkexSingleRealTimeFeed('wss://ws.okx.com/ws/v5/public', exchange, nonBusinessFilters, timeoutIntervalMS, onError);
|
|
10
10
|
}
|
|
11
11
|
const businessFilters = filters.filter((f) => f.channel === 'trades-all');
|
|
12
12
|
if (businessFilters.length > 0) {
|
|
13
|
-
yield new OkexSingleRealTimeFeed('wss://ws.okx.com
|
|
13
|
+
yield new OkexSingleRealTimeFeed('wss://ws.okx.com/ws/v5/business', exchange, businessFilters, timeoutIntervalMS, onError);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -89,11 +89,11 @@ export class OkexOptionsRealTimeFeed extends MultiConnectionRealTimeFeedBase {
|
|
|
89
89
|
*_getRealTimeFeeds(exchange, filters, timeoutIntervalMS, onError) {
|
|
90
90
|
const nonBusinessFilters = filters.filter((f) => f.channel !== 'trades-all');
|
|
91
91
|
if (nonBusinessFilters.length > 0) {
|
|
92
|
-
yield new OkexOptionsSingleRealTimeFeed('wss://ws.okx.com
|
|
92
|
+
yield new OkexOptionsSingleRealTimeFeed('wss://ws.okx.com/ws/v5/public', exchange, nonBusinessFilters, timeoutIntervalMS, onError);
|
|
93
93
|
}
|
|
94
94
|
const businessFilters = filters.filter((f) => f.channel === 'trades-all');
|
|
95
95
|
if (businessFilters.length > 0) {
|
|
96
|
-
yield new OkexOptionsSingleRealTimeFeed('wss://ws.okx.com
|
|
96
|
+
yield new OkexOptionsSingleRealTimeFeed('wss://ws.okx.com/ws/v5/business', exchange, businessFilters, timeoutIntervalMS, onError);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"okex.js","sourceRoot":"","sources":["../../src/realtimefeeds/okex.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAE9F,OAAO,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAErF,MAAM,OAAO,gBAAiB,SAAQ,+BAA+B;IACzD,CAAC,iBAAiB,CAAC,QAAgB,EAAE,OAAyB,EAAE,iBAA0B,EAAE,OAAgC;QACpI,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,CAAA;QAE5E,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"okex.js","sourceRoot":"","sources":["../../src/realtimefeeds/okex.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAE9F,OAAO,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAErF,MAAM,OAAO,gBAAiB,SAAQ,+BAA+B;IACzD,CAAC,iBAAiB,CAAC,QAAgB,EAAE,OAAyB,EAAE,iBAA0B,EAAE,OAAgC;QACpI,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,CAAA;QAE5E,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,sBAAsB,CAAC,+BAA+B,EAAE,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QAC7H,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,CAAA;QAEzE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,sBAAsB,CAAC,iCAAiC,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QAC5H,CAAC;IACH,CAAC;CACF;AAED,MAAM,sBAAuB,SAAQ,gBAAgB;IAEvC;IADZ,YACY,MAAc,EACxB,QAAgB,EAChB,OAAyB,EACzB,iBAAqC,EACrC,OAAgC;QAEhC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QAN1C,WAAM,GAAN,MAAM,CAAQ;IAO1B,CAAC;IAEO,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAA;IAEvD,iBAAiB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IACtC,CAAC;IAES,KAAK,CAAC,WAAW;QACzB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,CAAA;YACrD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAmB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,uBAAuB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAEtI,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE,EAAE,OAAO;gBACX,IAAI,EAAE;oBACJ;wBACE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;wBAC/B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;wBAC1C,SAAS;wBACT,IAAI;qBACL;iBACF;aACF,CAAC,CAAA;YAEF,MAAM,IAAI,CAAC,EAAE,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAES,sBAAsB,CAAC,OAAyB;QACxD,MAAM,IAAI,GAAG,OAAO;aACjB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC;aAC1C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,mFAAmF,CAAC,CAAA;YACvH,CAAC;YAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,IAAI,MAAM,CAAC,OAAO,KAAK,oBAAoB,EAAE,CAAC;oBAC5C,OAAO;wBACL,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;qBACvD,CAAA;gBACH,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM;iBACf,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAEpB,OAAO;YACL;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;aACzB;SACF,CAAA;IACH,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,OAAO,OAAO,CAAC,KAAK,KAAK,OAAO,CAAA;IAClC,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,sBAAsB;IAC5D,YAAY,QAAgB,EAAE,OAAyB,EAAE,iBAAqC,EAAE,OAAgC;QAC9H,KAAK,CAAC,yCAAyC,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;IACjG,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,+BAA+B;IAChE,CAAC,iBAAiB,CAAC,QAAgB,EAAE,OAAyB,EAAE,iBAA0B,EAAE,OAAgC;QACpI,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,CAAA;QAE5E,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,6BAA6B,CAAC,+BAA+B,EAAE,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QACpI,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,CAAA;QAEzE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,6BAA6B,CAAC,iCAAiC,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QACnI,CAAC;IACH,CAAC;CACF;AAED,MAAM,6BAA8B,SAAQ,sBAAsB;IAEpD;IADZ,YACY,MAAc,EACxB,QAAgB,EAChB,OAAyB,EACzB,iBAAqC,EACrC,OAAgC;QAEhC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;QANlD,WAAM,GAAN,MAAM,CAAQ;IAO1B,CAAC;IAEO,eAAe,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IACnD,uCAAuC,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;IAE1G,8BAA8B,CAAC,OAAe;QACpD,IAAI,OAAO,KAAK,eAAe,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACS,sBAAsB,CAAC,OAAyB;QACxD,MAAM,IAAI,GAAG,OAAO;aACjB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;YAClC,MAAM,6BAA6B,GAAG,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAEzF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,6BAA6B,EAAE,CAAC;gBAC1D,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAA;YAClH,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,mFAAmF,CAAC,CAAA;YACvH,CAAC;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC5B,IAAI,WAAW,GAAG,MAAM,CAAA;gBACxB,IAAI,6BAA6B,EAAE,CAAC;oBAClC,WAAW,GAAG,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAA;gBAC9H,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;oBAClE,UAAU,EAAE,MAAM,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;iBACvE,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAEhI,OAAO;YACL;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,UAAU;aACjB;SACF,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"okexspreads.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/okexspreads.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,SAAS,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"okexspreads.d.ts","sourceRoot":"","sources":["../../src/realtimefeeds/okexspreads.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,SAAS,CAAC,MAAM,SAAoC;IAEpD,OAAO,CAAC,eAAe,CAAwC;IAE/D,OAAO,CAAC,iBAAiB;cAIT,WAAW;IAqB3B,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE;IAyBlE,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;CAGhD"}
|
|
@@ -2,7 +2,7 @@ import crypto from 'crypto';
|
|
|
2
2
|
import { wait } from "../handy.js";
|
|
3
3
|
import { RealTimeFeedBase } from "./realtimefeed.js";
|
|
4
4
|
export class OkexSpreadsRealTimeFeed extends RealTimeFeedBase {
|
|
5
|
-
wssURL = 'wss://ws.okx.com
|
|
5
|
+
wssURL = 'wss://ws.okx.com/ws/v5/business';
|
|
6
6
|
_hasCredentials = process.env.OKX_API_KEY !== undefined;
|
|
7
7
|
secondsSinceEpoch() {
|
|
8
8
|
return Math.floor(Date.now() / 1000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"okexspreads.js","sourceRoot":"","sources":["../../src/realtimefeeds/okexspreads.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,OAAO,uBAAwB,SAAQ,gBAAgB;IACjD,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"okexspreads.js","sourceRoot":"","sources":["../../src/realtimefeeds/okexspreads.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,OAAO,uBAAwB,SAAQ,gBAAgB;IACjD,MAAM,GAAG,iCAAiC,CAAA;IAE5C,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAA;IAEvD,iBAAiB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IACtC,CAAC;IAES,KAAK,CAAC,WAAW;QACzB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,CAAA;YACrD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAmB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,uBAAuB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAEtI,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE,EAAE,OAAO;gBACX,IAAI,EAAE;oBACJ;wBACE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;wBAC/B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;wBAC1C,SAAS;wBACT,IAAI;qBACL;iBACF;aACF,CAAC,CAAA;YAEF,MAAM,IAAI,CAAC,EAAE,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAES,sBAAsB,CAAC,OAAyB;QACxD,MAAM,IAAI,GAAG,OAAO;aAEjB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,mFAAmF,CAAC,CAAA;YACvH,CAAC;YAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM;iBACf,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAEpB,OAAO;YACL;gBACE,EAAE,EAAE,WAAW;gBACf,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;aACzB;SACF,CAAA;IACH,CAAC;IAES,cAAc,CAAC,OAAY;QACnC,OAAO,OAAO,CAAC,KAAK,KAAK,OAAO,CAAA;IAClC,CAAC;CACF"}
|
|
@@ -31,6 +31,7 @@ export const EXCHANGES = [
|
|
|
31
31
|
'bybit',
|
|
32
32
|
'bybit-spot',
|
|
33
33
|
'bybit-options',
|
|
34
|
+
'bybit-spread',
|
|
34
35
|
'phemex',
|
|
35
36
|
'delta',
|
|
36
37
|
'ftx-us',
|
|
@@ -68,7 +69,18 @@ export const EXCHANGES = [
|
|
|
68
69
|
'polymarket'
|
|
69
70
|
] as const
|
|
70
71
|
|
|
71
|
-
const BINANCE_CHANNELS = [
|
|
72
|
+
const BINANCE_CHANNELS = [
|
|
73
|
+
'trade',
|
|
74
|
+
'aggTrade',
|
|
75
|
+
'ticker',
|
|
76
|
+
'depth',
|
|
77
|
+
'depthSnapshot',
|
|
78
|
+
'bookTicker',
|
|
79
|
+
'recentTrades',
|
|
80
|
+
'borrowInterest',
|
|
81
|
+
'tokenNav'
|
|
82
|
+
] as const
|
|
83
|
+
const BINANCE_US_CHANNELS = ['trade', 'aggTrade', 'ticker', 'depth', 'depthSnapshot', 'bookTicker', 'recentTrades'] as const
|
|
72
84
|
|
|
73
85
|
const ASTER_CHANNELS = ['trade', 'aggTrade', 'ticker', 'depth', 'depthSnapshot', 'bookTicker'] as const
|
|
74
86
|
const ASTER_FUTURES_CHANNELS = [
|
|
@@ -111,7 +123,7 @@ const BITMEX_CHANNELS = [
|
|
|
111
123
|
'tradeBin1d'
|
|
112
124
|
] as const
|
|
113
125
|
|
|
114
|
-
const BITSTAMP_CHANNELS = ['live_trades', 'live_orders', 'diff_order_book'] as const
|
|
126
|
+
const BITSTAMP_CHANNELS = ['live_trades', 'live_orders', 'diff_order_book', 'funding_rate', 'ticker'] as const
|
|
115
127
|
const BITVAVO_CHANNELS = ['book', 'getBook', 'trade', 'ticker'] as const
|
|
116
128
|
|
|
117
129
|
const BITHUMB_CHANNELS = ['trade', 'orderbook', 'ticker'] as const
|
|
@@ -504,7 +516,21 @@ const MANGO_CHANNELS = [
|
|
|
504
516
|
|
|
505
517
|
const HUOBI_DM_OPTIONS_CHANNELS = ['trade', 'detail', 'depth', 'bbo', 'open_interest', 'option_market_index', 'option_index'] as const
|
|
506
518
|
|
|
507
|
-
const
|
|
519
|
+
const BYBIT_SPREAD_CHANNELS = ['orderbook.25', 'publicTrade', 'tickers']
|
|
520
|
+
|
|
521
|
+
const BYBIT_SPOT_CHANNELS = [
|
|
522
|
+
'trade',
|
|
523
|
+
'bookTicker',
|
|
524
|
+
'depth',
|
|
525
|
+
'orderbook.1',
|
|
526
|
+
'orderbook.50',
|
|
527
|
+
'orderbook.200',
|
|
528
|
+
'orderbook.full',
|
|
529
|
+
'orderbook.rpi',
|
|
530
|
+
'publicTrade',
|
|
531
|
+
'tickers',
|
|
532
|
+
'lt'
|
|
533
|
+
]
|
|
508
534
|
|
|
509
535
|
const CRYPTO_COM_CHANNELS = ['trade', 'book', 'ticker', 'settlement', 'index', 'mark', 'funding', 'estimatedfunding']
|
|
510
536
|
|
|
@@ -599,9 +625,9 @@ export const EXCHANGE_CHANNELS_INFO = {
|
|
|
599
625
|
'okex-futures': OKEX_FUTURES_CHANNELS,
|
|
600
626
|
'okex-options': OKEX_OPTIONS_CHANNELS,
|
|
601
627
|
binance: BINANCE_CHANNELS,
|
|
602
|
-
'binance-jersey':
|
|
628
|
+
'binance-jersey': BINANCE_US_CHANNELS,
|
|
603
629
|
'binance-dex': BINANCE_DEX_CHANNELS,
|
|
604
|
-
'binance-us':
|
|
630
|
+
'binance-us': BINANCE_US_CHANNELS,
|
|
605
631
|
bitfinex: BITFINEX_CHANNELS,
|
|
606
632
|
ftx: FTX_CHANNELS,
|
|
607
633
|
'ftx-us': FTX_US_CHANNELS,
|
|
@@ -615,6 +641,7 @@ export const EXCHANGE_CHANNELS_INFO = {
|
|
|
615
641
|
'huobi-dm-swap': HUOBI_DM_SWAP_CHANNELS,
|
|
616
642
|
'huobi-dm-linear-swap': HUOBI_DM_LINEAR_SWAP_CHANNELS,
|
|
617
643
|
bybit: BYBIT_CHANNELS,
|
|
644
|
+
'bybit-spread': BYBIT_SPREAD_CHANNELS,
|
|
618
645
|
'bybit-spot': BYBIT_SPOT_CHANNELS,
|
|
619
646
|
'bybit-options': BYBIT_OPTIONS_CHANNELS,
|
|
620
647
|
okcoin: OKCOIN_CHANNELS,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { lowerCaseSymbols } from '../handy.ts'
|
|
2
|
-
import { BookChange, Trade } from '../types.ts'
|
|
3
|
-
import { Mapper } from './mapper.ts'
|
|
2
|
+
import { BookChange, DerivativeTicker, Trade } from '../types.ts'
|
|
3
|
+
import { Mapper, PendingTickerInfoHelper } from './mapper.ts'
|
|
4
4
|
import { exchangeMappers } from './registry.ts'
|
|
5
5
|
|
|
6
6
|
// https://www.bitstamp.net/websocket/v2/
|
|
@@ -8,12 +8,13 @@ import { exchangeMappers } from './registry.ts'
|
|
|
8
8
|
export const bitstampMappers = exchangeMappers({
|
|
9
9
|
bitstamp: {
|
|
10
10
|
trades: () => bitstampTradesMapper,
|
|
11
|
-
bookChanges: () => new BitstampBookChangeMapper()
|
|
11
|
+
bookChanges: () => new BitstampBookChangeMapper(),
|
|
12
|
+
derivativeTickers: () => new BitstampDerivativeTickerMapper()
|
|
12
13
|
}
|
|
13
14
|
})
|
|
14
15
|
|
|
15
16
|
const bitstampTradesMapper: Mapper<'bitstamp', Trade> = {
|
|
16
|
-
canHandle(message:
|
|
17
|
+
canHandle(message: BitstampMessage) {
|
|
17
18
|
if (message.data === undefined) {
|
|
18
19
|
return false
|
|
19
20
|
}
|
|
@@ -43,7 +44,7 @@ const bitstampTradesMapper: Mapper<'bitstamp', Trade> = {
|
|
|
43
44
|
type: 'trade',
|
|
44
45
|
symbol: symbol.toUpperCase(),
|
|
45
46
|
exchange: 'bitstamp',
|
|
46
|
-
id: String(bitstampTrade.id),
|
|
47
|
+
id: bitstampTrade.id_str ?? String(bitstampTrade.id),
|
|
47
48
|
price: Number(bitstampTrade.price),
|
|
48
49
|
amount: Number(bitstampTrade.amount),
|
|
49
50
|
side: bitstampTrade.type === 0 ? 'buy' : 'sell',
|
|
@@ -53,10 +54,60 @@ const bitstampTradesMapper: Mapper<'bitstamp', Trade> = {
|
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
|
|
57
|
+
class BitstampDerivativeTickerMapper implements Mapper<'bitstamp', DerivativeTicker> {
|
|
58
|
+
private readonly _pendingTickerInfoHelper = new PendingTickerInfoHelper()
|
|
59
|
+
|
|
60
|
+
canHandle(message: BitstampMessage) {
|
|
61
|
+
if (message.data === undefined) {
|
|
62
|
+
return false
|
|
63
|
+
}
|
|
64
|
+
if (message.event === 'funding_rate_saved') {
|
|
65
|
+
return message.channel.startsWith('funding_rate_')
|
|
66
|
+
}
|
|
67
|
+
if (message.event === 'ticker') {
|
|
68
|
+
return message.channel.startsWith('ticker_') && message.channel.endsWith('-perp')
|
|
69
|
+
}
|
|
70
|
+
return message.event === 'trade' && message.channel.startsWith('live_trades_') && message.channel.endsWith('-perp')
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
getFilters(symbols?: string[]) {
|
|
74
|
+
symbols = lowerCaseSymbols(symbols)
|
|
75
|
+
return [
|
|
76
|
+
{ channel: 'funding_rate', symbols } as const,
|
|
77
|
+
{ channel: 'live_trades', symbols } as const,
|
|
78
|
+
{ channel: 'ticker', symbols } as const
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
*map(message: BitstampTrade | BitstampFundingRate | BitstampTicker, localTimestamp: Date): IterableIterator<DerivativeTicker> {
|
|
83
|
+
const symbol = message.channel.slice(message.channel.lastIndexOf('_') + 1).toUpperCase()
|
|
84
|
+
const ticker = this._pendingTickerInfoHelper.getPendingTickerInfo(symbol, 'bitstamp')
|
|
85
|
+
if (message.event === 'trade') {
|
|
86
|
+
// Funding messages own emission and timestamps; trades only update lastPrice.
|
|
87
|
+
ticker.updateLastPrice(Number(message.data.price))
|
|
88
|
+
return
|
|
89
|
+
}
|
|
90
|
+
if (message.event === 'ticker') {
|
|
91
|
+
// Recorder-generated REST ticker, polled every 6 seconds; it only adds open interest to the funding-driven ticker.
|
|
92
|
+
ticker.updateOpenInterest(Number(message.data.open_interest))
|
|
93
|
+
return
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
ticker.updateFundingRate(Number(message.data.funding_rate))
|
|
97
|
+
ticker.updateFundingTimestamp(new Date(Number(message.data.next_funding_time) * 1000))
|
|
98
|
+
ticker.updateMarkPrice(Number(message.data.mark_price))
|
|
99
|
+
ticker.updateIndexPrice(Number(message.data.index_price))
|
|
100
|
+
ticker.updateTimestamp(new Date(Number(message.data.timestamp) * 1000))
|
|
101
|
+
if (ticker.hasChanged()) {
|
|
102
|
+
yield ticker.getSnapshot(localTimestamp)
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
56
107
|
class BitstampBookChangeMapper implements Mapper<'bitstamp', BookChange> {
|
|
57
108
|
private readonly _symbolToDepthInfoMapping: { [key: string]: LocalDepthInfo } = {}
|
|
58
109
|
|
|
59
|
-
canHandle(message:
|
|
110
|
+
canHandle(message: BitstampMessage) {
|
|
60
111
|
if (message.data === undefined) {
|
|
61
112
|
return false
|
|
62
113
|
}
|
|
@@ -176,44 +227,67 @@ class BitstampBookChangeMapper implements Mapper<'bitstamp', BookChange> {
|
|
|
176
227
|
}
|
|
177
228
|
}
|
|
178
229
|
|
|
179
|
-
type
|
|
180
|
-
event:
|
|
230
|
+
type BitstampMessage<Event extends string = string, Data = unknown> = {
|
|
231
|
+
event: Event
|
|
181
232
|
channel: string
|
|
182
|
-
data:
|
|
233
|
+
data: Data
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
type BitstampTrade = BitstampMessage<
|
|
237
|
+
'trade',
|
|
238
|
+
{
|
|
183
239
|
microtimestamp: string
|
|
184
240
|
amount: number
|
|
185
241
|
price: number
|
|
186
242
|
type: number
|
|
187
243
|
id: number
|
|
244
|
+
id_str?: string
|
|
245
|
+
}
|
|
246
|
+
>
|
|
247
|
+
type BitstampTicker = BitstampMessage<
|
|
248
|
+
'ticker',
|
|
249
|
+
{
|
|
250
|
+
market: string
|
|
251
|
+
open_interest: string
|
|
252
|
+
}
|
|
253
|
+
>
|
|
254
|
+
type BitstampFundingRate = BitstampMessage<
|
|
255
|
+
'funding_rate_saved',
|
|
256
|
+
{
|
|
257
|
+
market: string
|
|
258
|
+
funding_rate: string
|
|
259
|
+
mark_price: string
|
|
260
|
+
index_price: string
|
|
261
|
+
timestamp: string
|
|
262
|
+
next_funding_time: string
|
|
188
263
|
}
|
|
264
|
+
>
|
|
265
|
+
|
|
266
|
+
type LocalDepthInfo = {
|
|
267
|
+
bufferedUpdates: BitstampDiffOrderBook[]
|
|
268
|
+
snapshotProcessed?: boolean
|
|
269
|
+
lastUpdateTimestamp?: number
|
|
270
|
+
lastUpdateMicroTimestamp?: number
|
|
189
271
|
}
|
|
190
|
-
type BitstampBookLevel = [string, string]
|
|
191
272
|
|
|
192
|
-
type BitstampDiffOrderBook =
|
|
193
|
-
data
|
|
194
|
-
|
|
273
|
+
type BitstampDiffOrderBook = BitstampMessage<
|
|
274
|
+
'data',
|
|
275
|
+
{
|
|
195
276
|
timestamp: string
|
|
277
|
+
microtimestamp: string
|
|
196
278
|
bids: BitstampBookLevel[]
|
|
197
279
|
asks: BitstampBookLevel[]
|
|
198
280
|
}
|
|
199
|
-
|
|
200
|
-
channel: string
|
|
201
|
-
}
|
|
281
|
+
>
|
|
202
282
|
|
|
203
|
-
type BitstampDiffOrderBookSnapshot =
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
data: {
|
|
283
|
+
type BitstampDiffOrderBookSnapshot = BitstampMessage<
|
|
284
|
+
'snapshot',
|
|
285
|
+
{
|
|
207
286
|
timestamp: string
|
|
208
287
|
microtimestamp?: string
|
|
209
288
|
bids: BitstampBookLevel[]
|
|
210
289
|
asks: BitstampBookLevel[]
|
|
211
290
|
}
|
|
212
|
-
|
|
291
|
+
>
|
|
213
292
|
|
|
214
|
-
type
|
|
215
|
-
bufferedUpdates: BitstampDiffOrderBook[]
|
|
216
|
-
snapshotProcessed?: boolean
|
|
217
|
-
lastUpdateTimestamp?: number
|
|
218
|
-
lastUpdateMicroTimestamp?: number
|
|
219
|
-
}
|
|
293
|
+
type BitstampBookLevel = [string, string]
|
|
@@ -46,12 +46,16 @@ export const bybitMappers = exchangeMappers({
|
|
|
46
46
|
trades: () => new BybitV5TradesMapper('bybit-options'),
|
|
47
47
|
bookChanges: () => new BybitV5BookChangeMapper('bybit-options', { depth: 25 }),
|
|
48
48
|
optionsSummary: () => new BybitV5OptionSummaryMapper()
|
|
49
|
+
},
|
|
50
|
+
'bybit-spread': {
|
|
51
|
+
trades: () => new BybitV5TradesMapper('bybit-spread'),
|
|
52
|
+
bookChanges: () => new BybitV5BookChangeMapper('bybit-spread', { depth: 25 })
|
|
49
53
|
}
|
|
50
54
|
})
|
|
51
55
|
|
|
52
56
|
// v5 https://bybit-exchange.github.io/docs/v5/ws/connect
|
|
53
57
|
|
|
54
|
-
class BybitV5TradesMapper implements Mapper<'bybit' | 'bybit-spot' | 'bybit-options', Trade> {
|
|
58
|
+
class BybitV5TradesMapper implements Mapper<'bybit' | 'bybit-spot' | 'bybit-options' | 'bybit-spread', Trade> {
|
|
55
59
|
constructor(private readonly _exchange: Exchange) {}
|
|
56
60
|
|
|
57
61
|
canHandle(message: BybitV5Trade) {
|
|
@@ -90,7 +94,7 @@ class BybitV5TradesMapper implements Mapper<'bybit' | 'bybit-spot' | 'bybit-opti
|
|
|
90
94
|
}
|
|
91
95
|
}
|
|
92
96
|
|
|
93
|
-
class BybitV5BookChangeMapper implements Mapper<'bybit' | 'bybit-spot' | 'bybit-options', BookChange> {
|
|
97
|
+
class BybitV5BookChangeMapper implements Mapper<'bybit' | 'bybit-spot' | 'bybit-options' | 'bybit-spread', BookChange> {
|
|
94
98
|
private readonly _depth: number
|
|
95
99
|
|
|
96
100
|
constructor(
|