Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F10614992
checkpoints.cpp
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
checkpoints.cpp
View Options
// Copyright (c) 2009-2012 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include
<boost/assign/list_of.hpp>
// for 'map_list_of()'
#include
<boost/foreach.hpp>
#include
"checkpoints.h"
#include
"main.h"
#include
"uint256.h"
namespace
Checkpoints
{
typedef
std
::
map
<
int
,
uint256
>
MapCheckpoints
;
//
// What makes a good checkpoint block?
// + Is surrounded by blocks with reasonable timestamps
// (no blocks before with a timestamp after, none after with
// timestamp before)
// + Contains no strange transactions
//
static
MapCheckpoints
mapCheckpoints
=
boost
::
assign
::
map_list_of
(
11111
,
uint256
(
"0x0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d"
))
(
33333
,
uint256
(
"0x000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6"
))
(
68555
,
uint256
(
"0x00000000001e1b4903550a0b96e9a9405c8a95f387162e4944e8d9fbe501cd6a"
))
(
70567
,
uint256
(
"0x00000000006a49b14bcf27462068f1264c961f11fa2e0eddd2be0791e1d4124a"
))
(
74000
,
uint256
(
"0x0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20"
))
(
105000
,
uint256
(
"0x00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97"
))
(
118000
,
uint256
(
"0x000000000000774a7f8a7a12dc906ddb9e17e75d684f15e00f8767f9e8f36553"
))
(
134444
,
uint256
(
"0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe"
))
(
140700
,
uint256
(
"0x000000000000033b512028abb90e1626d8b346fd0ed598ac0a3c371138dce2bd"
))
(
168000
,
uint256
(
"0x000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763"
))
;
static
MapCheckpoints
mapCheckpointsTestnet
=
boost
::
assign
::
map_list_of
(
546
,
uint256
(
"000000002a936ca763904c3c35fce2f3556c559c0214345d31b1bcebf76acb70"
))
;
bool
CheckBlock
(
int
nHeight
,
const
uint256
&
hash
)
{
MapCheckpoints
&
checkpoints
=
(
fTestNet
?
mapCheckpointsTestnet
:
mapCheckpoints
);
MapCheckpoints
::
const_iterator
i
=
checkpoints
.
find
(
nHeight
);
if
(
i
==
checkpoints
.
end
())
return
true
;
return
hash
==
i
->
second
;
}
int
GetTotalBlocksEstimate
()
{
MapCheckpoints
&
checkpoints
=
(
fTestNet
?
mapCheckpointsTestnet
:
mapCheckpoints
);
return
checkpoints
.
rbegin
()
->
first
;
}
CBlockIndex
*
GetLastCheckpoint
(
const
std
::
map
<
uint256
,
CBlockIndex
*>&
mapBlockIndex
)
{
MapCheckpoints
&
checkpoints
=
(
fTestNet
?
mapCheckpointsTestnet
:
mapCheckpoints
);
BOOST_REVERSE_FOREACH
(
const
MapCheckpoints
::
value_type
&
i
,
checkpoints
)
{
const
uint256
&
hash
=
i
.
second
;
std
::
map
<
uint256
,
CBlockIndex
*>::
const_iterator
t
=
mapBlockIndex
.
find
(
hash
);
if
(
t
!=
mapBlockIndex
.
end
())
return
t
->
second
;
}
return
NULL
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-c++
Expires
Sat, Nov 23, 09:54 (1 d, 10 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4541075
Default Alt Text
checkpoints.cpp (2 KB)
Attached To
rSTAGING Bitcoin ABC staging
Event Timeline
Log In to Comment