Initial commit of NovaCoin changes
[novacoin.git] / src / checkpoints.h
index cc4bebd..3dec98b 100644 (file)
@@ -1,5 +1,6 @@
 // Copyright (c) 2009-2012 The Bitcoin developers
 // Copyright (c) 2011-2012 The PPCoin developers
+// Copyright (c) 2012-2013 The NovaCoin developers
 // Distributed under the MIT/X11 software license, see the accompanying
 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
 #ifndef BITCOIN_CHECKPOINT_H
@@ -9,7 +10,9 @@
 #include "net.h"
 #include "util.h"
 
-#define STAKE_MIN_AGE (60 * 60 * 24)      // minimum age for coin age
+#define STAKE_MIN_AGE (60 * 60 * 24 * 30) // minimum age 30 days for coin age
+#define STAKE_MAX_AGE (60 * 60 * 24 * 90) // stake age for full weight
+#define CHECKPOINT_MAX_SPAN (60 * 60 * 4) // max 4 hours before latest block
 
 class uint256;
 class CBlockIndex;
@@ -37,11 +40,14 @@ namespace Checkpoints
     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();
 }
 
 // ppcoin: synchronized checkpoint