PPCoin: One week maturity for coin age computation
[novacoin.git] / src / checkpoints.h
index 9d52da4..21a4b4a 100644 (file)
@@ -1,4 +1,5 @@
 // Copyright (c) 2011 The Bitcoin developers
+// Copyright (c) 2011 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.
 #ifndef BITCOIN_CHECKPOINT_H
@@ -7,6 +8,11 @@
 #include <map>
 #include "util.h"
 
+// ppcoin: auto checkpoint min at 1 day; max at 5 days
+#define AUTO_CHECKPOINT_MIN_SPAN   (60 * 60 * 24)
+#define AUTO_CHECKPOINT_MAX_SPAN   (60 * 60 * 24 * 5)
+#define AUTO_CHECKPOINT_TRUST_SPAN (60 * 60 * 24 * 7)
+
 class uint256;
 class CBlockIndex;
 
@@ -16,8 +22,14 @@ class CBlockIndex;
 //
 namespace Checkpoints
 {
+    extern int nAutoCheckpoint;
+
     // Returns true if block passes checkpoint checks
-    bool CheckBlock(int nHeight, const uint256& hash);
+    bool CheckHardened(int nHeight, const uint256& hash);
+    bool CheckAuto(const CBlockIndex *pindex);
+
+    int  GetNextChainCheckpoint(const CBlockIndex *pindex);
+    void AdvanceAutoCheckpoint(int nCheckpoint);
 
     // Return conservative estimate of total number of blocks, 0 if unknown
     int GetTotalBlocksEstimate();