diff --git a/lib/bcoin/input.js b/lib/bcoin/input.js index 37557e9d..28952098 100644 --- a/lib/bcoin/input.js +++ b/lib/bcoin/input.js @@ -32,7 +32,7 @@ var BufferWriter = require('./writer'); function Input(options, mutable) { if (!(this instanceof Input)) - return new Input(options); + return new Input(options, mutable); assert(options, 'Input data is required.'); diff --git a/lib/bcoin/output.js b/lib/bcoin/output.js index 0e054ae2..798537a8 100644 --- a/lib/bcoin/output.js +++ b/lib/bcoin/output.js @@ -29,7 +29,7 @@ function Output(options, mutable) { var value; if (!(this instanceof Output)) - return new Output(options); + return new Output(options, mutable); assert(options, 'Output data is required.'); @@ -43,7 +43,7 @@ function Output(options, mutable) { this.script = bcoin.script(options.script, this.mutable); assert(typeof this.value === 'number'); - assert(!this.mutable || this.value > 0); + assert(!this.mutable || this.value >= 0); } /** diff --git a/lib/bcoin/script.js b/lib/bcoin/script.js index 689576a5..a7f56969 100644 --- a/lib/bcoin/script.js +++ b/lib/bcoin/script.js @@ -39,7 +39,7 @@ function Witness(items, mutable) { } if (!(this instanceof Witness)) - return new Witness(items); + return new Witness(items, mutable); this.mutable = !!mutable; @@ -818,7 +818,7 @@ function Script(code, mutable) { } if (!(this instanceof Script)) - return new Script(code); + return new Script(code, mutable); this.mutable = !!mutable; diff --git a/test/chain-test.js b/test/chain-test.js index efa2c371..3cb38dbd 100644 --- a/test/chain-test.js +++ b/test/chain-test.js @@ -40,6 +40,7 @@ describe('Chain', function() { value: utils.satoshi('25.0') }); redeemer.addInput(tx, 0); + redeemer.setLocktime(chain.height); wallet.sign(redeemer); attempt.addTX(redeemer); }