diff --git a/src/komodo_interest.h b/src/komodo_interest.h index 0df7489d1..bf05f0dd0 100644 --- a/src/komodo_interest.h +++ b/src/komodo_interest.h @@ -80,7 +80,7 @@ uint64_t komodo_interest(int32_t txheight,uint64_t nValue,uint32_t nLockTime,uin denominator = (((uint64_t)365 * 24 * 60) / minutes); if ( denominator == 0 ) denominator = 1; // max KOMODO_INTEREST per transfer, do it at least annually! - if ( nValue > 25000LL*COIN || tiptime >= 1490531630 ) + if ( nValue > 25000LL*COIN ) { exception = 0; if ( txheight <= 155949 ) @@ -106,21 +106,7 @@ uint64_t komodo_interest(int32_t txheight,uint64_t nValue,uint32_t nLockTime,uin if ( exception == 0 ) { numerator = (nValue / 20); // assumes 5%! - if ( txheight < 250000 ) - interest = (numerator / denominator); - else - { - if ( nValue < 100000LL*COIN ) - { - printf("post 250K, < 100000 KMD path\n"); - interest = (numerator * minutes) / ((uint64_t)365 * 24 * 60); - } - else - { - printf("post 250K, > 100000 KMD path\n"); - interest = (numerator / denominator); - } - } + interest = (numerator / denominator); } else { @@ -130,10 +116,26 @@ uint64_t komodo_interest(int32_t txheight,uint64_t nValue,uint32_t nLockTime,uin } else { - numerator = (nValue * KOMODO_INTEREST); if ( txheight < 250000 || numerator * minutes < 365 * 24 * 60 ) + { + numerator = (nValue * KOMODO_INTEREST); + if ( txheight >= 250000 ) + printf("numerator * minutes < 365 * 24 * 60\n"); interest = (numerator / denominator) / COIN; - else interest = ((numerator * minutes) / ((uint64_t)365 * 24 * 60)) / COIN; + } + else + { + if ( tiptime < 1490531630 ) // 1491350400 5th April + { + numerator = (nValue * KOMODO_INTEREST); + interest = ((numerator * minutes) / ((uint64_t)365 * 24 * 60)) / COIN; + } + else + { + numerator = (nValue / 20); // assumes 5%! + interest = ((numerator * minutes) / ((uint64_t)365 * 24 * 60)); + } + } } fprintf(stderr,"komodo_interest.%d %lld %.8f nLockTime.%u tiptime.%u minutes.%d interest %lld %.8f (%llu / %llu) prod.%llu\n",txheight,(long long)nValue,(double)nValue/COIN,nLockTime,tiptime,minutes,(long long)interest,(double)interest/COIN,(long long)numerator,(long long)denominator,(long long)(numerator * minutes)); }