text: // Copyright (c) 2009-2018 The Bitcoin Core developers
  // Distributed under the MIT software license, see the accompanying
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
  
  #include <checkpoints.h>
  
  #include <chain.h>
  #include <chainparams.h>
  #include <reverse_iterator.h>
  #include <validation.h>
  
  #include <stdint.h>
  
  
  namespace Checkpoints {
  
      CBlockIndex* GetLastCheckpoint(const CCheckpointData& data)
      {
          const MapCheckpoints& checkpoints = data.mapCheckpoints;
  
          for (const MapCheckpoints::value_type& i : reverse_iterate(checkpoints))
          {
              const uint256& hash = i.second;
              CBlockIndex* pindex = LookupBlockIndex(hash);
              if (pindex) {
                  return pindex;
              }
          }
          return nullptr;
      }
      CBlockIndex* GetChangeMaturityCheckpoint()
      {
          const MapCheckpoints::value_type& i  {  8860, uint256S("0xe2c858891a7ec763fef258d537731b584136c41318305710fadde5016827eb69")};
          const uint256& hash = i.second;
          CBlockIndex* pindex = LookupBlockIndex(hash);
          if (pindex) {
                  return pindex;
              }
         
          return nullptr;
      }
  
  } // namespace Checkpoints
  