X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fcheckpoints.h;h=0250618e47a04f55c11e6635b0b1d36071cb4c43;hb=32b53bb54ee7591fd47dd1ee24e05b73337f40b5;hp=1074cd20b63c80495b18e690cce16989d1e76b12;hpb=5043313a037be9aa7c15f873b40515b927c694af;p=novacoin.git diff --git a/src/checkpoints.h b/src/checkpoints.h index 1074cd2..0250618 100644 --- a/src/checkpoints.h +++ b/src/checkpoints.h @@ -5,10 +5,17 @@ #define BITCOIN_CHECKPOINT_H #include -#include "net.h" #include "util.h" +#include "net.h" -#define CHECKPOINT_MAX_SPAN (60 * 60 * 4) // max 4 hours before latest block +// max 1 hour before latest block +static const int64_t CHECKPOINT_MAX_SPAN = nOneHour; + +#ifdef WIN32 +#undef STRICT +#undef PERMISSIVE +#undef ADVISORY +#endif class uint256; class CBlockIndex; @@ -19,9 +26,23 @@ class CSyncCheckpoint; */ namespace Checkpoints { + /** Checkpointing mode */ + enum CPMode + { + // Scrict checkpoints policy, perform conflicts verification and resolve conflicts + STRICT = 0, + // Advisory checkpoints policy, perform conflicts verification but don't try to resolve them + ADVISORY = 1, + // Permissive checkpoints policy, don't perform any checking + PERMISSIVE = 2 + }; + // Returns true if block passes checkpoint checks bool CheckHardened(int nHeight, const uint256& hash); + // Returns true if block passes banlist checks + bool CheckBanned(const uint256 &nHash); + // Return conservative estimate of total number of blocks, 0 if unknown int GetTotalBlocksEstimate(); @@ -29,7 +50,7 @@ namespace Checkpoints CBlockIndex* GetLastCheckpoint(const std::map& mapBlockIndex); // Returns last checkpoint timestamp - int GetLastCheckpointTime(); + unsigned int GetLastCheckpointTime(); extern uint256 hashSyncCheckpoint; extern CSyncCheckpoint checkpointMessage; @@ -47,7 +68,6 @@ namespace Checkpoints bool SetCheckpointPrivKey(std::string strPrivKey); bool SendSyncCheckpoint(uint256 hashCheckpoint); bool IsMatureSyncCheckpoint(); - bool IsSyncCheckpointTooOld(unsigned int nSeconds); } // ppcoin: synchronized checkpoint