PPCoin: RPC commands 'getbranchpoint' and 'resetcheckpoint'
[novacoin.git] / src / checkpoints.h
index 78ccce9..f9037a2 100644 (file)
@@ -1,5 +1,5 @@
 // Copyright (c) 2011 The Bitcoin developers
-// Copyright (c) 2011 The PPCoin 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
@@ -8,9 +8,10 @@
 #include <map>
 #include "util.h"
 
-// ppcoin: auto checkpoint min at 1 day; max at 1 week
-#define AUTO_CHECKPOINT_MIN_SPAN (60 * 60 * 24)
-#define AUTO_CHECKPOINT_MAX_SPAN (60 * 60 * 24 * 7)
+// 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;
@@ -22,13 +23,16 @@ class CBlockIndex;
 namespace Checkpoints
 {
     extern int nAutoCheckpoint;
+    extern int nBranchPoint;
 
     // Returns true if block passes checkpoint checks
     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();