|
@ -629,20 +629,7 @@ function checkInputsForPartialSig(inputs, action) { |
|
|
let pSigs = []; |
|
|
let pSigs = []; |
|
|
if ((input.partialSig || []).length === 0) { |
|
|
if ((input.partialSig || []).length === 0) { |
|
|
if (!input.finalScriptSig && !input.finalScriptWitness) return; |
|
|
if (!input.finalScriptSig && !input.finalScriptWitness) return; |
|
|
const scriptItems = !input.finalScriptSig |
|
|
pSigs = getPsigsFromInputFinalScripts(input); |
|
|
? [] |
|
|
|
|
|
: bscript.decompile(input.finalScriptSig) || []; |
|
|
|
|
|
const witnessItems = !input.finalScriptWitness |
|
|
|
|
|
? [] |
|
|
|
|
|
: bscript.decompile(input.finalScriptWitness) || []; |
|
|
|
|
|
pSigs = scriptItems |
|
|
|
|
|
.concat(witnessItems) |
|
|
|
|
|
.filter(item => { |
|
|
|
|
|
return ( |
|
|
|
|
|
Buffer.isBuffer(item) && bscript.isCanonicalScriptSignature(item) |
|
|
|
|
|
); |
|
|
|
|
|
}) |
|
|
|
|
|
.map(sig => ({ signature: sig })); |
|
|
|
|
|
} else { |
|
|
} else { |
|
|
pSigs = input.partialSig; |
|
|
pSigs = input.partialSig; |
|
|
} |
|
|
} |
|
@ -918,6 +905,20 @@ function getPayment(script, scriptType, partialSig) { |
|
|
} |
|
|
} |
|
|
return payment; |
|
|
return payment; |
|
|
} |
|
|
} |
|
|
|
|
|
function getPsigsFromInputFinalScripts(input) { |
|
|
|
|
|
const scriptItems = !input.finalScriptSig |
|
|
|
|
|
? [] |
|
|
|
|
|
: bscript.decompile(input.finalScriptSig) || []; |
|
|
|
|
|
const witnessItems = !input.finalScriptWitness |
|
|
|
|
|
? [] |
|
|
|
|
|
: bscript.decompile(input.finalScriptWitness) || []; |
|
|
|
|
|
return scriptItems |
|
|
|
|
|
.concat(witnessItems) |
|
|
|
|
|
.filter(item => { |
|
|
|
|
|
return Buffer.isBuffer(item) && bscript.isCanonicalScriptSignature(item); |
|
|
|
|
|
}) |
|
|
|
|
|
.map(sig => ({ signature: sig })); |
|
|
|
|
|
} |
|
|
function getScriptFromInput(inputIndex, input, cache) { |
|
|
function getScriptFromInput(inputIndex, input, cache) { |
|
|
const unsignedTx = cache.__TX; |
|
|
const unsignedTx = cache.__TX; |
|
|
const res = { |
|
|
const res = { |
|
|