From 7d2f4472bc55b6c9cb5e71898880334f63278a1b Mon Sep 17 00:00:00 2001 From: sanket1729 Date: Thu, 3 Jun 2021 12:38:47 -0700 Subject: [PATCH] set nNonce to Null in CoinsView --- src/coins.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/coins.cpp b/src/coins.cpp index b3cfb2dda80..a326f3f9a7e 100644 --- a/src/coins.cpp +++ b/src/coins.cpp @@ -24,7 +24,10 @@ bool CCoinsView::HaveCoin(const COutPoint &outpoint) const } CCoinsViewBacked::CCoinsViewBacked(CCoinsView *viewIn) : base(viewIn) { } -bool CCoinsViewBacked::GetCoin(const COutPoint &outpoint, Coin &coin) const { return base->GetCoin(outpoint, coin); } +bool CCoinsViewBacked::GetCoin(const COutPoint &outpoint, Coin &coin) const { + assert(coin.out.nNonce.IsNull()); + return base->GetCoin(outpoint, coin); +} bool CCoinsViewBacked::HaveCoin(const COutPoint &outpoint) const { return base->HaveCoin(outpoint); } uint256 CCoinsViewBacked::GetBestBlock() const { return base->GetBestBlock(); } std::vector CCoinsViewBacked::GetHeadBlocks() const { return base->GetHeadBlocks(); } @@ -51,8 +54,10 @@ static inline CCoinsMapKey native_key(const COutPoint& outpoint) { CCoinsMap::iterator CCoinsViewCache::FetchCoin(const COutPoint &outpoint) const { CCoinsMap::iterator it = cacheCoins.find(native_key(outpoint)); - if (it != cacheCoins.end()) + if (it != cacheCoins.end()) { + assert(it->second.coin.out.nNonce.IsNull()); return it; + } Coin tmp; if (!base->GetCoin(outpoint, tmp)) return cacheCoins.end(); @@ -79,6 +84,7 @@ bool CCoinsViewCache::GetCoin(const COutPoint &outpoint, Coin &coin) const { void CCoinsViewCache::AddCoin(const COutPoint &outpoint, Coin&& coin, bool possible_overwrite) { assert(!coin.IsSpent()); + coin.out.nNonce = CConfidentialNonce(); if (coin.out.scriptPubKey.IsUnspendable()) return; CCoinsMap::iterator it; bool inserted;