pset: fix logic bug in analyzepsbt so that the "blinder" role may be returned

This commit is contained in:
Andrew Poelstra 2021-09-14 15:48:35 +00:00
parent ec27e74f21
commit 048ca4a550
2 changed files with 2 additions and 2 deletions

View file

@ -22,6 +22,7 @@ PSBTAnalysis AnalyzePSBT(PartiallySignedTransaction psbtx)
bool has_blinded_outputs = false;
result.inputs.resize(psbtx.inputs.size());
result.next = PSBTRole::EXTRACTOR;
for (unsigned int i = 0; i < psbtx.inputs.size(); ++i) {
PSBTInput& input = psbtx.inputs[i];
@ -150,7 +151,6 @@ PSBTAnalysis AnalyzePSBT(PartiallySignedTransaction psbtx)
}
// Calculate next role for PSBT by grabbing "minimum" PSBTInput next role
result.next = PSBTRole::EXTRACTOR;
for (unsigned int i = 0; i < psbtx.inputs.size(); ++i) {
PSBTInputAnalysis& input_analysis = result.inputs[i];
result.next = std::min(result.next, input_analysis.next);