tardis-dev
Version:
Convenient access to tick-level historical and real-time cryptocurrency market data via Node.js
211 lines • 7.2 kB
TypeScript
import { CircularBuffer } from '../handy';
import { BookChange, BookTicker, DerivativeTicker, Trade } from '../types';
import { Mapper } from './mapper';
export declare class KucoinFuturesTradesMapper implements Mapper<'kucoin-futures', Trade> {
canHandle(message: KucoinFuturesTradeMessage): boolean;
getFilters(symbols?: string[]): {
readonly channel: "contractMarket/execution";
readonly symbols: string[] | undefined;
}[];
map(message: KucoinFuturesTradeMessage, localTimestamp: Date): IterableIterator<Trade>;
}
export declare class KucoinFuturesBookChangeMapper implements Mapper<'kucoin-futures', BookChange> {
private readonly ignoreBookSnapshotOverlapError;
protected readonly symbolToDepthInfoMapping: {
[key: string]: LocalDepthInfo;
};
constructor(ignoreBookSnapshotOverlapError: boolean);
canHandle(message: KucoinFuturesLevel2SnapshotMessage | KucoinFuturesLevel2UpdateMessage): boolean;
getFilters(symbols?: string[]): ({
readonly channel: "contractMarket/level2";
readonly symbols: string[] | undefined;
} | {
readonly channel: "contractMarket/level2Snapshot";
readonly symbols: string[] | undefined;
})[];
map(message: KucoinFuturesLevel2SnapshotMessage | KucoinFuturesLevel2UpdateMessage, localTimestamp: Date): Generator<BookChange, void, unknown>;
protected mapBookDepthUpdate(l2UpdateMessage: KucoinFuturesLevel2UpdateMessage, localTimestamp: Date): BookChange | undefined;
private mapBookLevel;
private mapChange;
}
export declare class KucoinFuturesBookTickerMapper implements Mapper<'kucoin-futures', BookTicker> {
canHandle(message: KucoinFuturesTickerMessage): boolean;
getFilters(symbols?: string[]): {
readonly channel: "contractMarket/tickerV2";
readonly symbols: string[] | undefined;
}[];
map(message: KucoinFuturesTickerMessage, localTimestamp: Date): Generator<BookTicker, void, unknown>;
}
export declare class KucoinFuturesDerivativeTickerMapper implements Mapper<'kucoin-futures', DerivativeTicker> {
private readonly pendingTickerInfoHelper;
private readonly _lastPrices;
private readonly _openInterests;
canHandle(message: KucoinFuturesTickerMessage): boolean;
getFilters(symbols?: string[]): ({
readonly channel: "contract/instrument";
readonly symbols: string[] | undefined;
} | {
readonly channel: "contractMarket/execution";
readonly symbols: string[] | undefined;
} | {
readonly channel: "contract/details";
readonly symbols: string[] | undefined;
})[];
map(message: KucoinFuturesInstrumentMessage | KucoinFuturesTradeMessage, localTimestamp: Date): IterableIterator<DerivativeTicker>;
}
type KucoinFuturesTradeMessage = {
topic: '/contractMarket/execution:COMPUSDTM';
type: 'message';
subject: 'match';
sn: 1694749771273;
data: {
symbol: 'COMPUSDTM';
sequence: 1694749771273;
makerUserId: '64b1a612d570b900017b7281';
side: 'buy' | 'sell';
size: 102;
price: '57.75';
takerOrderId: '137974138051522560';
takerUserId: '61945720862a310001d6581e';
makerOrderId: '137974082376310784';
tradeId: '1694749771273';
ts: 1705708799996000000;
};
};
type LocalDepthInfo = {
bufferedUpdates: CircularBuffer<KucoinFuturesLevel2UpdateMessage>;
snapshotProcessed?: boolean;
lastUpdateId?: number;
validatedFirstUpdate?: boolean;
};
type KucoinFuturesLevel2SnapshotMessage = {
type: 'message';
generated: true;
topic: '/contractMarket/level2Snapshot:C98USDTM';
subject: 'level2Snapshot';
code: '200000';
data: {
sequence: 1694868048360;
symbol: 'C98USDTM';
bids: [number, number][];
asks: [number, number][];
ts: 1705881597161000000;
};
};
type KucoinFuturesLevel2UpdateMessage = {
topic: '/contractMarket/level2:C98USDTM';
type: 'message';
subject: 'level2';
sn: 1694868048361;
data: {
sequence: 1694868048361;
change: '0.2353,buy,146';
timestamp: 1705881600096;
};
};
type KucoinFuturesTickerMessage = {
topic: '/contractMarket/tickerV2:BCHUSDTM';
type: 'message';
subject: 'tickerV2';
sn: 1695158749093;
data: {
symbol: 'BCHUSDTM';
sequence: 1695158749093;
bestBidSize: 480;
bestBidPrice: '236.76';
bestAskPrice: '236.77';
bestAskSize: 126;
ts: 1705708800078000000;
};
};
type KucoinFuturesInstrumentMessage = {
topic: '/contract/instrument:ENSUSDTM';
type: 'message';
subject: 'funding.rate';
data: {
granularity: 60000;
fundingRate: 0.000053;
timestamp: 1705708800000;
};
} | {
topic: '/contract/instrument:XAIUSDTM';
type: 'message';
subject: 'mark.index.price';
data: {
markPrice: 0.80694;
indexPrice: 0.80695;
granularity: 1000;
timestamp: 1705881600000;
};
} | {
topic: '/contract/instrument:BAKEUSDTM';
type: 'message';
subject: 'funding.rate';
data: {
granularity: 28800000;
fundingRate: 0.000105;
timestamp: 1705982400000;
};
} | {
topic: '/contract/details:XBTUSDTM';
type: 'message';
subject: 'contractDetails';
generated: true;
data: {
symbol: 'XBTUSDTM';
rootSymbol: 'USDT';
type: 'FFWCSX';
firstOpenDate: 1585555200000;
baseCurrency: 'XBT';
quoteCurrency: 'USDT';
settleCurrency: 'USDT';
maxOrderQty: 1000000;
maxPrice: 1000000.0;
lotSize: 1;
tickSize: 0.1;
indexPriceTickSize: 0.01;
multiplier: 0.001;
initialMargin: 0.008;
maintainMargin: 0.004;
maxRiskLimit: 25000;
minRiskLimit: 25000;
riskStep: 12500;
makerFeeRate: 2.0e-4;
takerFeeRate: 6.0e-4;
takerFixFee: 0.0;
makerFixFee: 0.0;
isDeleverage: true;
isQuanto: true;
isInverse: false;
markMethod: 'FairPrice';
fairMethod: 'FundingRate';
fundingBaseSymbol: '.XBTINT8H';
fundingQuoteSymbol: '.USDTINT8H';
fundingRateSymbol: '.XBTUSDTMFPI8H';
indexSymbol: '.KXBTUSDT';
settlementSymbol: '';
status: 'Open';
fundingFeeRate: 3.8e-5;
predictedFundingFeeRate: 9.6e-5;
fundingRateGranularity: 28800000;
openInterest: '9295921';
turnoverOf24h: 5.94135187191124e8;
volumeOf24h: 15131.243;
markPrice: 39995.94;
indexPrice: 39999.2;
lastTradePrice: 39996.6;
nextFundingRateTime: 10561278;
maxLeverage: 125;
sourceExchanges: ['okex', 'binance', 'kucoin', 'bybit', 'bitget', 'bitmart', 'gateio'];
premiumsSymbol1M: '.XBTUSDTMPI';
premiumsSymbol8H: '.XBTUSDTMPI8H';
fundingBaseSymbol1M: '.XBTINT';
fundingQuoteSymbol1M: '.USDTINT';
lowPrice: 38560.0;
highPrice: 40253.0;
priceChgPct: 0.0132;
priceChg: 523.4;
};
};
export {};
//# sourceMappingURL=kucoinfutures.d.ts.map