From 9ebb63d751aade072be7976164f95d689582d3f5 Mon Sep 17 00:00:00 2001 From: jl777 Date: Thu, 20 Oct 2016 07:33:44 -0300 Subject: [PATCH] test --- src/pow.cpp | 10 ++++++++-- src/txdb.cpp | 4 +--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/pow.cpp b/src/pow.cpp index 1ac28c73b..07686a41d 100644 --- a/src/pow.cpp +++ b/src/pow.cpp @@ -122,7 +122,12 @@ bool CheckProofOfWork(int32_t height,uint8_t *pubkey33,uint256 hash, unsigned in fprintf(stderr," height.%d special.%d\n",height,special); if ( special < 0 ) bnTarget /= 8; - else bnTarget.SetCompact(KOMODO_MINDIFF_NBITS,&fNegative,&fOverflow); + else + { + if (UintToArith256(hash) <= bnTarget) // accept normal diff + return true; + bnTarget.SetCompact(KOMODO_MINDIFF_NBITS,&fNegative,&fOverflow); + } } // Check range @@ -131,8 +136,9 @@ bool CheckProofOfWork(int32_t height,uint8_t *pubkey33,uint256 hash, unsigned in // Check proof of work matches claimed amount if (UintToArith256(hash) > bnTarget) + { return error("CheckProofOfWork(): hash doesn't match nBits"); - + } return true; } diff --git a/src/txdb.cpp b/src/txdb.cpp index ea34d8b77..33a960a82 100644 --- a/src/txdb.cpp +++ b/src/txdb.cpp @@ -266,8 +266,6 @@ bool CBlockTreeDB::ReadFlag(const std::string &name, bool &fValue) { return true; } -int32_t komodo_blockindexcheck(CBlockIndex *pindex,uint32_t *nBitsp); - bool CBlockTreeDB::LoadBlockIndexGuts() { boost::scoped_ptr pcursor(NewIterator()); @@ -308,7 +306,7 @@ bool CBlockTreeDB::LoadBlockIndexGuts() pindexNew->nTx = diskindex.nTx; uint8_t pubkey33[33]; komodo_index2pubkey33(pubkey33,pindexNew); - if (!CheckProofOfWork(pindexNew->height,pubkey33,pindexNew->GetBlockHash(), pindexNew->nBits, Params().GetConsensus())) + if (!CheckProofOfWork(pindexNew->nHeight,pubkey33,pindexNew->GetBlockHash(), pindexNew->nBits, Params().GetConsensus())) return error("LoadBlockIndex(): CheckProofOfWork failed: %s", pindexNew->ToString()); pcursor->Next(); } else {