UNPKG

js-conflux-sdk

Version:
109 lines (108 loc) 3.38 kB
export = BaseProvider; declare class BaseProvider extends EventEmitter { /** * @param {object} [options] * @param {string} options.url - Full json rpc http url * @param {number} [options.timeout=30*1000] - Request time out in ms * @param {number} [options.retry=1] - Retry number * @param {boolean} [options.keepAlive=false] - Whether open the http keep-alive option * @param {object} [options.logger] - Logger with `info` and `error` * @return {BaseProvider} */ constructor({ url, retry, timeout, keepAlive, logger, }?: { url: string; timeout?: number; retry?: number; keepAlive?: boolean; logger?: object; }); url: string; retry: number; timeout: number; logger: any; keepAlive: boolean; headers: { Connection: string; }; /** * Gen a random json rpc id. * It is used in `call` method, overwrite it to gen your own id. * * @return {string} */ requestId(): string; /** * @param {any} * @private * @return {Promise<*>} */ private _request; /** * @param {any[]} * @return {Promise<*>} * @private */ private _requestBatch; /** * Call a json rpc method with params * * @param {object} data * @param {string} data.method - Json rpc method name. * @param {array} [data.params] - Json rpc method params. * @return {Promise<*>} Json rpc method return value. * * @example * > await provider.request({method: 'cfx_epochNumber'}); * > await provider.request({method: 'cfx_getBlockByHash', params: [blockHash]}); */ request({ method, params }: { method: string; params?: any[]; }): Promise<any>; /** * Call a json rpc method with params * * @param {string} method - Json rpc method name. * @param {any[]} params - Json rpc method params. * @return {Promise<*>} Json rpc method return value. * * @example * > await provider.call('cfx_epochNumber'); * > await provider.call('cfx_getBlockByHash', blockHash); */ call(method: string, ...params: any[]): Promise<any>; /** * Send a json rpc method request * * @param {string} method - Json rpc method name. * @param {array} [params] - Json rpc method params. * @return {Promise<*>} Json rpc method return value. * * @example * > await provider.send('cfx_epochNumber'); * > await provider.send('cfx_getBlockByHash', [blockHash]); */ send(method: string, params?: any[]): Promise<any>; /** * Batch call json rpc methods with params * * @param {object[]} array - Array of object with "method" and "params" * @return {Promise<Array>} * * @example * > await provider.batch([ * { method: 'cfx_epochNumber' }, * { method: 'cfx_getBalance', params: ['cfxtest:aaawgvnhveawgvnhveawgvnhveawgvnhvey1umfzwp'] }, * { method: 'InValidInput' }, * ]) [ '0x3b734d', '0x22374d959c622f74728', RPCError: Method not found ] */ batch(array: object[]): Promise<any[]>; close(): void; } declare namespace BaseProvider { export { RPCError }; } import EventEmitter = require("events"); import RPCError = require("./RPCError"); //# sourceMappingURL=BaseProvider.d.ts.map