import { IBTCUnspent } from '@onechain/core'; /** * API Provider 接口 * * @export * @interface IApiProvider */ export interface IApiProvider { readonly supportBatch: boolean; readonly rateLimit: number; /** * ping API 服务商 * * @memberof IApiProvider */ ping(): any; /** * 推送交易 * * @param {string} rawTransaction * @returns {Promise} * @memberof IApiProvider */ pushTransaction(rawTransaction: string): Promise; } export interface ISlowApiProvider extends IApiProvider { /** * 查询地址信息 * * @param {string} address * @returns {Promise} * @memberof ISlowApiProvider */ getAddress(address: string): Promise; /** * 查询某个地址的 unspent * * @param {string} addresses * @param {boolean} [onlyConfirmed] * @returns {Promise} * @memberof ISlowApiProvider */ getUnspentOfAddress(addresses: string, onlyConfirmed?: boolean): Promise; } export interface IFastApiProvider extends IApiProvider { /** * 批量查询地址信息 * * @param {string[]} addresses * @returns {Promise} * @memberof IFastApiProvider */ getAddresses(addresses: string[]): Promise; /** * 批量查询 unspent * * @param {string[]} addresses * @param {boolean} [onlyConfirmed] * @returns {Promise} * @memberof IFastApiProvider */ getUnspentOfAddresses(addresses: string[], onlyConfirmed?: boolean): Promise; }