tardis-dev
Version:
Convenient access to tick-level historical and real-time cryptocurrency market data via Node.js
159 lines • 5.27 kB
TypeScript
import { BookChange, BookTicker, DerivativeTicker, Liquidation, Trade } from '../types.ts';
import { Mapper } from './mapper.ts';
export declare class LighterTradesMapper implements Mapper<'lighter', Trade> {
canHandle(message: LighterTradeMessage): boolean;
getFilters(symbols?: string[]): {
channel: "trade";
symbols: string[] | undefined;
}[];
map(message: LighterTradeMessage, localTimestamp: Date): IterableIterator<Trade>;
}
export declare class LighterLiquidationMapper implements Mapper<'lighter', Liquidation> {
canHandle(message: LighterTradeMessage): boolean;
getFilters(symbols?: string[]): {
channel: "trade";
symbols: string[] | undefined;
}[];
map(message: LighterTradeMessage, localTimestamp: Date): IterableIterator<Liquidation>;
}
export declare class LighterBookChangeMapper implements Mapper<'lighter', BookChange> {
canHandle(message: LighterOrderBookMessage): boolean;
getFilters(symbols?: string[]): {
channel: "order_book";
symbols: string[] | undefined;
}[];
map(message: LighterOrderBookMessage, localTimestamp: Date): IterableIterator<BookChange>;
private mapLevel;
}
export declare class LighterBookTickerMapper implements Mapper<'lighter', BookTicker> {
canHandle(message: LighterTickerMessage): boolean;
getFilters(symbols?: string[]): {
channel: "ticker";
symbols: string[] | undefined;
}[];
map(message: LighterTickerMessage, localTimestamp: Date): IterableIterator<BookTicker>;
}
export declare class LighterDerivativeTickerMapper implements Mapper<'lighter', DerivativeTicker> {
private readonly pendingTickerInfoHelper;
canHandle(message: LighterMarketStatsMessage): boolean;
getFilters(_symbols?: string[]): {
channel: "market_stats";
symbols: never[];
}[];
map(message: LighterMarketStatsMessage, localTimestamp: Date): IterableIterator<DerivativeTicker>;
private iterateMarketStats;
}
type LighterLevel = {
price: string;
size: string;
};
type LighterOrderBook = {
asks: LighterLevel[];
bids: LighterLevel[];
code: number;
nonce: number;
begin_nonce: number;
offset: number;
last_updated_at: number;
};
type LighterOrderBookMessage = {
type: 'subscribed/order_book' | 'update/order_book';
channel: `order_book:${number}`;
last_updated_at: number;
offset: number;
timestamp: number;
order_book: LighterOrderBook;
};
type LighterTicker = {
s: string;
a?: Partial<LighterLevel>;
b?: Partial<LighterLevel>;
last_updated_at: number;
};
type LighterTickerMessage = {
type: 'subscribed/ticker' | 'update/ticker';
channel: `ticker:${number}`;
last_updated_at: number;
nonce: number;
ticker: LighterTicker;
timestamp: number;
};
type LighterTrade = {
trade_id: number;
trade_id_str: string;
tx_hash: string;
type: 'trade' | 'liquidation' | 'deleverage' | 'market-settlement';
market_id: number;
size: string;
price: string;
usd_amount: string;
ask_id: number;
ask_id_str: string;
bid_id: number;
bid_id_str: string;
ask_client_id: number;
ask_client_id_str: string;
bid_client_id: number;
bid_client_id_str: string;
ask_account_id: number;
bid_account_id: number;
is_maker_ask: boolean;
block_height: number;
timestamp: number;
taker_fee?: number;
taker_position_size_before?: string;
taker_entry_quote_before?: string;
taker_initial_margin_fraction_before?: number;
taker_position_sign_changed?: boolean;
taker_allocated_margin_usdc_before?: number;
maker_fee?: number;
maker_position_size_before?: string;
maker_entry_quote_before?: string;
maker_initial_margin_fraction_before?: number;
maker_position_sign_changed?: boolean;
transaction_time: number;
ask_account_pnl?: string;
bid_account_pnl?: string;
};
type LighterTradeMessage = {
type: 'subscribed/trade' | 'update/trade';
channel: `trade:${number}`;
nonce: number;
trades: LighterTrade[];
liquidation_trades?: LighterTrade[];
};
type LighterMarketStats = {
symbol: string;
market_id: number;
index_price: string;
mark_price: string;
mid_price: string;
open_interest: string;
open_interest_limit: string;
funding_clamp_small: string;
funding_clamp_big: string;
last_trade_price: string;
current_funding_rate: string;
funding_rate: string;
funding_timestamp: number;
daily_base_token_volume: number;
daily_quote_token_volume: number;
daily_price_low: number;
daily_price_high: number;
daily_price_change: number;
};
type LighterMarketStatsAllMessage = {
type: 'subscribed/market_stats' | 'update/market_stats';
channel: 'market_stats:all';
timestamp: number;
market_stats: Record<string, LighterMarketStats>;
};
type LighterMarketStatsMarketIdMessage = {
type: 'subscribed/market_stats' | 'update/market_stats';
channel: `market_stats:${number}`;
timestamp: number;
market_stats: LighterMarketStats;
};
type LighterMarketStatsMessage = LighterMarketStatsAllMessage | LighterMarketStatsMarketIdMessage;
export {};
//# sourceMappingURL=lighter.d.ts.map