mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-20 15:19:07 +01:00
Convert non-witness UTXOs to witness if witness sig created
If a witness signature was created when a non-witness UTXO is used, convert the non-witness UTXO to a witness one.
This commit is contained in:
@@ -4525,6 +4525,13 @@ bool FillPSBT(const CWallet* pwallet, PartiallySignedTransaction& psbtx, const C
|
|||||||
complete &= SignPSBTInput(PublicOnlySigningProvider(pwallet), *psbtx.tx, input, sigdata, i, sighash_type);
|
complete &= SignPSBTInput(PublicOnlySigningProvider(pwallet), *psbtx.tx, input, sigdata, i, sighash_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sigdata.witness) {
|
||||||
|
// Convert the non-witness utxo to witness
|
||||||
|
if (input.witness_utxo.IsNull() && input.non_witness_utxo) {
|
||||||
|
input.witness_utxo = input.non_witness_utxo->vout[txin.prevout.n];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// If both UTXO types are present, drop the unnecessary one.
|
// If both UTXO types are present, drop the unnecessary one.
|
||||||
if (input.non_witness_utxo && !input.witness_utxo.IsNull()) {
|
if (input.non_witness_utxo && !input.witness_utxo.IsNull()) {
|
||||||
if (sigdata.witness) {
|
if (sigdata.witness) {
|
||||||
|
|||||||
Reference in New Issue
Block a user