Bitcoin Core  27.99.0
P2P Digital Currency
validation.cpp
Go to the documentation of this file.
1 // Copyright (c) 2020-2022 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #include <test/util/validation.h>
6 
7 #include <util/check.h>
8 #include <util/time.h>
9 #include <validation.h>
10 #include <validationinterface.h>
11 
13 {
14  m_cached_finished_ibd = false;
16 }
17 
19 {
21  m_cached_finished_ibd = true;
23 }
24 
26  ChainstateRole role,
28  const std::shared_ptr<const CBlock>& block,
29  const CBlockIndex* pindex)
30 {
31  obj.BlockConnected(role, block, pindex);
32 }
#define Assert(val)
Identity function.
Definition: check.h:77
The block chain is a tree shaped structure starting with the genesis block at the root,...
Definition: chain.h:150
Implement this to subscribe to events generated in validation and mempool.
virtual void BlockConnected(ChainstateRole role, const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindex)
Notifies listeners of a block being connected.
bool IsInitialBlockDownload() const
Check whether we are doing an initial block download (synchronizing from disk or network)
std::atomic< bool > m_cached_finished_ibd
Whether initial block download has ended and IsInitialBlockDownload should return false from now on.
Definition: validation.h:974
static void BlockConnected(ChainstateRole role, CValidationInterface &obj, const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindex)
Definition: validation.cpp:25
ChainstateRole
This enum describes the various roles a specific Chainstate instance can take.
Definition: chain.h:25
void JumpOutOfIbd()
Toggle IsInitialBlockDownload from true to false.
Definition: validation.cpp:18
void ResetIbd()
Reset the ibd cache to its initial state.
Definition: validation.cpp:12
assert(!tx.IsCoinBase())