UNPKG

lotus-sdk

Version:

Central repository for several classes of tools for integrating with, and building for, the Lotusia ecosystem

128 lines 3.44 kB
type JSONRPCResult = string | string[] | number | NetworkInfo | MiningInfo | MempoolInfo | PeerInfo[] | BlockStats | BlockInfo | RawTransaction; export interface NetworkInfo { subversion: string; localrelay: boolean; connections: number; connections_in: number; warnings: string; } export interface MiningInfo { blocks: number; difficulty: number; networkhashps: number; pooledtx: number; chain: string; warnings: string; } export interface MempoolInfo { loaded: boolean; size: number; bytes: number; usage: number; maxmempool: number; mempoolminfee: number; minrelaytxfee: number; unbroadcastcount: number; } export interface PeerInfo { addr: string; services: string; servicesnames: Array<string>; relaytxes: boolean; lastsend: number; lastrecv: number; last_transaction: number; last_proof: number; last_block: number; bytessent: number; bytesrecv: number; conntime: number; timeoffset: number; pingtime: number; minping: number; version: number; subver: string; inbound: boolean; startingheight: number; synced_headers: number; synced_blocks: number; geoip?: { country: string; city: string; }; } export interface BlockStats { avgfee: number; avgfeerate: number; avgtxsize: number; blockhash: string; feerate_percentiles: Array<number>; height: number; ins: number; maxfee: number; maxfeerate: number; maxtxsize: number; medianfee: number; medianfeerate: number; mediantxsize: number; minfeerate: number; mintxsize: number; notx: number; outs: number; subsidy: number; time: number; total_out: number; total_size: number; totalfee: number; txs: number; utxo_increase: number; utxo_size_inc: number; } export interface BlockInfo { hash: string; confirmations: number; size: number; height: number; tx: Array<string>; time: number; difficulty: number; nTx: number; previousblockhash: string; nextblockhash: string; } export interface TransactionInput { txid: string; vout: number; coinbase?: string; } export interface TransactionOutput { value: number; scriptPubKey: { addresses: Array<string>; type: string; asm: string; }; } export interface RawTransaction { txid: string; size: number; vin: TransactionInput[]; vout: TransactionOutput[]; time?: number; blocktime?: number; blockhash?: string; confirmations?: number; } export declare function sendRPCRequest(method: string, params: unknown[]): Promise<JSONRPCResult>; export declare function getMiningInfo(): Promise<MiningInfo>; export declare function getNetworkInfo(): Promise<NetworkInfo>; export declare function getPeerInfo(): Promise<PeerInfo[]>; export declare function getBlockCount(): Promise<number>; export declare function getBlockHash(height: number): Promise<string>; export declare function getBlockStats(hash: string): Promise<BlockStats>; export declare function getBlock(hash: string): Promise<BlockInfo>; export declare function getRawTransaction(txid: string): Promise<RawTransaction>; export declare function getRawMemPool(): Promise<string[]>; export declare function getMempoolInfo(): Promise<MempoolInfo>; export {}; //# sourceMappingURL=rpc.d.ts.map