5d3228f3fc297df001150b9477437d0f9cf698b2
[novacoin.git] / src / checkpoints.h
1 // Copyright (c) 2009-2012 The Bitcoin developers
2 // Distributed under the MIT/X11 software license, see the accompanying
3 // file license.txt or http://www.opensource.org/licenses/mit-license.php.
4 #ifndef BITCOIN_CHECKPOINT_H
5 #define  BITCOIN_CHECKPOINT_H
6
7 #include <map>
8
9 class uint256;
10 class CBlockIndex;
11
12 /** Block-chain checkpoints are compiled-in sanity checks.
13  * They are updated every release or three.
14  */
15 namespace Checkpoints
16 {
17     // Returns true if block passes checkpoint checks
18     bool CheckBlock(int nHeight, const uint256& hash);
19
20     // Return conservative estimate of total number of blocks, 0 if unknown
21     int GetTotalBlocksEstimate();
22
23     // Returns last CBlockIndex* in mapBlockIndex that is a checkpoint
24     CBlockIndex* GetLastCheckpoint(const std::map<uint256, CBlockIndex*>& mapBlockIndex);
25 }
26
27 #endif