Merge pull request #1044 from trustatom-oss/master
Add check to _hasDustOutputs if output has OP_RETURN
This commit is contained in:
commit
8d642f3c7a
|
@ -151,9 +151,10 @@ Transaction.prototype._validateChange = function() {
|
||||||
Transaction.DUST_AMOUNT = 5460;
|
Transaction.DUST_AMOUNT = 5460;
|
||||||
|
|
||||||
Transaction.prototype._hasDustOutputs = function() {
|
Transaction.prototype._hasDustOutputs = function() {
|
||||||
var output;
|
var index, output;
|
||||||
for (output in this.outputs) {
|
for (index in this.outputs) {
|
||||||
if (this.outputs[output].satoshis < Transaction.DUST_AMOUNT) {
|
output = this.outputs[index];
|
||||||
|
if (output.satoshis < Transaction.DUST_AMOUNT && !output.script.isDataOut()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -279,7 +279,7 @@ describe('Transaction', function() {
|
||||||
return transaction.serialize();
|
return transaction.serialize();
|
||||||
}).to.throw(errors.Transaction.FeeError);
|
}).to.throw(errors.Transaction.FeeError);
|
||||||
});
|
});
|
||||||
it('fails if a dust transaction is created', function() {
|
it('fails if a dust output is created', function() {
|
||||||
var transaction = new Transaction()
|
var transaction = new Transaction()
|
||||||
.from(simpleUtxoWith1BTC)
|
.from(simpleUtxoWith1BTC)
|
||||||
.to(toAddress, 1)
|
.to(toAddress, 1)
|
||||||
|
@ -289,6 +289,16 @@ describe('Transaction', function() {
|
||||||
return transaction.serialize();
|
return transaction.serialize();
|
||||||
}).to.throw(errors.Transaction.DustOutputs);
|
}).to.throw(errors.Transaction.DustOutputs);
|
||||||
});
|
});
|
||||||
|
it('doesn\'t fail if a dust output is an op_return', function() {
|
||||||
|
var transaction = new Transaction()
|
||||||
|
.from(simpleUtxoWith1BTC)
|
||||||
|
.addData('not dust!')
|
||||||
|
.change(changeAddress)
|
||||||
|
.sign(privateKey);
|
||||||
|
expect(function() {
|
||||||
|
return transaction.serialize();
|
||||||
|
}).to.not.throw(errors.Transaction.DustOutputs);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('to and from JSON', function() {
|
describe('to and from JSON', function() {
|
||||||
|
|
Loading…
Reference in New Issue