Bitcoin Core 28.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
6
7#include <util/check.h>
8#include <util/time.h>
9#include <validation.h>
10#include <validationinterface.h>
11
13{
16}
17
19{
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:85
The block chain is a tree shaped structure starting with the genesis block at the root,...
Definition: chain.h:141
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:1018
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())