UNPKG

@onekeyfe/blockchain-link

Version:

High-level javascript interface for blockchain communication

65 lines (64 loc) 3.11 kB
/// <reference types="node" /> import WebSocket from 'ws'; import { EventEmitter } from 'events'; import { Deferred } from '../../utils/deferred'; import { Send } from '../../types/blockbook'; import { GetFiatRatesForTimestamps, GetFiatRatesTickersList, AccountInfoParams, EstimateFeeParams, AccountBalanceHistoryParams, GetCurrentFiatRates } from '../../types/messages'; interface Subscription { id: string; type: 'notification' | 'block' | 'fiatRates'; callback: (result: any) => void; } interface Options { url: string; timeout?: number; pingTimeout?: number; keepAlive?: boolean; } export default class Socket extends EventEmitter { options: Options; ws: WebSocket | undefined; messageID: number; messages: Deferred<any>[]; subscriptions: Subscription[]; pingTimeout: ReturnType<typeof setTimeout> | undefined; connectionTimeout: ReturnType<typeof setTimeout> | undefined; constructor(options: Options); setConnectionTimeout(): void; clearConnectionTimeout(): void; setPingTimeout(): void; onTimeout(): void; onPing(): Promise<void>; onError(): void; send: Send; onmessage(message: string): void; connect(): Promise<void>; init(): void; disconnect(): void; isConnected(): boolean | undefined; getServerInfo(): Promise<import("../../types/blockbook").ServerInfo>; getBlockHash(block: number): Promise<import("../../types/blockbook").BlockHash>; getAccountInfo(payload: AccountInfoParams): Promise<import("../../types/blockbook").AccountInfo>; getAccountUtxo(descriptor: string): Promise<import("../../types/blockbook").AccountUtxo>; getTransaction(txid: string): Promise<import("../../types/blockbook").Transaction>; pushTransaction(hex: string): Promise<import("../../types/blockbook").Push>; estimateFee(payload: EstimateFeeParams): Promise<import("../../types/blockbook").Fee>; getCurrentFiatRates(payload: GetCurrentFiatRates['payload']): Promise<import("../../types/blockbook").TimestampedFiatRates>; getAccountBalanceHistory(payload: AccountBalanceHistoryParams): Promise<import("../../types/blockbook").AccountBalanceHistory[]>; getFiatRatesForTimestamps(payload: GetFiatRatesForTimestamps['payload']): Promise<import("../../types/blockbook").FiatRatesForTimestamp>; getFiatRatesTickersList(payload: GetFiatRatesTickersList['payload']): Promise<import("../../types/blockbook").AvailableCurrencies>; subscribeAddresses(addresses: string[]): Promise<import("../../types/blockbook").Subscribe>; unsubscribeAddresses(): Promise<import("../../types/blockbook").Subscribe> | { subscribed: boolean; }; subscribeBlock(): Promise<import("../../types/blockbook").Subscribe>; unsubscribeBlock(): Promise<import("../../types/blockbook").Subscribe> | { subscribed: boolean; }; subscribeFiatRates(currency?: string): Promise<import("../../types/blockbook").Subscribe>; unsubscribeFiatRates(): Promise<import("../../types/blockbook").Subscribe> | { subscribed: boolean; }; dispose(): void; } export {};