Browse Source

Make the test pass by fixing the bug!

pull/4/head
Jack Grigg 8 years ago
parent
commit
9d2cc3a784
No known key found for this signature in database GPG Key ID: 6A6914DAFBEA00DA
  1. 21
      src/wallet/wallet.cpp

21
src/wallet/wallet.cpp

@ -756,16 +756,19 @@ void CWallet::DecrementNoteWitnesses(const CBlockIndex* pindex)
CNoteData* nd = &(item.second);
// Check the validity of the cache
assert(nWitnessCacheSize >= nd->witnesses.size());
// Witnesses being decremented should always be either -1
// (never incremented or decremented) or equal to pindex
assert((nd->witnessHeight == -1) ||
(nd->witnessHeight == pindex->nHeight));
if (nd->witnesses.size() > 0) {
nd->witnesses.pop_front();
// Only increment witnesses that are not above the current height
if (nd->witnessHeight <= pindex->nHeight) {
// Witnesses being decremented should always be either -1
// (never incremented or decremented) or equal to pindex
assert((nd->witnessHeight == -1) ||
(nd->witnessHeight == pindex->nHeight));
if (nd->witnesses.size() > 0) {
nd->witnesses.pop_front();
}
// pindex is the block being removed, so the new witness cache
// height is one below it.
nd->witnessHeight = pindex->nHeight - 1;
}
// pindex is the block being removed, so the new witness cache
// height is one below it.
nd->witnessHeight = pindex->nHeight - 1;
}
}
nWitnessCacheSize -= 1;

Loading…
Cancel
Save