X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fwallet.cpp;h=dc1000c0bc3454d60f6cc3f38e143327e834ed4f;hb=9958f531a04f41133dfb10ff14c1422164ec1080;hp=a3cfdf3b2d654f6ac016203e34a31f80d42396e6;hpb=703a3ba444c6f77dd715f08766bf0d514404ce5a;p=novacoin.git diff --git a/src/wallet.cpp b/src/wallet.cpp index a3cfdf3..dc1000c 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -13,8 +13,10 @@ #include "coincontrol.h" #include +#include "main.h" + using namespace std; -extern int nStakeMaxAge; + bool fCoinsDataActual; @@ -1668,8 +1670,8 @@ bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint continue; // Add meta record - // txid => ((txindex, (tx, vout.n)), (block, modifier)) - mapMeta[pcoin->first->GetHash()] = make_pair(make_pair(txindex, *pcoin), make_pair(block, nStakeModifier)); + // (txid, vout.n) => ((txindex, (tx, vout.n)), (block, modifier)) + mapMeta[make_pair(pcoin->first->GetHash(), pcoin->second)] = make_pair(make_pair(txindex, *pcoin), make_pair(block, nStakeModifier)); if (fDebug) printf("Load coin: %s\n", pcoin->first->GetHash().GetHex().c_str()); @@ -1684,7 +1686,7 @@ bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint } - // txid => ((txindex, (tx, vout.n)), (block, modifier)) + // (txid, vout.n) => ((txindex, (tx, vout.n)), (block, modifier)) for(MetaMap::const_iterator meta_item = mapMeta.begin(); meta_item != mapMeta.end(); meta_item++) { // Get coin @@ -1902,7 +1904,7 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int // Add meta record // txid => ((txindex, (tx, vout.n)), (block, modifier)) - mapMeta[pcoin->first->GetHash()] = make_pair(make_pair(txindex, *pcoin), make_pair(block, nStakeModifier)); + mapMeta[make_pair(pcoin->first->GetHash(), pcoin->second)] = make_pair(make_pair(txindex, *pcoin), make_pair(block, nStakeModifier)); if (fDebug) printf("Load coin: %s\n", pcoin->first->GetHash().GetHex().c_str()); @@ -1998,7 +2000,7 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int if (nCredit == 0 || nCredit > nBalance - nReserveBalance) return false; - // txid => ((txindex, (tx, vout.n)), (block, modifier)) + // (txid, vout.n) => ((txindex, (tx, vout.n)), (block, modifier)) for(MetaMap::const_iterator meta_item = mapMeta.begin(); meta_item != mapMeta.end(); meta_item++) { // Get coin