import { ECPairInterface as ECPair, Network } from 'bitcoinjs-lib'; import { ILogger, IUTXOProvider, IUTXOTransaction, IKeypair, IBTCTransactionAddress, IBTCUnspent, binStr, RPCNode, UTXOProvider } from '@onechain/core'; import { IApiProvider } from './api-providers'; import { Transaction } from './Transaction'; import { HDWallet } from './HDWallet'; /** * BTC Provider * * @export * @class BTC * @extends {UTXOProvider} * @implements {IUTXOProvider} */ export declare class BTC extends UTXOProvider implements IUTXOProvider { protected _apiProvider: IApiProvider; protected _wallets: { [address: string]: ECPair; }; protected _network: Network; readonly keypairs: IKeypair[]; readonly network: Network; constructor(rpcnode: RPCNode, keypairs: IKeypair[], logger: ILogger); setKeypairs(keypairs: IKeypair[]): void; setRPCNode(rpcnode: RPCNode): void; /** * 构造交易对象 * * @param {IBTCTransactionAddress[]} froms * @param {IBTCTransactionAddress[]} tos * @param {string} changeAddress * @param {binStr[]} [memos=[]] * @returns {Promise} * @memberof BTC */ buildTransaction(froms: IBTCTransactionAddress[], tos: IBTCTransactionAddress[], changeAddress: string, memos?: binStr[]): Promise; /** * 构造自动修正的交易 * * @param {IBTCTransactionAddress[]} froms * @param {IBTCTransactionAddress[]} tos * @param {string} changeAddress * @param {binStr[]} [memos=[]] * @returns {Promise} * @memberof BTC */ buildAutoFixTransaction(froms: IBTCTransactionAddress[], tos: IBTCTransactionAddress[], changeAddress: string, memos?: binStr[]): Promise; /** * 构造交易对象 * * @param {IBTCTransactionAddress[]} froms * @param {IBTCTransactionAddress[]} tos * @param {string} changeAddress * @param {binStr[]} [memos=[]] * @param {boolean} [autoFix=false] * @returns * @memberof BTC */ _buildTransaction(froms: IBTCTransactionAddress[], tos: IBTCTransactionAddress[], changeAddress: string, memos?: binStr[], autoFix?: boolean): Promise; /** * 签名未完成的交易 * * @param {string} rawTransaction * @param {IBTCUnspent[]} unspents * @returns * @memberof BTC */ sign(rawTransaction: string, unspents: IBTCUnspent[]): any; /** * 推送交易 * * @param {IUTXOTransaction|string} transaction * @returns {Promise} * @memberof BTC */ pushTransaction(transaction: IUTXOTransaction | string): Promise; /** * 通过助记词创建 HDWallet * * @param {string} mnemonic * @param {boolean} [needSync=true] * @returns * @memberof BTC */ hdwalletFromMnemonic(mnemonic: string, needSync?: boolean): Promise; /** * 通过 json 创建 HDWallet * * @param {*} json * @returns * @memberof BTC */ hdwalletFromJSON(json: any): Promise; } export default BTC;