(0 . 0)(1 . 29)
3579 // Copyright (c) 2011 The Bitcoin developers
3580 // Distributed under the MIT/X11 software license, see the accompanying
3581 // file license.txt or http://www.opensource.org/licenses/mit-license.php.
3582 #ifndef BITCOIN_CHECKPOINT_H
3583 #define BITCOIN_CHECKPOINT_H
3584
3585 #include <map>
3586 #include "util.h"
3587
3588 class uint256;
3589 class CBlockIndex;
3590
3591 //
3592 // Block-chain checkpoints are compiled-in sanity checks.
3593 // They are updated every release or three.
3594 //
3595 namespace Checkpoints
3596 {
3597 // Returns true if block passes checkpoint checks
3598 bool CheckBlock(int nHeight, const uint256& hash);
3599
3600 // Return conservative estimate of total number of blocks, 0 if unknown
3601 int GetTotalBlocksEstimate();
3602
3603 // Returns last CBlockIndex* in mapBlockIndex that is a checkpoint
3604 CBlockIndex* GetLastCheckpoint(const std::map<uint256, CBlockIndex*>& mapBlockIndex);
3605 }
3606
3607 #endif