@bithomp/xrpl-api
Version:
A Bithomp JavaScript/TypeScript library for interacting with the XRP Ledger
73 lines (72 loc) • 2.17 kB
TypeScript
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 };