diff --git a/src/miner.cpp b/src/miner.cpp index 94e89325a..59ef7e549 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -618,8 +618,11 @@ void static BitcoinMiner(CWallet *pwallet) arith_uint256 hashTarget = arith_uint256().SetCompact(pblock->nBits); if ( ASSETCHAINS_SYMBOL[0] == 0 && komodo_is_special(pindexPrev->nHeight+1,NOTARY_PUBKEY33) > 0 ) { - hashTarget = arith_uint256().SetCompact(KOMODO_MINDIFF_NBITS); - fprintf(stderr,"I am the chosen one for %s ht.%d\n",ASSETCHAINS_SYMBOL,pindexPrev->nHeight+1); + if ( (Mining_height % KOMODO_ELECTION_GAP) > 64 || (Mining_height % KOMODO_ELECTION_GAP) == 0 ) + { + hashTarget = arith_uint256().SetCompact(KOMODO_MINDIFF_NBITS); + fprintf(stderr,"I am the chosen one for %s ht.%d\n",ASSETCHAINS_SYMBOL,pindexPrev->nHeight+1); + } else Mining_start = 0; } else Mining_start = 0; while (true) { diff --git a/src/pow.cpp b/src/pow.cpp index 922a0a9bc..262fadb56 100644 --- a/src/pow.cpp +++ b/src/pow.cpp @@ -163,7 +163,7 @@ bool CheckProofOfWork(int32_t height,uint8_t *pubkey33,uint256 hash, unsigned in for (i=31; i>=0; i--) printf("%02x",((uint8_t *)&bnTarget)[i]); printf(" ht.%d REWIND.%d special.%d notaryid.%d ht.%d mod.%d error\n",height,KOMODO_REWIND,special,notaryid,height,(height % 35)); - if ( height < 90000 || height > 110000 ) + if ( height < 90000 || (height > 110000 && KOMODO_REWIND == 0) ) return error("CheckProofOfWork(): hash doesn't match nBits"); } }