Skip to content

Commit 42407e2

Browse files
authored
Merge pull request bitcoinjs#942 from bitcoinjs/stackme
enforce decodeStack receives a stack array
2 parents 412fe07 + 34df503 commit 42407e2

File tree

7 files changed

+14
-8
lines changed

7 files changed

+14
-8
lines changed

src/templates/multisig/input.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ function encode (signatures, scriptPubKey) {
5353
}
5454

5555
function decodeStack (stack, allowIncomplete) {
56+
typeforce(typeforce.Array, stack)
5657
typeforce(check, stack, allowIncomplete)
5758
return stack.slice(1)
5859
}

src/templates/pubkey/input.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ function encode (signature) {
2121
}
2222

2323
function decodeStack (stack) {
24+
typeforce(typeforce.Array, stack)
2425
typeforce(check, stack)
2526
return stack[0]
2627
}

src/templates/pubkeyhash/input.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ function encode (signature, pubKey) {
2929
}
3030

3131
function decodeStack (stack) {
32+
typeforce(typeforce.Array, stack)
3233
typeforce(check, stack)
3334

3435
return {

src/templates/scripthash/input.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ function encode (redeemScriptSig, redeemScript) {
5959
}
6060

6161
function decodeStack (stack) {
62+
typeforce(typeforce.Array, stack)
6263
typeforce(check, stack)
6364

6465
return {

src/templates/witnesspubkeyhash/input.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ function encodeStack (signature, pubKey) {
2929
}
3030

3131
function decodeStack (stack) {
32+
typeforce(typeforce.Array, stack)
3233
typeforce(check, stack)
3334

3435
return {

src/templates/witnessscripthash/input.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,12 @@ function encodeStack (witnessData, witnessScript) {
4848
return [].concat(witnessData, witnessScript)
4949
}
5050

51-
function decodeStack (chunks) {
52-
typeforce(check, chunks)
51+
function decodeStack (stack) {
52+
typeforce(typeforce.Array, stack)
53+
typeforce(check, stack)
5354
return {
54-
witnessData: chunks.slice(0, -1),
55-
witnessScript: chunks[chunks.length - 1]
55+
witnessData: stack.slice(0, -1),
56+
witnessScript: stack[stack.length - 1]
5657
}
5758
}
5859

test/transaction_builder.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -500,10 +500,10 @@ describe('TransactionBuilder', function () {
500500
'194a565cd6aa4cc38b8eaffa343402201c5b4b61d73fa38e49c1ee68cc0e6dfd2f5dae453dd86eb142e87a' +
501501
'0bafb1bc8401210283409659355b6d1cc3c32decd5d561abaac86c37a353b52895a5e6c196d6f44800000000'
502502
var txb = TransactionBuilder.fromTransaction(Transaction.fromHex(rawtx))
503-
txb.inputs[0].value = 81530
504-
txb.inputs[1].value = 81530
505-
txb.inputs[2].value = 88920
506-
txb.inputs[3].value = 88920
503+
txb.inputs[0].value = 241530
504+
txb.inputs[1].value = 241530
505+
txb.inputs[2].value = 248920
506+
txb.inputs[3].value = 248920
507507

508508
assert.throws(function () {
509509
txb.build()

0 commit comments

Comments
 (0)