From 4abd2ab18e26999e2dafcb15a58a7979de90af34 Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Thu, 6 Oct 2022 15:19:30 -0400 Subject: psbt: Fix merging of m_tap_tree Merging should be checking that the current PSBTOutput doesn't have a taptree and the other one's is copied over. The original merging had this inverted and would remove m_tap_tree if the other did not have it. Github-Pull: #25858 Rebased-From: 7df6e1bb77a96eac4fbcba424bbe780636b86650 --- src/psbt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/psbt.cpp b/src/psbt.cpp index 36fec74bc9..6b75de91f8 100644 --- a/src/psbt.cpp +++ b/src/psbt.cpp @@ -265,7 +265,7 @@ void PSBTOutput::Merge(const PSBTOutput& output) if (redeem_script.empty() && !output.redeem_script.empty()) redeem_script = output.redeem_script; if (witness_script.empty() && !output.witness_script.empty()) witness_script = output.witness_script; if (m_tap_internal_key.IsNull() && !output.m_tap_internal_key.IsNull()) m_tap_internal_key = output.m_tap_internal_key; - if (m_tap_tree.has_value() && !output.m_tap_tree.has_value()) m_tap_tree = output.m_tap_tree; + if (!m_tap_tree.has_value() && output.m_tap_tree.has_value()) m_tap_tree = output.m_tap_tree; } bool PSBTInputSigned(const PSBTInput& input) { -- cgit v1.2.3