5 #ifndef PRIMECOIN_CHECKPOINTSYNC_H
6 #define PRIMECOIN_CHECKPOINTSYNC_H
11 #define CHECKPOINT_MAX_SPAN (60 * 60 * 4) // max 4 hours before latest block
65 " hashCheckpoint = %s\n"
100 CUnsignedSyncCheckpoint::SetNull();
107 return (hashCheckpoint == 0);
112 return Hash(this->vchMsg.begin(), this->vchMsg.end());
void PushMessage(const char *pszCommand)
bool SetCheckpointPrivKey(std::string strPrivKey)
#define strprintf(format,...)
bool CheckCheckpointPubKey()
uint256 hashInvalidCheckpoint
std::vector< unsigned char > vchSig
bool IsMatureSyncCheckpoint()
bool SendSyncCheckpoint(uint256 hashCheckpoint)
bool IsSyncCheckpointTooOld(unsigned int nSeconds)
IMPLEMENT_SERIALIZE(READWRITE(this->nVersion);nVersion=this->nVersion;READWRITE(hashCheckpoint);) void SetNull()
bool ResetSyncCheckpoint()
bool RelayTo(CNode *pnode) const
CCriticalSection cs_hashSyncCheckpoint
bool IsSyncCheckpointEnforced()
CBlockIndex * GetLastSyncCheckpoint()
bool ProcessSyncCheckpoint(CNode *pfrom)
static std::string strMasterPrivKey
std::vector< unsigned char > vchMsg
CSyncCheckpoint checkpointMessage
bool CheckSyncCheckpoint(const uint256 &hashBlock, const CBlockIndex *pindexPrev)
bool WantedByPendingSyncCheckpoint(uint256 hashBlock)
static const std::string strTestPubKey
void AskForPendingSyncCheckpoint(CNode *pfrom)
uint256 WantedByOrphan(const CBlock *pblockOrphan)
std::string ToString() const
uint256 Hash(const T1 pbegin, const T1 pend)
uint256 hashSyncCheckpoint
bool AcceptPendingSyncCheckpoint()
bool WriteSyncCheckpoint(const uint256 &hashCheckpoint)
static const std::string strMainPubKey
std::string strCheckpointWarning
uint256 AutoSelectSyncCheckpoint()
The block chain is a tree shaped structure starting with the genesis block at the root...
std::string ToString() const
IMPLEMENT_SERIALIZE(READWRITE(vchMsg);READWRITE(vchSig);) void SetNull()
Information about a peer.
uint256 hashCheckpointKnown