|
|
@ -7,7 +7,6 @@ const checkRedeemScript = (inputIndex, scriptPubKey, redeemScript) => { |
|
|
|
const redeemScriptOutput = payments.p2sh({ |
|
|
|
redeem: { output: redeemScript }, |
|
|
|
}).output; |
|
|
|
// If a redeemScript is provided, the scriptPubKey must be for that redeemScript
|
|
|
|
if (!scriptPubKey.equals(redeemScriptOutput)) { |
|
|
|
throw new Error( |
|
|
|
`Redeem script for input #${inputIndex} doesn't match the scriptPubKey in the prevout`, |
|
|
@ -62,10 +61,12 @@ class Psbt extends bip174_1.Psbt { |
|
|
|
if (input.redeemScript) { |
|
|
|
const prevoutIndex = unsignedTx.ins[inputIndex].index; |
|
|
|
const prevout = nonWitnessUtxoTx.outs[prevoutIndex]; |
|
|
|
// If a redeemScript is provided, the scriptPubKey must be for that redeemScript
|
|
|
|
checkRedeemScript(inputIndex, prevout.script, input.redeemScript); |
|
|
|
} |
|
|
|
} else if (input.witnessUtxo) { |
|
|
|
if (input.redeemScript) { |
|
|
|
// If a redeemScript is provided, the scriptPubKey must be for that redeemScript
|
|
|
|
checkRedeemScript( |
|
|
|
inputIndex, |
|
|
|
input.witnessUtxo.script, |
|
|
|