aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Corallo <git@bluematt.me>2014-11-11 16:41:44 -0800
committerMatt Corallo <git@bluematt.me>2014-12-08 14:05:42 -0800
commit868d041622e2f589ab4535c30ce683534b6d4f71 (patch)
treebb46d3a10c60d9601fb38ed9d8f587aab1ee1327
parent4b5b263ac0ee44fe432a713b444df9880cfce4a2 (diff)
Remove coinbase-dependant transactions during reorg.
This still leaves transactions in mempool that are potentially invalid if the maturity period has been reorged out of, but at least they're not missing inputs entirely.
-rw-r--r--src/main.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 70e3973e6c..3a2c167e80 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1892,9 +1892,8 @@ bool static DisconnectTip(CValidationState &state) {
// ignore validation errors in resurrected transactions
list<CTransaction> removed;
CValidationState stateDummy;
- if (!tx.IsCoinBase())
- if (!AcceptToMemoryPool(mempool, stateDummy, tx, false, NULL))
- mempool.remove(tx, removed, true);
+ if (tx.IsCoinBase() || !AcceptToMemoryPool(mempool, stateDummy, tx, false, NULL))
+ mempool.remove(tx, removed, true);
}
mempool.check(pcoinsTip);
// Update chainActive and related variables.