@@ -194,11 +194,17 @@ void PSBTInput::Merge(const PSBTInput& input)
194
194
hash256_preimages.insert (input.hash256_preimages .begin (), input.hash256_preimages .end ());
195
195
hd_keypaths.insert (input.hd_keypaths .begin (), input.hd_keypaths .end ());
196
196
unknown.insert (input.unknown .begin (), input.unknown .end ());
197
+ m_tap_script_sigs.insert (input.m_tap_script_sigs .begin (), input.m_tap_script_sigs .end ());
198
+ m_tap_scripts.insert (input.m_tap_scripts .begin (), input.m_tap_scripts .end ());
199
+ m_tap_bip32_paths.insert (input.m_tap_bip32_paths .begin (), input.m_tap_bip32_paths .end ());
197
200
198
201
if (redeem_script.empty () && !input.redeem_script .empty ()) redeem_script = input.redeem_script ;
199
202
if (witness_script.empty () && !input.witness_script .empty ()) witness_script = input.witness_script ;
200
203
if (final_script_sig.empty () && !input.final_script_sig .empty ()) final_script_sig = input.final_script_sig ;
201
204
if (final_script_witness.IsNull () && !input.final_script_witness .IsNull ()) final_script_witness = input.final_script_witness ;
205
+ if (m_tap_key_sig.empty () && !input.m_tap_key_sig .empty ()) m_tap_key_sig = input.m_tap_key_sig ;
206
+ if (m_tap_internal_key.IsNull () && !input.m_tap_internal_key .IsNull ()) m_tap_internal_key = input.m_tap_internal_key ;
207
+ if (m_tap_merkle_root.IsNull () && !input.m_tap_merkle_root .IsNull ()) m_tap_merkle_root = input.m_tap_merkle_root ;
202
208
}
203
209
204
210
void PSBTOutput::FillSignatureData (SignatureData& sigdata) const
@@ -254,9 +260,12 @@ void PSBTOutput::Merge(const PSBTOutput& output)
254
260
{
255
261
hd_keypaths.insert (output.hd_keypaths .begin (), output.hd_keypaths .end ());
256
262
unknown.insert (output.unknown .begin (), output.unknown .end ());
263
+ m_tap_bip32_paths.insert (output.m_tap_bip32_paths .begin (), output.m_tap_bip32_paths .end ());
257
264
258
265
if (redeem_script.empty () && !output.redeem_script .empty ()) redeem_script = output.redeem_script ;
259
266
if (witness_script.empty () && !output.witness_script .empty ()) witness_script = output.witness_script ;
267
+ if (m_tap_internal_key.IsNull () && !output.m_tap_internal_key .IsNull ()) m_tap_internal_key = output.m_tap_internal_key ;
268
+ if (m_tap_tree.has_value () && !output.m_tap_tree .has_value ()) m_tap_tree = output.m_tap_tree ;
260
269
}
261
270
bool PSBTInputSigned (const PSBTInput& input)
262
271
{
0 commit comments