Bitcoin Core  26.1.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 }
assert(!tx.IsCoinBase())
Implement this to subscribe to events generated in validation.
void JumpOutOfIbd()
Toggle IsInitialBlockDownload from true to false.
Definition: validation.cpp:18
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
std::atomic< bool > m_cached_finished_ibd
Whether initial block download has ended and IsInitialBlockDownload should return false from now on...
Definition: validation.h:950
The block chain is a tree shaped structure starting with the genesis block at the root...
Definition: chain.h:144
bool IsInitialBlockDownload() const
Check whether we are doing an initial block download (synchronizing from disk or network) ...
void ResetIbd()
Reset the ibd cache to its initial state.
Definition: validation.cpp:12
virtual void BlockConnected(ChainstateRole role, const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindex)
Notifies listeners of a block being connected.
#define Assert(val)
Identity function.
Definition: check.h:73