UNPKG

@bithomp/xrpl-api

Version:

A Bithomp JavaScript/TypeScript library for interacting with the XRP Ledger

73 lines (72 loc) 2.17 kB
import { EventEmitter } from "events"; import { Request, Response, APIVersion } from "xrpl"; export declare const DEFAULT_API_VERSION = 1; export interface ConnectionOptions { logger?: any; timeout?: number; connectionTimeout?: number; networkID?: number; apiVersion?: APIVersion; } export interface LatencyInfo { timestamp: Date; delta: number; } export interface ConnectionStreamsInfo { ledger: number; consensus?: number; manifests?: number; peer_status?: number; transactions?: number; transactions_proposed?: number; server?: number; validations?: number; } export interface ConnectionAccountsInfo { [key: string]: number; } declare class Connection extends EventEmitter { private client?; readonly url: string; readonly type?: string; types: string[]; latency: LatencyInfo[]; readonly logger?: any; readonly timeout: number; readonly connectionTimeout: number; readonly hash?: string; private onlineSince; private networkID?; private apiVersion; private serverInfoUpdating; serverInfo: any; private shutdown; private connectionTimer; streams: ConnectionStreamsInfo; accounts: ConnectionAccountsInfo; private streamsSubscribed; constructor(url: string, type?: string, options?: ConnectionOptions); connect(): Promise<void>; disconnect(): Promise<void>; request(request: Request, options?: any): Promise<Response | any>; _request(request: Request, options?: any): Promise<Response | any>; submit(transaction: string): Promise<Response | any>; isConnected(): boolean; getOnlinePeriodMs(): number | null; getLatencyMs(): number; getNetworkID(): number | undefined; isLedgerIndexAvailable(ledgerIndex: any): boolean; private updateLatency; private reconnect; private removeClient; private setupEmitter; private updateTypes; private updateSubscriptions; private subscribe; private unsubscribe; private onLedgerClosed; private updateServerInfo; private connectionValidation; private connectionValidationTimeout; } export { Connection };