UNPKG

@bcpros/crypto-wallet-core

Version:

A multi-currency support library for address derivation, private key creation, and transaction creation

25 lines (23 loc) 823 B
import { BTCTxProvider } from '../btc'; export class XPITxProvider extends BTCTxProvider { lib = require('@bcpros/bitcore-lib-xpi'); create({ recipients, utxos = [], change, fee = 20000 }) { const filteredUtxos = this.selectCoins(recipients, utxos, fee); const btcUtxos = filteredUtxos.map(utxo => { const btcUtxo = Object.assign({}, utxo, { amount: utxo.value / 1e6, txid: utxo.mintTxid, outputIndex: utxo.mintIndex }); return new this.lib.Transaction.UnspentOutput(btcUtxo); }); let tx = new this.lib.Transaction().from(btcUtxos).feePerByte(Number(fee) + 2); if (change) { tx.change(change); } for (const recipient of recipients) { tx.to(recipient.address, parseInt(recipient.amount)); } return tx.uncheckedSerialize(); } }