#include "kernel.h"
#include "txdb.h"
+extern unsigned int nStakeMaxAge;
+extern unsigned int nStakeTargetSpacing;
+
using namespace std;
-extern int nStakeMaxAge;
-extern int nStakeTargetSpacing;
// Protocol switch time for fixed kernel modifier interval
unsigned int nModifierSwitchTime = 1413763200; // Mon, 20 Oct 2014 00:00:00 GMT
}
// Scan given coins set for kernel solution
-bool ScanForStakeKernelHash(MetaMap &mapMeta, KernelSearchSettings &settings, CoinsSet::value_type &kernelcoin, unsigned int &nTimeTx, unsigned int &nBlockTime)
+bool ScanForStakeKernelHash(MetaMap &mapMeta, KernelSearchSettings &settings, CoinsSet::value_type &kernelcoin, unsigned int &nTimeTx, unsigned int &nBlockTime, uint64 &nKernelsTried, uint64 &nCoinDaysTried)
{
uint256 hashProofOfStake = 0;
- // txid => ((txindex, (tx, vout.n)), (block, modifier))
+ // (txid, vout.n) => ((txindex, (tx, vout.n)), (block, modifier))
for(MetaMap::const_iterator meta_item = mapMeta.begin(); meta_item != mapMeta.end(); meta_item++)
{
if (!fCoinsDataActual)
// Calculate kernel hash
hashProofOfStake = Hash(ss.begin(), ss.end());
+ // Update statistics
+ nKernelsTried += 1;
+ nCoinDaysTried += bnCoinDayWeight.getuint64();
+
if (bnTargetProofOfStake >= CBigNum(hashProofOfStake))
{
if (fDebug)