X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fcheckpoints.h;h=0e08b304c6a2fa59a7348e99b24d4695d1c68cae;hb=3176e0f244d929669aa3e1d81e0787d82d9150d3;hp=9d5a16652ee196a64e7b9c891cf9de5b8d562bd8;hpb=9795536e660254a25984d0fc81a548eaf0e91c92;p=novacoin.git diff --git a/src/checkpoints.h b/src/checkpoints.h index 9d5a166..0e08b30 100644 --- a/src/checkpoints.h +++ b/src/checkpoints.h @@ -1,26 +1,23 @@ -// Copyright (c) 2011 The Bitcoin developers -// Copyright (c) 2011-2012 The PPCoin developers +// Copyright (c) 2009-2012 The Bitcoin developers +// Copyright (c) 2011-2013 The PPCoin developers // Distributed under the MIT/X11 software license, see the accompanying -// file license.txt or http://www.opensource.org/licenses/mit-license.php. +// file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_CHECKPOINT_H #define BITCOIN_CHECKPOINT_H #include +#include "net.h" #include "util.h" -// ppcoin: auto checkpoint min at 8 hours; max at 16 hours -#define AUTO_CHECKPOINT_MIN_SPAN (60 * 60 * 8) -#define AUTO_CHECKPOINT_MAX_SPAN (60 * 60 * 16) -#define AUTO_CHECKPOINT_TRUST_SPAN (60 * 60 * 24) +#define CHECKPOINT_MAX_SPAN (60 * 60 * 4) // max 4 hours before latest block class uint256; class CBlockIndex; class CSyncCheckpoint; -// -// Block-chain checkpoints are compiled-in sanity checks. -// They are updated every release or three. -// +/** Block-chain checkpoints are compiled-in sanity checks. + * They are updated every release or three. + */ namespace Checkpoints { // Returns true if block passes checkpoint checks @@ -38,10 +35,17 @@ namespace Checkpoints extern CCriticalSection cs_hashSyncCheckpoint; CBlockIndex* GetLastSyncCheckpoint(); + bool WriteSyncCheckpoint(const uint256& hashCheckpoint); bool AcceptPendingSyncCheckpoint(); uint256 AutoSelectSyncCheckpoint(); bool CheckSync(const uint256& hashBlock, const CBlockIndex* pindexPrev); bool WantedByPendingSyncCheckpoint(uint256 hashBlock); + bool ResetSyncCheckpoint(); + void AskForPendingSyncCheckpoint(CNode* pfrom); + bool SetCheckpointPrivKey(std::string strPrivKey); + bool SendSyncCheckpoint(uint256 hashCheckpoint); + bool IsMatureSyncCheckpoint(); + bool IsSyncCheckpointTooOld(unsigned int nSeconds); } // ppcoin: synchronized checkpoint @@ -85,6 +89,7 @@ class CSyncCheckpoint : public CUnsignedSyncCheckpoint { public: static const std::string strMasterPubKey; + static std::string strMasterPrivKey; std::vector vchMsg; std::vector vchSig;