From b1f9dbbcecb1883621ef36521ac996860546befb Mon Sep 17 00:00:00 2001 From: jl777 Date: Wed, 7 Aug 2019 09:32:01 -1100 Subject: [PATCH] Fix TSA overflow and /= tip-off --- src/pow.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pow.cpp b/src/pow.cpp index d511c8e5d..59a8d5006 100644 --- a/src/pow.cpp +++ b/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--)