double KernelRecord::getProbToMintStake(double difficulty, int timeOffset) const
{
- double maxTarget = pow(static_cast<double>(2), 224);
- double target = maxTarget / difficulty;
- int dayWeight = (min((GetAdjustedTime() - nTime) + timeOffset, (int64)(nStakeMinAge+nStakeMaxAge)) - nStakeMinAge) / 86400;
- uint64 coinAge = max(nValue * dayWeight / COIN, (int64)0);
- return target * coinAge / pow(static_cast<double>(2), 256);
+ //double maxTarget = pow(static_cast<double>(2), 224);
+ //double target = maxTarget / difficulty;
+ //int dayWeight = (min((GetAdjustedTime() - nTime) + timeOffset, (int64)(nStakeMinAge+nStakeMaxAge)) - nStakeMinAge) / 86400;
+ //uint64 coinAge = max(nValue * dayWeight / COIN, (int64)0);
+ //return target * coinAge / pow(static_cast<double>(2), 256);
+ int Weight = (min((GetAdjustedTime() - nTime) + timeOffset, (int64)(nStakeMinAge+nStakeMaxAge)) - nStakeMinAge);
+ uint64 coinAge = max(nValue * Weight / (COIN * 86400), (int64)0);
+ return coinAge / (pow(static_cast<double>(2),32) * difficulty);
}
double KernelRecord::getProbToMintWithinNMinutes(double difficulty, int minutes)