Increase to 777x
This commit is contained in:
56
src/pow.cpp
56
src/pow.cpp
@@ -159,42 +159,34 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHead
|
||||
block11sum = (block12diff - tipdiff);
|
||||
origtarget = bnTarget = arith_uint256().SetCompact(nbits);
|
||||
easy.SetCompact(KOMODO_MINDIFF_NBITS,&fNegative,&fOverflow);
|
||||
bnSum4 = zawy_targetMA(easy,bnSum4,4,block4diff * 5,1);
|
||||
bnSum7 = zawy_targetMA(easy,bnSum7,7,block7diff * 3,1);
|
||||
bnSum12 = zawy_targetMA(easy,bnSum12,12,block12diff * 2,1);
|
||||
if ( bnSum4 < bnSum7 )
|
||||
bnTmp = bnSum4;
|
||||
else bnTmp = bnSum7;
|
||||
if ( bnSum12 < bnTmp )
|
||||
bnTmp = bnSum12;
|
||||
if ( flag == 0 && bnTmp < bnTarget )
|
||||
if ( block3sum < ASSETCHAINS_BLOCKTIME/5 || block6sum < ASSETCHAINS_BLOCKTIME )
|
||||
{
|
||||
flag = 1;
|
||||
bnTarget = (bnTmp + bnPrev) / arith_uint256(2);
|
||||
fprintf(stderr,"ht.%d block12diff %d vs %d, make harder\n",(int32_t)pindexLast->GetHeight()+1,block12diff,ASSETCHAINS_BLOCKTIME*11);
|
||||
if ( block3sum < ASSETCHAINS_BLOCKTIME/5 || block6sum < ASSETCHAINS_BLOCKTIME || block11sum < ASSETCHAINS_BLOCKTIME*5 )
|
||||
bnTarget /= arith_uint256(777);
|
||||
fprintf(stderr,"ht.%d booster triggered 777x\n",(int32_t)pindexLast->GetHeight()+1);
|
||||
flag = -1;
|
||||
}
|
||||
if ( flag == 0 )
|
||||
{
|
||||
bnSum4 = zawy_targetMA(easy,bnSum4,4,block4diff * 5,1);
|
||||
bnSum7 = zawy_targetMA(easy,bnSum7,7,block7diff * 3,1);
|
||||
bnSum12 = zawy_targetMA(easy,bnSum12,12,block12diff * 2,1);
|
||||
if ( bnSum4 < bnSum7 )
|
||||
bnTmp = bnSum4;
|
||||
else bnTmp = bnSum7;
|
||||
if ( bnSum12 < bnTmp )
|
||||
bnTmp = bnSum12;
|
||||
if ( bnTmp < bnTarget )
|
||||
{
|
||||
bnTarget /= arith_uint256(100);
|
||||
fprintf(stderr,"ht.%d booster triggered 100x\n",(int32_t)pindexLast->GetHeight()+1);
|
||||
flag = -1;
|
||||
}
|
||||
if ( 0 )
|
||||
{
|
||||
|
||||
if ( block3sum > 0 && block3sum < ASSETCHAINS_BLOCKTIME/5 )
|
||||
divisor = 15;
|
||||
else if ( block6sum > 0 && block6sum < ASSETCHAINS_BLOCKTIME*2 )
|
||||
divisor = 3;
|
||||
else if ( block11sum > 0 && block11sum < ASSETCHAINS_BLOCKTIME*5 )
|
||||
divisor = 2;
|
||||
if ( divisor != 0 )
|
||||
flag = 1;
|
||||
bnTarget = (bnTmp + bnPrev) / arith_uint256(2);
|
||||
fprintf(stderr,"ht.%d block12diff %d vs %d, make harder\n",(int32_t)pindexLast->GetHeight()+1,block12diff,ASSETCHAINS_BLOCKTIME*11);
|
||||
if ( 0 )
|
||||
{
|
||||
bnTarget /= arith_uint256(divisor);
|
||||
fprintf(stderr,"special booster block3sum.%d block6sum.%d tipdiff.%d -> %d, divisor.%d\n",block3sum,block6sum,tipdiff,1000*tipdiff/60,divisor);
|
||||
if ( 0 && 1000*tipdiff/60 < 1000 )
|
||||
fprintf(stderr,"booster block3sum.%d block6sum.%d tipdiff.%d -> %d, divisor.%d\n",block3sum,block6sum,tipdiff,1000*tipdiff/180,divisor);
|
||||
if ( 0 && 1000*tipdiff/180 < 1000 )
|
||||
{
|
||||
fprintf(stderr,"special booster block3sum.%d block6sum.%d tipdiff.%d -> %d\n",block3sum,block6sum,tipdiff,1000*tipdiff/60);
|
||||
bnTarget = bnTarget * arith_uint256(1000*tipdiff/60) / arith_uint256(1000);
|
||||
fprintf(stderr,"special booster block3sum.%d block6sum.%d tipdiff.%d -> %d\n",block3sum,block6sum,tipdiff,1000*tipdiff/180);
|
||||
bnTarget = bnTarget * arith_uint256(1000*tipdiff/180) / arith_uint256(1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user