From 6cff82722f47b589a6a2cb264bfce20f4d45426a Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Mon, 2 May 2022 11:28:49 -0400 Subject: sign: Use sigdata taproot spenddata when signing The taproot spenddata stored in a sigdata is the combination of data existing previously (e.g. in a PSBT) and the data stored in a SigningProvider. In order to use the external data when signing, we need to be using the sigdata's spenddata. --- src/script/sign.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/script/sign.cpp b/src/script/sign.cpp index 12f2ec4d3a..a3681d26cc 100644 --- a/src/script/sign.cpp +++ b/src/script/sign.cpp @@ -230,16 +230,16 @@ static bool SignTaproot(const SigningProvider& provider, const BaseSignatureCrea // Try key path spending. { KeyOriginInfo info; - if (provider.GetKeyOriginByXOnly(spenddata.internal_key, info)) { - auto it = sigdata.taproot_misc_pubkeys.find(spenddata.internal_key); + if (provider.GetKeyOriginByXOnly(sigdata.tr_spenddata.internal_key, info)) { + auto it = sigdata.taproot_misc_pubkeys.find(sigdata.tr_spenddata.internal_key); if (it == sigdata.taproot_misc_pubkeys.end()) { - sigdata.taproot_misc_pubkeys.emplace(spenddata.internal_key, std::make_pair(std::set(), info)); + sigdata.taproot_misc_pubkeys.emplace(sigdata.tr_spenddata.internal_key, std::make_pair(std::set(), info)); } } std::vector sig; if (sigdata.taproot_key_path_sig.size() == 0) { - if (creator.CreateSchnorrSig(provider, sig, spenddata.internal_key, nullptr, &spenddata.merkle_root, SigVersion::TAPROOT)) { + if (creator.CreateSchnorrSig(provider, sig, sigdata.tr_spenddata.internal_key, nullptr, &sigdata.tr_spenddata.merkle_root, SigVersion::TAPROOT)) { sigdata.taproot_key_path_sig = sig; } } -- cgit v1.2.3