X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fkernelrecord.cpp;h=3a0b2dbc9f4fff00b5ac22397f7321c9b6da757a;hb=15e9a03687e99d6b1a7a90e56e69a37faa6bb9b8;hp=3121845a6bc6e8378d7402a1408cea6be8296b97;hpb=bd5d360b11efa6e66b068113f7e9f134cbb715e4;p=novacoin.git diff --git a/src/kernelrecord.cpp b/src/kernelrecord.cpp index 3121845..3a0b2db 100644 --- a/src/kernelrecord.cpp +++ b/src/kernelrecord.cpp @@ -3,7 +3,6 @@ #include "wallet.h" #include "base58.h" - using namespace std; bool KernelRecord::showTransaction(const CWalletTx &wtx) @@ -30,10 +29,10 @@ bool KernelRecord::showTransaction(const CWalletTx &wtx) vector KernelRecord::decomposeOutput(const CWallet *wallet, const CWalletTx &wtx) { vector parts; - int64 nTime = wtx.GetTxTime(); + int64_t nTime = wtx.GetTxTime(); uint256 hash = wtx.GetHash(); std::map mapValue = wtx.mapValue; - int64 nDayWeight = (min((GetAdjustedTime() - nTime), (int64)(nStakeMaxAge+nStakeMinAge)) - nStakeMinAge); // DayWeight * 86400, чтобы был + int64_t nDayWeight = (min((GetAdjustedTime() - nTime), (int64_t)(nStakeMaxAge+nStakeMinAge)) - nStakeMinAge); // DayWeight * 86400, чтобы был // правильный расчёт CoinAge if (showTransaction(wtx)) { @@ -44,7 +43,7 @@ vector KernelRecord::decomposeOutput(const CWallet *wallet, const CTxDestination address; std::string addrStr; - uint64 coinAge = max( (txOut.nValue * nDayWeight) / (COIN * 86400), (int64)0); + uint64_t coinAge = max( (txOut.nValue * nDayWeight) / (COIN * nOneDay), (int64_t)0); if (ExtractDestination(txOut.scriptPubKey, address)) { @@ -70,28 +69,28 @@ std::string KernelRecord::getTxID() return hash.ToString() + strprintf("-%03d", idx); } -int64 KernelRecord::getAge() const +int64_t KernelRecord::getAge() const { - return (GetAdjustedTime() - nTime) / 86400; + return (GetAdjustedTime() - nTime) / nOneDay; } -uint64 KernelRecord::getCoinDay() const +uint64_t KernelRecord::getCoinDay() const { - int64 nWeight = GetAdjustedTime() - nTime - nStakeMinAge; + int64_t nWeight = GetAdjustedTime() - nTime - nStakeMinAge; if( nWeight < 0) return 0; - nWeight = min(nWeight, (int64)nStakeMaxAge); - uint64 coinAge = (nValue * nWeight ) / (COIN * 86400); + nWeight = min(nWeight, (int64_t)nStakeMaxAge); + uint64_t coinAge = (nValue * nWeight ) / (COIN * nOneDay); return coinAge; } -int64 KernelRecord::getPoSReward(int nBits, int minutes) +int64_t KernelRecord::getPoSReward(int nBits, int minutes) { - double PoSReward; - int64 nWeight = GetAdjustedTime() - nTime + minutes * 60; + int64_t PoSReward; + int64_t nWeight = GetAdjustedTime() - nTime + minutes * 60; if( nWeight < nStakeMinAge) return 0; - uint64 coinAge = (nValue * nWeight ) / (COIN * 86400); + uint64_t coinAge = (nValue * nWeight ) / (COIN * nOneDay); PoSReward = GetProofOfStakeReward(coinAge, nBits, GetAdjustedTime() + minutes * 60); return PoSReward; } @@ -100,11 +99,11 @@ double KernelRecord::getProbToMintStake(double difficulty, int timeOffset) const { //double maxTarget = pow(static_cast(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); + //int dayWeight = (min((GetAdjustedTime() - nTime) + timeOffset, (int64_t)(nStakeMinAge+nStakeMaxAge)) - nStakeMinAge) / 86400; + //uint64_t coinAge = max(nValue * dayWeight / COIN, (int64_t)0); //return target * coinAge / pow(static_cast(2), 256); - int Weight = (min((GetAdjustedTime() - nTime) + timeOffset, (int64)(nStakeMinAge+nStakeMaxAge)) - nStakeMinAge); - uint64 coinAge = max(nValue * Weight / (COIN * 86400), (int64)0); + int64_t Weight = (min((GetAdjustedTime() - nTime) + timeOffset, (int64_t)(nStakeMinAge+nStakeMaxAge)) - nStakeMinAge); + uint64_t coinAge = max(nValue * Weight / (COIN * nOneDay), (int64_t)0); return coinAge / (pow(static_cast(2),32) * difficulty); } @@ -121,13 +120,13 @@ double KernelRecord::getProbToMintWithinNMinutes(double difficulty, int minutes) // Probabilities for the first d days for(i = 0; i < d; i++) { - timeOffset = i * 86400; - p = pow(1 - getProbToMintStake(difficulty, timeOffset), 86400); + timeOffset = i * nOneDay; + p = pow(1 - getProbToMintStake(difficulty, timeOffset), nOneDay); prob *= p; } // Probability for the m minutes of the last day - timeOffset = d * 86400; + timeOffset = d * nOneDay; p = pow(1 - getProbToMintStake(difficulty, timeOffset), 60 * m); prob *= p;