aboutsummaryrefslogtreecommitdiff
path: root/src/coins.cpp
diff options
context:
space:
mode:
authorMatt Corallo <git@bluematt.me>2017-06-05 11:50:47 -0400
committerMatt Corallo <git@bluematt.me>2017-06-09 13:10:05 -0400
commit3533fb4d33ecc94a789cb5d4489da22a68fb2168 (patch)
treed4210584798f80828e4a133bb3d72944cf6a414a /src/coins.cpp
parentec1271f2bea52d43bd24fb93d32d24168f8c6a74 (diff)
downloadbitcoin-3533fb4d33ecc94a789cb5d4489da22a68fb2168.tar.xz
Return a bool in SpendCoin to restore pre-per-utxo assert semantics
Since its free to do so, assert that Spends succeeded when we expect them to.
Diffstat (limited to 'src/coins.cpp')
-rw-r--r--src/coins.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/coins.cpp b/src/coins.cpp
index 5b7c562678..b75bd27577 100644
--- a/src/coins.cpp
+++ b/src/coins.cpp
@@ -91,9 +91,9 @@ void AddCoins(CCoinsViewCache& cache, const CTransaction &tx, int nHeight) {
}
}
-void CCoinsViewCache::SpendCoin(const COutPoint &outpoint, Coin* moveout) {
+bool CCoinsViewCache::SpendCoin(const COutPoint &outpoint, Coin* moveout) {
CCoinsMap::iterator it = FetchCoin(outpoint);
- if (it == cacheCoins.end()) return;
+ if (it == cacheCoins.end()) return false;
cachedCoinsUsage -= it->second.coin.DynamicMemoryUsage();
if (moveout) {
*moveout = std::move(it->second.coin);
@@ -104,6 +104,7 @@ void CCoinsViewCache::SpendCoin(const COutPoint &outpoint, Coin* moveout) {
it->second.flags |= CCoinsCacheEntry::DIRTY;
it->second.coin.Clear();
}
+ return true;
}
static const Coin coinEmpty;