Skip to content

Commit

Permalink
unbreak some stuff that I broke in the previous's previous commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Charles Samuels committed Feb 26, 2014
1 parent ebdd555 commit e19485b
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 52 deletions.
61 changes: 11 additions & 50 deletions cppForSwig/BlockUtils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3407,55 +3407,15 @@ uint32_t BlockDataManager_LevelDB::numBlocksToRescan( BtcWallet & wlt,


////////////////////////////////////////////////////////////////////////////////
void BlockDataManager_LevelDB::updateRegisteredScrAddrs2(uint32_t newTopBlk)
void BlockDataManager_LevelDB::updateRegisteredScrAddrs(uint32_t newTopBlk)
{
if(DBUtils.getArmoryDbType() != ARMORY_DB_BARE)
{
LOGERR << "Should only use updateRegisteredScrAddrs2 in ARMORY_DB_BARE mode";
LOGERR << "Aborting save operation.";
return;
}

iface_->startBatch(BLKDATA);

uint32_t i=0;
set<BtcWallet*>::iterator wltIter;
for(wltIter = registeredWallets_.begin();
wltIter != registeredWallets_.end();
wltIter++)
map<HashString, RegisteredScrAddr>::iterator rsaIter;
for(rsaIter = registeredScrAddrMap_.begin();
rsaIter != registeredScrAddrMap_.end();
rsaIter++)
{
for(uint32_t a=0; a<(*wltIter)->getNumScrAddr(); a++)
{
ScrAddrObj & scrAddr = (*wltIter)->getScrAddrObjByIndex(a);
BinaryData uniqKey = scrAddr.getScrAddr();

if(KEY_NOT_IN_MAP(uniqKey, registeredScrAddrMap_))
{
LOGERR << "How does the wallet have a non-registered ScrAddr?";
LOGERR << uniqKey.toHexStr().c_str();
continue;
}

RegisteredScrAddr & rsa = registeredScrAddrMap_[uniqKey];
if (rsa.alreadyScannedUpToBlk_ != newTopBlk)
{
rsa.alreadyScannedUpToBlk_ = newTopBlk;

StoredScriptHistory ssh;
ssh.uniqueKey_ = scrAddr.getScrAddr();
ssh.version_ = ARMORY_DB_VERSION;
ssh.alreadyScannedUpToBlk_ = rsa.alreadyScannedUpToBlk_;

vector<TxIOPair*> & txioList = scrAddr.getTxIOList();
for(uint32_t t=0; t<txioList.size(); t++)
ssh.insertTxio(*(txioList[t]));

iface_->putStoredScriptHistory(ssh);
}
}
rsaIter->second.alreadyScannedUpToBlk_ = newTopBlk;
}

iface_->commitBatch(BLKDATA);
}

////////////////////////////////////////////////////////////////////////////////
Expand All @@ -3474,7 +3434,7 @@ void BlockDataManager_LevelDB::resetRegisteredWallets(void)
}

// Reset all addresses to "new"
updateRegisteredScrAddrs2(0);
updateRegisteredScrAddrs(0);
}

/////////////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -3557,7 +3517,7 @@ void BlockDataManager_LevelDB::scanBlockchainForTx(BtcWallet & myWallet,
scanDBForRegisteredTx(allScannedUpToBlk_, endBlknum);

allScannedUpToBlk_ = endBlknum;
updateRegisteredScrAddrs2(endBlknum);
updateRegisteredScrAddrs(endBlknum);


// *********************************************************************** //
Expand Down Expand Up @@ -4534,6 +4494,7 @@ void BlockDataManager_LevelDB::buildAndScanDatabases(
// Update registered address list so we know what's already been scanned
lastTopBlock_ = getTopBlockHeight() + 1;
allScannedUpToBlk_ = lastTopBlock_;
updateRegisteredScrAddrs(lastTopBlock_);

// Since loading takes so long, there's a good chance that new block data
// came in... let's get it.
Expand Down Expand Up @@ -4852,7 +4813,7 @@ void BlockDataManager_LevelDB::deleteHistories(void)


////////////////////////////////////////////////////////////////////////////////
void BlockDataManager_LevelDB::_saveScrAddrHistories(void)
void BlockDataManager_LevelDB::saveScrAddrHistories(void)
{
LOGINFO << "Saving wallet history to DB";

Expand Down Expand Up @@ -5105,7 +5066,7 @@ uint32_t BlockDataManager_LevelDB::readBlkFileUpdate(void)
if(prevRegisteredUpToDate)
{
allScannedUpToBlk_ = getTopBlockHeight()+1;
updateRegisteredScrAddrs2(allScannedUpToBlk_);
updateRegisteredScrAddrs(allScannedUpToBlk_);
}

// If the blk file split, switch to tracking it
Expand Down
4 changes: 2 additions & 2 deletions cppForSwig/BlockUtils.h
Original file line number Diff line number Diff line change
Expand Up @@ -768,7 +768,7 @@ class BlockDataManager_LevelDB
uint32_t evalLowestScrAddrCreationBlock(void);
bool evalRescanIsRequired(void);
uint32_t numBlocksToRescan(BtcWallet & wlt, uint32_t topBlk=UINT32_MAX);
void updateRegisteredScrAddrs2(uint32_t newTopBlk);
void updateRegisteredScrAddrs(uint32_t newTopBlk);

bool walletIsRegistered(BtcWallet & wlt);
bool scrAddrIsRegistered(HashString scrAddr);
Expand Down Expand Up @@ -848,7 +848,7 @@ class BlockDataManager_LevelDB


void deleteHistories(void);
void _saveScrAddrHistories(void);
void saveScrAddrHistories(void);

void fetchAllRegisteredScrAddrData(void);
void fetchAllRegisteredScrAddrData(BtcWallet & myWlt);
Expand Down

0 comments on commit e19485b

Please sign in to comment.