UNPKG

binance

Version:

Professional Node.js & JavaScript SDK for Binance REST APIs & WebSockets, with TypeScript & end-to-end tests.

113 lines (112 loc) 7.83 kB
import { WsFormattedMessage, WsMessage24hrTickerFormatted, WsMessageAggTradeFormatted, WsMessageDiffBookDepthEventFormatted, WsMessageForceOrderFormatted, WsMessageFuturesUserDataAccountConfigUpdateEventFormatted, WsMessageFuturesUserDataAccountUpdateFormatted, WsMessageFuturesUserDataCondOrderTriggerRejectEventFormatted, WsMessageFuturesUserDataEventFormatted, WsMessageFuturesUserDataListenKeyExpiredFormatted, WsMessageFuturesUserDataMarginCallFormatted, WsMessageFuturesUserDataTradeUpdateEventFormatted, WsMessageKlineFormatted, WsMessageMarkPriceEventFormatted, WsMessagePartialBookDepthEventFormatted, WsMessageSpotBalanceUpdateFormatted, WsMessageSpotOutboundAccountPositionFormatted, WsMessageSpotUserDataEventFormatted, WsMessageSpotUserDataExecutionReportEventFormatted, WsMessageSpotUserDataListStatusEventFormatted, WsMessageTradeFormatted, WsUserDataEvents } from '../types/websockets/ws-events-formatted'; import { WsMessage24hrMiniTickerRaw, WsMessageFuturesUserDataAccountConfigUpdateEventRaw, WsMessageFuturesUserDataAccountUpdateRaw, WsMessageFuturesUserDataOrderTradeUpdateEventRaw, WsMessageKlineRaw, WsMessageRollingWindowTickerRaw, WsRawMessage } from '../types/websockets/ws-events-raw'; import { WSAPIWsKey, WsKey } from './websockets/websocket-util'; export declare function neverGuard(x: never, msg: string): Error; /** * Use type guards to narrow down types with minimal efforts. * * The file is organised by Typeguards starting with `WsFormattedMessage` typeguards in the first half * and `WsRawMessage` typeguards in the second half. * */ export declare function isWsSpotConnection(data: WsFormattedMessage): boolean; export declare function isWsFuturesConnection(data: WsFormattedMessage): boolean; export declare function isWSAPIWsKey(wsKey: WsKey): wsKey is WSAPIWsKey; /** * Typeguards for WsFormattedMessage event types: */ export declare function isWsFormattedMarkPriceUpdateEvent(data: WsFormattedMessage): data is WsMessageMarkPriceEventFormatted; export declare function isWsFormattedMarkPriceUpdateArray(data: WsFormattedMessage): data is WsMessageMarkPriceEventFormatted[]; /** @deprecated, use isWsFormattedMarkPriceUpdateEvent or isWsFormattedMarkPriceUpdateArray */ export declare function isWsFormattedMarkPriceUpdate(data: WsFormattedMessage): data is WsMessageMarkPriceEventFormatted[]; export declare function isWsFormattedTrade(data: WsFormattedMessage): data is WsMessageTradeFormatted; export declare function isWsFormattedKline(data: WsFormattedMessage): data is WsMessageKlineFormatted; export declare function isWsFormatted24hrTicker(data: WsFormattedMessage): data is WsMessage24hrTickerFormatted; export declare function isWsFormattedForceOrder(data: WsFormattedMessage): data is WsMessageForceOrderFormatted; /** * !ticker@arr * * @deprecated The '!ticker@arr' stream has been deprecated by Binance (2025-11-14). * Use '<symbol>@ticker' for single symbol or '!miniTicker@arr' for all symbols instead. * * @param data * @returns */ export declare function isWsFormatted24hrTickerArray(data: WsFormattedMessage): data is WsMessage24hrTickerFormatted[]; /** * !ticker_1h@arr * * @param data * @returns */ export declare function isWsFormattedRollingWindowTickerArray(data: WsFormattedMessage): data is WsMessage24hrTickerFormatted[]; /** * Typeguard to validate a 'Compressed/Aggregate' trade */ export declare function isWsAggTradeFormatted(data: WsFormattedMessage): data is WsMessageAggTradeFormatted; /** * <symbol>@depth<levels> OR <symbol>@depth<levels>@100ms * @param data * @returns */ export declare function isWsPartialBookDepthEventFormatted(data: WsFormattedMessage): data is WsMessagePartialBookDepthEventFormatted; /** * https://developers.binance.com/docs/derivatives/usds-margined-futures/websocket-market-streams/Diff-Book-Depth-Streams * <symbol>@depth OR <symbol>@depth@500ms OR <symbol>@depth@100ms */ export declare function isWsDiffBookDepthEventFormatted(data: WsFormattedMessage): data is WsMessageDiffBookDepthEventFormatted; /** * Works for both the listen key & WS API user data stream workflows. * * - For the listen key workflow, uses the wsKey to identify the connection dedicated * to the user data stream. * - For the WS API user data stream, uses the eventType to identify user data events * from a known list (`EVENT_TYPES_USER_DATA`). */ export declare function isWsFormattedUserDataEvent(data: WsFormattedMessage): data is WsUserDataEvents; export declare function isWsFormattedSpotUserDataEvent(data: WsFormattedMessage): data is WsMessageSpotUserDataEventFormatted; export declare function isWsFormattedFuturesUserDataEvent(data: WsFormattedMessage): data is WsMessageFuturesUserDataEventFormatted; export declare function isWsFormattedSpotUserDataExecutionReport(data: WsFormattedMessage): data is WsMessageSpotUserDataExecutionReportEventFormatted; export declare function isWsFormattedSpotOutboundAccountPosition(data: WsFormattedMessage): data is WsMessageSpotOutboundAccountPositionFormatted; export declare function isWsFormattedSpotBalanceUpdate(data: WsFormattedMessage): data is WsMessageSpotBalanceUpdateFormatted; export declare function isWsFormattedSpotUserDataListStatusEvent(data: WsFormattedMessage): data is WsMessageSpotUserDataListStatusEventFormatted; export declare function isWsFormattedFuturesUserDataAccountUpdate(data: WsFormattedMessage): data is WsMessageFuturesUserDataAccountUpdateFormatted; export declare function isWsFormattedFuturesUserDataMarginCall(data: WsFormattedMessage): data is WsMessageFuturesUserDataMarginCallFormatted; export declare function isWsFormattedFuturesUserDataTradeUpdateEvent(data: WsFormattedMessage): data is WsMessageFuturesUserDataTradeUpdateEventFormatted; export declare function isWsFormattedFuturesUserDataCondOrderTriggerRejectEvent(data: WsFormattedMessage): data is WsMessageFuturesUserDataCondOrderTriggerRejectEventFormatted; export declare function isWsFormattedFuturesUserDataAccountConfigUpdateEvent(data: WsFormattedMessage): data is WsMessageFuturesUserDataAccountConfigUpdateEventFormatted; export declare function isWsFormattedFuturesUserDataListenKeyExpired(data: WsFormattedMessage): data is WsMessageFuturesUserDataListenKeyExpiredFormatted; /** * Typeguards for WsRawMessage event types: */ /** * Typeguard to validate all symbol 24hrMiniTicker raw event */ export declare function isAll24hrMiniTickerRaw(data: WsRawMessage): data is WsMessage24hrMiniTickerRaw[]; export declare function isAllRollingWindowTickerRaw(data: WsRawMessage): data is WsMessageRollingWindowTickerRaw[]; /** * Typeguard to validate a single 24hrMiniTicker raw event */ export declare function is24hrMiniTickerRaw(data: WsRawMessage): data is WsMessage24hrMiniTickerRaw; /** * Typeguard to validate a single kline raw event */ export declare function isKlineRaw(data: WsRawMessage): data is WsMessageKlineRaw; /** * Typeguard to validate a single ORDER_TRADE_UPDATE raw event */ export declare function isOrderTradeUpdateRaw(data: WsRawMessage): data is WsMessageFuturesUserDataOrderTradeUpdateEventRaw; /** * Typeguard to validate a single ACCOUNT_CONFIG_UPDATE raw event */ export declare function isAccountConfigUpdateRaw(data: WsRawMessage): data is WsMessageFuturesUserDataAccountConfigUpdateEventRaw; /** * Typeguard to validate a single ACCOUNT_UPDATE raw event */ export declare function isAccountUpdateRaw(data: WsRawMessage): data is WsMessageFuturesUserDataAccountUpdateRaw; export interface WebsocketTopicSubscriptionConfirmationEvent { result: boolean; id: number; } export declare function isTopicSubscriptionConfirmation(msg: unknown): msg is WebsocketTopicSubscriptionConfirmationEvent; export declare function isTopicSubscriptionSuccess(msg: unknown): msg is WebsocketTopicSubscriptionConfirmationEvent;