From 35f7f057ca658574f742f209a30cc8bb64c54974 Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 29 Jul 2019 07:13:29 -1100 Subject: [PATCH] Tweak -ac_adaptivepow --- src/pow.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pow.cpp b/src/pow.cpp index a2d1f7327..09fdf0c9c 100644 --- a/src/pow.cpp +++ b/src/pow.cpp @@ -456,13 +456,16 @@ bool CheckProofOfWork(const CBlockHeader &blkHeader, uint8_t *pubkey33, int32_t else if ( ASSETCHAINS_ADAPTIVEPOW != 0 && ASSETCHAINS_STAKED == 0 ) { arith_uint256 origtarget; - uint32_t elapsed = (blkHeader.nTime - komodo_heightstamp(height)); + uint32_t elapsed = (blkHeader.nTime - komodo_heightstamp(height-1)); if ( elapsed > 777 ) { elapsed -= 777; - bnTarget = bnTarget / arith_uint256(elapsed * elapsed); - if ( bnTarget > origtarget ) + bnTarget = bnTarget * arith_uint256(elapsed * elapsed); + if ( bnTarget < origtarget ) // deal with underflow + { bnTarget.SetCompact(KOMODO_MINDIFF_NBITS,&fNegative,&fOverflow); + fprintf(stderr,"underflowed, set to mindiff\n"); + } else fprintf(stderr,"elapsed %d, adjust by factor of %d\n",elapsed+777,elapsed*elapsed); } } // Check proof of work matches claimed amount