forked from Bitcoin-ABC/bitcoin-abc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcheckpoints.cpp
30 lines (22 loc) · 837 Bytes
/
checkpoints.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Copyright (c) 2009-2016 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 "uint256.h"
#include "validation.h"
#include <cstdint>
#include <boost/range/adaptor/reversed.hpp>
namespace Checkpoints {
CBlockIndex *GetLastCheckpoint(const CCheckpointData &data) {
const MapCheckpoints &checkpoints = data.mapCheckpoints;
for (const MapCheckpoints::value_type &i :
boost::adaptors::reverse(checkpoints)) {
const uint256 &hash = i.second;
BlockMap::const_iterator t = mapBlockIndex.find(hash);
if (t != mapBlockIndex.end()) return t->second;
}
return nullptr;
}
} // namespace Checkpoints