PPCoin: Separate newmint value from stake in RPC 'getinfo' output
[novacoin.git] / src / checkpoints.h
index 9d52da4..c984798 100644 (file)
@@ -1,4 +1,5 @@
 // Copyright (c) 2011 The Bitcoin developers
+// Copyright (c) 2011-2012 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 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)
+
 class uint256;
 class CBlockIndex;
 
@@ -16,8 +22,17 @@ class CBlockIndex;
 //
 namespace Checkpoints
 {
+    extern int nAutoCheckpoint;
+    extern int nBranchPoint;
+
     // 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);
+    int  GetNextAutoCheckpoint(int nCheckpoint);
+    void AdvanceAutoCheckpoint(int nCheckpoint);
+    bool ResetAutoCheckpoint(int nCheckpoint);
 
     // Return conservative estimate of total number of blocks, 0 if unknown
     int GetTotalBlocksEstimate();