Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F10907482
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 license.txt or http://www.opensource.org/licenses/mit-license.php.
#include
<boost/assign/list_of.hpp>
// for 'map_list_of()'
#include
<boost/foreach.hpp>
#include
"headers.h"
#include
"checkpoints.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"
))
;
bool
CheckBlock
(
int
nHeight
,
const
uint256
&
hash
)
{
if
(
fTestNet
)
return
true
;
// Testnet has no checkpoints
MapCheckpoints
::
const_iterator
i
=
mapCheckpoints
.
find
(
nHeight
);
if
(
i
==
mapCheckpoints
.
end
())
return
true
;
return
hash
==
i
->
second
;
}
int
GetTotalBlocksEstimate
()
{
if
(
fTestNet
)
return
0
;
return
mapCheckpoints
.
rbegin
()
->
first
;
}
CBlockIndex
*
GetLastCheckpoint
(
const
std
::
map
<
uint256
,
CBlockIndex
*>&
mapBlockIndex
)
{
if
(
fTestNet
)
return
NULL
;
BOOST_REVERSE_FOREACH
(
const
MapCheckpoints
::
value_type
&
i
,
mapCheckpoints
)
{
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
Mon, Nov 25, 07:57 (1 d, 18 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4533514
Default Alt Text
checkpoints.cpp (2 KB)
Attached To
rSTAGING Bitcoin ABC staging
Event Timeline
Log In to Comment