wallet: IsEquivalentTo should strip witness data in addition to scriptsigs

This commit is contained in:
Cory Fields
2025-06-10 19:58:48 +00:00
parent 157bbd0a07
commit e9331cd6ab

View File

@@ -13,8 +13,14 @@ bool CWalletTx::IsEquivalentTo(const CWalletTx& _tx) const
{
CMutableTransaction tx1 {*this->tx};
CMutableTransaction tx2 {*_tx.tx};
for (auto& txin : tx1.vin) txin.scriptSig = CScript();
for (auto& txin : tx2.vin) txin.scriptSig = CScript();
for (auto& txin : tx1.vin) {
txin.scriptSig = CScript();
txin.scriptWitness.SetNull();
}
for (auto& txin : tx2.vin) {
txin.scriptSig = CScript();
txin.scriptWitness.SetNull();
}
return CTransaction(tx1) == CTransaction(tx2);
}