simplify use of bignum in TransactionBuilder

This commit is contained in:
Ryan X. Charles 2014-07-10 19:13:29 -07:00
parent d035b54418
commit ec2fda2a22
1 changed files with 13 additions and 13 deletions

View File

@ -231,7 +231,7 @@ TransactionBuilder.prototype._selectUnspent = function(neededAmountSat) {
if (this.spendUnconfirmed) minConfirmationSteps.push(0);
var sel = [],
totalSat = new bignum(0),
totalSat = bignum(0),
fulfill = false,
maxConfirmations = null,
l = this.utxos.length;
@ -246,9 +246,9 @@ TransactionBuilder.prototype._selectUnspent = function(neededAmountSat) {
continue;
var sat = u.amountSat || util.parseValue(u.amount);
totalSat = totalSat.add(new bignum(sat));
totalSat = totalSat.add(sat);
sel.push(u);
if (totalSat.cmp(new bignum(neededAmountSat)) >= 0) {
if (totalSat.cmp(neededAmountSat) >= 0) {
fulfill = true;
break;
}
@ -268,11 +268,11 @@ TransactionBuilder.prototype._selectUnspent = function(neededAmountSat) {
TransactionBuilder.prototype._setInputs = function(txobj) {
var ins = this.selectedUtxos;
var l = ins.length;
var valueInSat = new bignum(0);
var valueInSat = bignum(0);
txobj.ins = [];
for (var i = 0; i < l; i++) {
valueInSat = valueInSat.add(new bignum(util.parseValue(ins[i].amount)));
valueInSat = valueInSat.add(util.parseValue(ins[i].amount));
var txin = {};
txin.s = util.EMPTY_BUFFER;
@ -297,9 +297,9 @@ TransactionBuilder.prototype._setFee = function(feeSat) {
throw new Error('valueOutSat undefined');
var valueOutSat = this.valueOutSat.add(new bignum(feeSat));
var valueOutSat = this.valueOutSat.add(feeSat);
if (this.valueInSat.cmp(new bignum(valueOutSat)) < 0) {
if (this.valueInSat.cmp(valueOutSat) < 0) {
var inv = this.valueInSat.toString();
var ouv = valueOutSat.toString();
throw new Error('transaction input amount is less than outputs: ' +
@ -316,16 +316,16 @@ TransactionBuilder.prototype._setRemainder = function(txobj, remainderIndex) {
throw new Error('valueInSat / valueOutSat undefined');
/* add remainder (without modifying outs[]) */
var remainderSat = this.valueInSat.sub(new bignum(this.valueOutSat)).sub(new bignum(this.feeSat));
var remainderSat = this.valueInSat.sub(this.valueOutSat).sub(this.feeSat);
var l = txobj.outs.length;
this.remainderSat = new bignum(0);
this.remainderSat = bignum(0);
/*remove old remainder? */
if (l > remainderIndex) {
txobj.outs.pop();
}
if (remainderSat.cmp(new bignum(0)) > 0) {
if (remainderSat.cmp(0) > 0) {
var remainderOut = this.remainderOut || this.selectedUtxos[0];
var value = util.bigIntToValue(remainderSat);
var script = TransactionBuilder._scriptForOut(remainderOut);
@ -352,7 +352,7 @@ TransactionBuilder.prototype._setFeeAndRemainder = function(txobj) {
var feeSat = this.givenFeeSat ?
this.givenFeeSat : maxSizeK * FEE_PER_1000B_SAT;
var neededAmountSat = this.valueOutSat.add(new bignum(feeSat));
var neededAmountSat = this.valueOutSat.add(feeSat);
this._selectUnspent(neededAmountSat)
._setInputs(txobj)
@ -381,7 +381,7 @@ TransactionBuilder.prototype._setFeeAndRemainder = function(txobj) {
//
TransactionBuilder.prototype.setOutputs = function(outs) {
var valueOutSat = new bignum(0);
var valueOutSat = bignum(0);
var txobj = {};
txobj.version = 1;
@ -401,7 +401,7 @@ TransactionBuilder.prototype.setOutputs = function(outs) {
txobj.outs.push(txout);
var sat = outs[i].amountSat || util.parseValue(outs[i].amount);
valueOutSat = valueOutSat.add(new bignum(sat));
valueOutSat = valueOutSat.add(sat);
}
this.valueOutSat = valueOutSat;