Mercurial > hg > bitcoin
changeset 662:7c199878b235 draft
Merge pull request #255 from sipa/rescanupdate
Update transactions already in the wallet when rescanning.
author | Jeff Garzik <jgarzik@exmulti.com> |
---|---|
date | Sun, 05 Jun 2011 07:30:47 -0700 |
parents | e0f51be703ca (current diff) 4e574f5be383 (diff) |
children | 2a5e1dcb0a8d |
files | src/main.cpp src/main.h |
diffstat | 3 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/init.cpp +++ b/src/init.cpp @@ -383,7 +383,7 @@ { printf("Rescanning last %i blocks (from block %i)...\n", pindexBest->nHeight - pindexRescan->nHeight, pindexRescan->nHeight); nStart = GetTimeMillis(); - ScanForWalletTransactions(pindexRescan); + ScanForWalletTransactions(pindexRescan, true); printf(" rescan %15"PRI64d"ms\n", GetTimeMillis() - nStart); }
--- a/src/main.cpp +++ b/src/main.cpp @@ -884,7 +884,7 @@ return false; } -int ScanForWalletTransactions(CBlockIndex* pindexStart) +int ScanForWalletTransactions(CBlockIndex* pindexStart, bool fUpdate) { int ret = 0; @@ -897,7 +897,7 @@ block.ReadFromDisk(pindex, true); BOOST_FOREACH(CTransaction& tx, block.vtx) { - if (AddToWalletIfInvolvingMe(tx, &block)) + if (AddToWalletIfInvolvingMe(tx, &block, fUpdate)) ret++; } pindex = pindex->pnext;
--- a/src/main.h +++ b/src/main.h @@ -87,7 +87,7 @@ std::vector<unsigned char> GenerateNewKey(); bool AddToWallet(const CWalletTx& wtxIn); void WalletUpdateSpent(const COutPoint& prevout); -int ScanForWalletTransactions(CBlockIndex* pindexStart); +int ScanForWalletTransactions(CBlockIndex* pindexStart, bool fUpdate = false); void ReacceptWalletTransactions(); bool LoadBlockIndex(bool fAllowNew=true); void PrintBlockTree();