diff --git a/lib/script/script.js b/lib/script/script.js index 4f469183..28e25a89 100644 --- a/lib/script/script.js +++ b/lib/script/script.js @@ -1790,15 +1790,18 @@ Script.fromCommitment = function fromCommitment(hash, flags) { Script.prototype.getRedeem = function getRedeem() { var redeem; + if (this.code.length === 0) + return; + if (!this.isPushOnly()) return; redeem = this.code[this.code.length - 1]; - if (!redeem || !redeem.data) + if (!redeem.data) return; - return new Script(redeem.data); + return Script.fromRaw(redeem.data); }; /** diff --git a/lib/script/witness.js b/lib/script/witness.js index 8a66b73c..fd42a5b3 100644 --- a/lib/script/witness.js +++ b/lib/script/witness.js @@ -272,12 +272,17 @@ Witness.prototype.test = function test(filter) { */ Witness.prototype.getRedeem = function getRedeem() { - var redeem = this.items[this.items.length - 1]; + var redeem; + + if (this.items.length === 0) + return; + + redeem = this.items[this.items.length - 1]; if (!redeem) return; - return new Script(redeem); + return Script.fromRaw(redeem); }; /**