From 99ba67a0d19a27366cff62ce5a26f972ef618d91 Mon Sep 17 00:00:00 2001 From: jl777 Date: Wed, 25 Jul 2018 00:00:29 -1100 Subject: [PATCH] insync flag --- src/komodo_globals.h | 2 +- src/main.cpp | 8 ++++++-- src/miner.cpp | 16 +++++++--------- src/rpcnet.cpp | 1 + 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/komodo_globals.h b/src/komodo_globals.h index 8dfc7108c..c4ba26eb6 100644 --- a/src/komodo_globals.h +++ b/src/komodo_globals.h @@ -46,7 +46,7 @@ struct komodo_state KOMODO_STATES[34]; int COINBASE_MATURITY = _COINBASE_MATURITY;//100; int32_t IS_KOMODO_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,ASSETCHAINS_SEED,KOMODO_ON_DEMAND,KOMODO_EXTERNAL_NOTARIES,KOMODO_PASSPORT_INITDONE,KOMODO_PAX,KOMODO_EXCHANGEWALLET,KOMODO_REWIND; -int32_t KOMODO_LASTMINED,prevKOMODO_LASTMINED,JUMBLR_PAUSE = 1; +int32_t KOMODO_INSYNC,KOMODO_LASTMINED,prevKOMODO_LASTMINED,JUMBLR_PAUSE = 1; std::string NOTARY_PUBKEY,ASSETCHAINS_NOTARIES,ASSETCHAINS_OVERRIDE_PUBKEY,DONATION_PUBKEY; uint8_t NOTARY_PUBKEY33[33],ASSETCHAINS_OVERRIDE_PUBKEY33[33],ASSETCHAINS_PUBLIC,ASSETCHAINS_PRIVATE; diff --git a/src/main.cpp b/src/main.cpp index 80d90ba96..c6d6dee17 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -56,7 +56,7 @@ using namespace std; CCriticalSection cs_main; extern uint8_t NOTARY_PUBKEY33[33]; -extern int32_t KOMODO_LOADINGBLOCKS,KOMODO_LONGESTCHAIN; +extern int32_t KOMODO_LOADINGBLOCKS,KOMODO_LONGESTCHAIN,KOMODO_INSYNC; int32_t KOMODO_NEWBLOCKS; int32_t komodo_block2pubkey33(uint8_t *pubkey33,CBlock *block); void komodo_broadcast(CBlock *pblock,int32_t limit); @@ -3471,7 +3471,11 @@ bool static ConnectTip(CValidationState &state, CBlockIndex *pindexNew, CBlock * int64_t nTime6 = GetTimeMicros(); nTimePostConnect += nTime6 - nTime5; nTimeTotal += nTime6 - nTime1; LogPrint("bench", " - Connect postprocess: %.2fms [%.2fs]\n", (nTime6 - nTime5) * 0.001, nTimePostConnect * 0.000001); LogPrint("bench", "- Connect block: %.2fms [%.2fs]\n", (nTime6 - nTime1) * 0.001, nTimeTotal * 0.000001); - if ( ASSETCHAINS_SYMBOL[0] == 0 ) + if ( KOMODO_LONGESTCHAIN != 0 && pindexNew->nHeight >= KOMODO_LONGESTCHAIN+1 ) + KOMODO_INSYNC = 1; + else KOMODO_INSYNC = 0; + fprintf(stderr,"connect.%d insync.%d\n",(int32_t)pindexNew->nHeight,KOMODO_INSYNC); + if ( ASSETCHAINS_SYMBOL[0] == 0 && KOMODO_INSYNC != 0 ) komodo_broadcast(pblock,8); return true; } diff --git a/src/miner.cpp b/src/miner.cpp index e377f69c4..93981c552 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -699,7 +699,7 @@ int32_t komodo_baseid(char *origbase); int32_t komodo_eligiblenotary(uint8_t pubkeys[66][33],int32_t *mids,uint32_t *blocktimes,int32_t *nonzpkeysp,int32_t height); arith_uint256 komodo_PoWtarget(int32_t *percPoSp,arith_uint256 target,int32_t height,int32_t goalperc); int32_t FOUND_BLOCK,KOMODO_MAYBEMINED; -extern int32_t KOMODO_LASTMINED; +extern int32_t KOMODO_LASTMINED,KOMODO_INSYNC; int32_t roundrobin_delay; arith_uint256 HASHTarget,HASHTarget_POW; @@ -725,7 +725,7 @@ void static BitcoinMiner() unsigned int n = chainparams.EquihashN(); unsigned int k = chainparams.EquihashK(); uint8_t *script; uint64_t total,checktoshis; int32_t i,j,gpucount=KOMODO_MAXGPUCOUNT,notaryid = -1; - while ( (ASSETCHAIN_INIT == 0 || KOMODO_INITDONE == 0) ) //chainActive.LastTip()->nHeight != 235300 && + while ( (ASSETCHAIN_INIT == 0 || KOMODO_INITDONE == 0) ) { sleep(1); if ( komodo_baseid(ASSETCHAINS_SYMBOL) < 0 ) @@ -911,13 +911,11 @@ void static BitcoinMiner() } while (true) { - /*if ( 0 && ASSETCHAINS_SYMBOL[0] != 0 && pblock->vtx[0].vout.size() == 1 && Mining_height > ASSETCHAINS_MINHEIGHT ) // skips when it shouldnt - { - fprintf(stderr,"skip generating %s on-demand block, no tx avail\n",ASSETCHAINS_SYMBOL); - sleep(10); - break; - }*/ - //fprintf(stderr,"top of while\n"); + if ( KOMODO_INSYNC == 0 ) + { + fprintf(stderr,"Mining when blockchain might not be in sync\n"); + sleep(3); + } // Hash state KOMODO_CHOSEN_ONE = 0; crypto_generichash_blake2b_state state; diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp index ec4c7be2a..33a1c317d 100644 --- a/src/rpcnet.cpp +++ b/src/rpcnet.cpp @@ -197,6 +197,7 @@ int32_t komodo_longestchain() if ( num > (n >> 1) ) { KOMODO_LONGESTCHAIN = height; + fprintf(stderr,"set KOMODO_LONGESTCHAIN <- %d\n",height); return(height); } KOMODO_LONGESTCHAIN = 0;