TransactionBuilder: less exits
This commit is contained in:
parent
83b2bb5d6a
commit
6826aa312d
1 changed files with 14 additions and 13 deletions
|
@ -144,29 +144,30 @@ function extractFromOutputScript (outputScript, kpPubKey) {
|
|||
var scriptType = bscript.classifyOutput(outputScript)
|
||||
var outputScriptChunks = bscript.decompile(outputScript)
|
||||
|
||||
var pubKeys
|
||||
switch (scriptType) {
|
||||
case 'pubkeyhash':
|
||||
var pkh1 = outputScriptChunks[2]
|
||||
var pkh2 = bcrypto.hash160(kpPubKey)
|
||||
|
||||
if (!bufferEquals(pkh1, pkh2)) throw new Error('privateKey cannot sign for this input')
|
||||
|
||||
return {
|
||||
pubKeys: [kpPubKey],
|
||||
scriptType: scriptType
|
||||
}
|
||||
pubKeys = [kpPubKey]
|
||||
break
|
||||
|
||||
case 'pubkey':
|
||||
return {
|
||||
pubKeys: outputScriptChunks.slice(0, 1),
|
||||
scriptType: scriptType
|
||||
}
|
||||
pubKeys = outputScriptChunks.slice(0, 1)
|
||||
break
|
||||
|
||||
case 'multisig':
|
||||
return {
|
||||
pubKeys: outputScriptChunks.slice(1, -2),
|
||||
scriptType: scriptType
|
||||
}
|
||||
pubKeys = outputScriptChunks.slice(1, -2)
|
||||
break
|
||||
|
||||
default: return
|
||||
}
|
||||
|
||||
return {
|
||||
pubKeys: pubKeys,
|
||||
scriptType: scriptType
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue