X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fkernel.cpp;h=876e829bf0c55a0b829dfa0c4c1f6e792df7bca2;hb=5098ea454db9132aa0f576921ca9d1a69429d146;hp=b18ae2b7c180f836f687b46f019c134ba17cd513;hpb=89d4073d0a6545330af16bb8b2352881b6f55cf5;p=novacoin.git diff --git a/src/kernel.cpp b/src/kernel.cpp index b18ae2b..876e829 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -9,7 +9,7 @@ #include "kernel.h" #include "kernel_worker.h" -#include "txdb.h" +#include "txdb-leveldb.h" extern unsigned int nStakeMaxAge; extern unsigned int nStakeTargetSpacing; @@ -31,7 +31,7 @@ typedef std::map MapModifierCheckpoints; // Hard checkpoints of stake modifiers to ensure they are deterministic static std::map mapStakeModifierCheckpoints = boost::assign::map_list_of - ( 0, 0x0e00670bu ) + ( 0, 0x0e00670bu ) ( 12661, 0x5d84115du ) (143990, 0x9c592c78u ) (149000, 0x48f2bdc4u ) @@ -39,6 +39,9 @@ static std::map mapStakeModifierCheckpoints = (200000, 0x01ec1503u ) (221047, 0x0b39ef50u ) (243100, 0xe928d83au ) + (532000, 0x3e5c2b81u ) + (561108, 0x9c1860b0u ) + (712891, 0xee193895u ) ; // Hard checkpoints of stake modifiers to ensure they are deterministic (testNet) @@ -140,7 +143,7 @@ static bool SelectBlockFromCandidates(vector >& vSortedBy bool fSelected = false; uint256 hashBest = 0; *pindexSelected = (const CBlockIndex*) 0; - BOOST_FOREACH(const PAIRTYPE(int64_t, uint256)& item, vSortedByTimestamp) + for (const auto& item : vSortedByTimestamp) { if (!mapBlockIndex.count(item.second)) return error("SelectBlockFromCandidates: failed to find block index for candidate block %s", item.second.ToString().c_str()); @@ -286,7 +289,7 @@ bool ComputeNextStakeModifier(const CBlockIndex* pindexCurrent, uint64_t& nStake strSelectionMap.replace(pindex->nHeight - nHeightFirstCandidate, 1, "="); pindex = pindex->pprev; } - BOOST_FOREACH(const PAIRTYPE(uint256, const CBlockIndex*)& item, mapSelectedBlocks) + for (const auto& item : mapSelectedBlocks) { // 'S' indicates selected proof-of-stake blocks // 'W' indicates selected proof-of-work blocks @@ -490,10 +493,6 @@ bool CheckProofOfStake(const CTransaction& tx, unsigned int nBits, uint256& hash if (!txPrev.ReadFromDisk(txdb, txin.prevout, txindex)) return tx.DoS(1, error("CheckProofOfStake() : INFO: read txPrev failed")); // previous transaction not in main chain, may occur during initial download -#ifndef USE_LEVELDB - txdb.Close(); -#endif - // Verify signature if (!VerifySignature(txPrev, tx, 0, MANDATORY_SCRIPT_VERIFY_FLAGS, 0)) return tx.DoS(100, error("CheckProofOfStake() : VerifySignature failed on coinstake %s", tx.GetHash().ToString().c_str()));