using namespace std;
+extern unsigned int nStakeMinAge;
+
namespace Checkpoints
{
typedef map<int, pair<uint256, unsigned int> > MapCheckpoints;
#include "kernel_worker.h"
#include "txdb.h"
-extern uint32_t nStakeMaxAge;
extern uint32_t nStakeTargetSpacing;
using namespace std;
+uint32_t nStakeMinAge = 30 * nOneDay; // 30 days as zero time weight
+uint32_t nStakeMaxAge = 90 * nOneDay; // 90 days as full weight
+
// Protocol switch time for fixed kernel modifier interval
uint32_t nModifierSwitchTime = 1413763200; // Mon, 20 Oct 2014 00:00:00 GMT
uint32_t nModifierTestSwitchTime = 1397520000; // Tue, 15 Apr 2014 00:00:00 GMT
#ifndef PPCOIN_KERNEL_H
#define PPCOIN_KERNEL_H
-#include "main.h"
-#include "wallet.h"
+#include "uint256.h"
+
+class CBlock;
+class CBlockIndex;
+class CTransaction;
+class COutPoint;
+
+extern uint32_t nStakeMinAge;
+extern uint32_t nStakeMaxAge;
// ChainDB upgrade time
extern uint32_t nModifierUpgradeTime;
#include "kernel.h"
#include "kernel_worker.h"
+#include <openssl/sha.h>
+
using namespace std;
KernelWorker::KernelWorker(uint8_t *kernel, uint32_t nBits, uint32_t nInputTxTime, int64_t nValueIn, uint32_t nIntervalBegin, uint32_t nIntervalEnd)
#include <vector>
+#include "bignum.h"
+
class KernelWorker
{
CBigNum bnProofOfWorkLimitTestNet(~uint256(0) >> 16);
-unsigned int nStakeMinAge = 30 * nOneDay; // 30 days as zero time weight
-unsigned int nStakeMaxAge = 90 * nOneDay; // 90 days as full weight
unsigned int nStakeTargetSpacing = 10 * 60; // 10-minute stakes spacing
unsigned int nModifierInterval = 6 * nOneHour; // time to elapse before new modifier is computed
extern std::set<std::pair<COutPoint, unsigned int> > setStakeSeen;
extern CBlockIndex* pindexGenesisBlock;
extern unsigned int nNodeLifespan;
-extern unsigned int nStakeMinAge;
extern int nCoinbaseMaturity;
extern int nBestHeight;
extern uint256 nBestChainTrust;
#include "walletdb.h"
#include "base58.h"
-extern unsigned int nStakeMaxAge;
extern bool fWalletUnlockMintOnly;
extern bool fConfChange;
class CAccountingEntry;