Browse Source

Fix TSA overflow and /= tip-off

pull/37/head
jl777 5 years ago
parent
commit
b1f9dbbcec
  1. 8
      src/pow.cpp

8
src/pow.cpp

@ -346,16 +346,16 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHead
if ( zflags[i] != 0 )
ct[i] = zawy_ctB(ct[i],ts[i] - ts[i+1]);
}
if ( ASSETCHAINS_ADAPTIVEPOW == 2 )
if ( ASSETCHAINS_ADAPTIVEPOW == 1 ) // TSA
{
arith_uint256 A,B,C;
if ( tipdiff < 2 )
tipdiff = 2;
bnTarget = ct[0] / arith_uint256(K);
bnTarget = ct[0] / arith_uint256(K*T);
A = bnTarget * arith_uint256(T);
B = bnTarget * arith_uint256(tipdiff * zawy_exponential_val360000(tipdiff/2)) / arith_uint256(360000);
C = bnTarget * arith_uint256(T * tipdiff * zawy_exponential_val360000(tipdiff/2)) / arith_uint256(360000);
bnTarget = (A + B - C) * arith_uint256(K);
C = bnTarget * arith_uint256(T * zawy_exponential_val360000(tipdiff/2)) / arith_uint256(360000);
bnTarget = (A + B - C) * arith_uint256(K*T) / arith_uint256(tipdiff);
{
int32_t z;
for (z=31; z>=0; z--)

Loading…
Cancel
Save