Fix multiple mined RBF replacements of the same tx

This commit is contained in:
Mononaut 2023-06-06 11:01:01 -04:00
parent eb8c38e4e8
commit 35d80eec1c
No known key found for this signature in database
GPG Key ID: A3F058E41374C04E

View File

@ -91,6 +91,14 @@ export class Common {
if (replaced.size) { if (replaced.size) {
matches[tx.txid] = { replaced: Array.from(replaced), replacedBy: tx }; matches[tx.txid] = { replaced: Array.from(replaced), replacedBy: tx };
} }
// remove this tx from the spendMap
// prevents the same tx being replaced more than once
for (const vin of tx.vin) {
const key = `${vin.txid}:${vin.vout}`;
if (spendMap.get(key)?.txid === tx.txid) {
spendMap.delete(key);
}
}
} }
return matches; return matches;
} }