@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
text/typescript
import { BTCTxProvider } from '../btc';
export class XECTxProvider extends BTCTxProvider {
lib = require('@bcpros/bitcore-lib-xec');
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 / 1e3,
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();
}
}