diff --git a/lib/primitives/input.js b/lib/primitives/input.js index 1ab11cb4..9731bb9f 100644 --- a/lib/primitives/input.js +++ b/lib/primitives/input.js @@ -210,20 +210,24 @@ class Input { if (coin) return coin.getAddress(); + if (this.script.code.length > 0) + return this.script.getInputAddress(); + if (this.witness.items.length > 0) return this.witness.getInputAddress(); - return this.script.getInputAddress(); + return null; } /** * Get the address hash. + * @param {Coin?} coin * @param {String?} enc * @returns {Hash} hash */ - getHash(enc) { - const addr = this.getAddress(); + getHash(coin, enc) { + const addr = this.getAddress(coin); if (!addr) return null; diff --git a/lib/script/script.js b/lib/script/script.js index 1feb2867..faf2605d 100644 --- a/lib/script/script.js +++ b/lib/script/script.js @@ -2337,7 +2337,7 @@ class Script { */ isScripthashInput() { - if (this.code.length < 2) + if (this.code.length < 1) return false; // Grab the raw redeem script.