UNPKG

@onekeyfe/blockchain-link

Version:

High-level javascript interface for blockchain communication

52 lines (51 loc) 2.96 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { Deferred } from './utils/deferred'; import { BlockchainSettings } from './types'; import * as ResponseTypes from './types/responses'; import * as MessageTypes from './types/messages'; import { Events } from './types/events'; declare interface BlockchainLink { on<K extends keyof Events>(type: K, listener: (event: Events[K]) => void): this; off<K extends keyof Events>(type: K, listener: (event: Events[K]) => void): this; emit<K extends keyof Events>(type: K, ...args: Events[K][]): boolean; } declare class BlockchainLink extends EventEmitter { settings: BlockchainSettings; messageId: number; worker: Worker | undefined; deferred: Deferred<any>[]; constructor(settings: BlockchainSettings); getWorker(): Promise<Worker>; sendMessage<R>(message: any): Promise<R>; connect(): Promise<void>; getInfo(): Promise<ResponseTypes.GetInfo['payload']>; getBlockHash(payload: MessageTypes.GetBlockHash['payload']): Promise<ResponseTypes.GetBlockHash['payload']>; getAccountInfo(payload: MessageTypes.GetAccountInfo['payload']): Promise<ResponseTypes.GetAccountInfo['payload']>; getAccountUtxo(payload: MessageTypes.GetAccountUtxo['payload']): Promise<ResponseTypes.GetAccountUtxo['payload']>; getTransaction(payload: MessageTypes.GetTransaction['payload']): Promise<ResponseTypes.GetTransaction['payload']>; getAccountBalanceHistory(payload: MessageTypes.GetAccountBalanceHistory['payload']): Promise<ResponseTypes.GetAccountBalanceHistory['payload']>; getCurrentFiatRates(payload: MessageTypes.GetCurrentFiatRates['payload']): Promise<ResponseTypes.GetCurrentFiatRates['payload']>; getFiatRatesForTimestamps(payload: MessageTypes.GetFiatRatesForTimestamps['payload']): Promise<ResponseTypes.GetFiatRatesForTimestamps['payload']>; getFiatRatesTickersList(payload: MessageTypes.GetFiatRatesTickersList['payload']): Promise<ResponseTypes.GetFiatRatesTickersList['payload']>; estimateFee(payload: MessageTypes.EstimateFee['payload']): Promise<ResponseTypes.EstimateFee['payload']>; subscribe(payload: MessageTypes.Subscribe['payload']): Promise<ResponseTypes.Subscribe['payload']>; unsubscribe(payload: MessageTypes.Unsubscribe['payload']): Promise<ResponseTypes.Unsubscribe['payload']>; pushTransaction(payload: MessageTypes.PushTransaction['payload']): Promise<ResponseTypes.PushTransaction['payload']>; disconnect(): Promise<boolean>; onMessage: (event: { data: ResponseTypes.Response; }) => void; onEvent: (data: ResponseTypes.Response) => void; onError: (error: { message?: string; lineno: number; filename: string; }) => void; dispose(): void; } export default BlockchainLink; export { Message } from './types/messages'; export { Response } from './types/responses'; export * from './types/common'; export * from './types/events';