diff --git a/src/transaction_builder.js b/src/transaction_builder.js index c4f18da..42a77bf 100644 --- a/src/transaction_builder.js +++ b/src/transaction_builder.js @@ -231,13 +231,18 @@ TransactionBuilder.prototype.sign = function(index, privKey, redeemScript, hashT } else { prevOutScript = prevOutScript || privKey.pub.getAddress().toOutputScript() - scriptType = prevOutType || 'pubkeyhash' + prevOutType = prevOutType || 'pubkeyhash' - assert.notEqual(scriptType, 'scripthash', 'PrevOutScript requires redeemScript') + assert.notEqual(prevOutType, 'scripthash', 'PrevOutScript is P2SH, missing redeemScript') + + scriptType = prevOutType hash = this.tx.hashForSignature(index, prevOutScript, hashType) } + this.prevOutScripts[index] = prevOutScript + this.prevOutTypes[index] = prevOutType + if (!(index in this.signatures)) { this.signatures[index] = { hashType: hashType,