Browse Source

tests/integration/payments: enable failing P2SH(P2WSH(P2WPKH)) tests

addLowRGrinding
Daniel Cousens 7 years ago
parent
commit
de0259a820
  1. 14
      src/transaction_builder.js
  2. 4
      test/integration/payments.js

14
src/transaction_builder.js

@ -232,6 +232,11 @@ function prepareInput (input, ourPubKey, redeemScript, witnessValue, witnessScri
expanded.signatures = input.signatures
}
let signScript = witnessScript
if (expanded.type === SCRIPT_TYPES.P2WPKH) {
signScript = payments.p2pkh({ pubkey: expanded.pubkeys[0] }).output
}
return {
redeemScript,
redeemScriptType: SCRIPT_TYPES.P2WSH,
@ -243,7 +248,7 @@ function prepareInput (input, ourPubKey, redeemScript, witnessValue, witnessScri
prevOutScript: p2sh.output,
hasWitness: true,
signScript: witnessScript,
signScript,
signType: expanded.type,
pubkeys: expanded.pubkeys,
@ -303,6 +308,11 @@ function prepareInput (input, ourPubKey, redeemScript, witnessValue, witnessScri
expanded.signatures = input.signatures
}
let signScript = witnessScript
if (expanded.type === SCRIPT_TYPES.P2WPKH) {
signScript = payments.p2pkh({ pubkey: expanded.pubkeys[0] }).output
}
return {
witnessScript,
witnessScriptType: expanded.type,
@ -311,7 +321,7 @@ function prepareInput (input, ourPubKey, redeemScript, witnessValue, witnessScri
prevOutScript: p2wsh.output,
hasWitness: true,
signScript: witnessScript,
signScript,
signType: expanded.type,
pubkeys: expanded.pubkeys,

4
test/integration/payments.js

@ -55,15 +55,11 @@ function buildAndSign (depends, prevOutput, redeemScript, witnessScript, done) {
})
it('can (as P2WSH(' + k + ')) broadcast as an output, and be spent as an input', (done) => {
if (k === 'p2wpkh') return done() // skip P2WSH(P2WPKH)
const p2wsh = bitcoin.payments.p2wsh({ redeem: { output }, network: NETWORK })
buildAndSign(depends, p2wsh.output, null, p2wsh.redeem.output, done)
})
it('can (as P2SH(P2WSH(' + k + '))) broadcast as an output, and be spent as an input', (done) => {
if (k === 'p2wpkh') return done() // skip P2SH(P2WSH(P2WPKH))
const p2wsh = bitcoin.payments.p2wsh({ redeem: { output }, network: NETWORK })
const p2sh = bitcoin.payments.p2sh({ redeem: { output: p2wsh.output }, network: NETWORK })

Loading…
Cancel
Save