Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
validation.h
Go to the documentation of this file.
1// Copyright (c) 2020-present 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#ifndef BITCOIN_TEST_UTIL_VALIDATION_H
6#define BITCOIN_TEST_UTIL_VALIDATION_H
7
8#include <validation.h>
9
10namespace node {
11class BlockManager;
12}
14
17 void CleanupForFuzzing();
18};
19
33
35{
36public:
37 static void BlockConnected(
38 const kernel::ChainstateRole& role,
40 const std::shared_ptr<const CBlock>& block,
41 const CBlockIndex* pindex);
42};
43
44#endif // BITCOIN_TEST_UTIL_VALIDATION_H
The block chain is a tree shaped structure starting with the genesis block at the root,...
Definition chain.h:94
Implement this to subscribe to events generated in validation and mempool.
ChainstateManager(const util::SignalInterrupt &interrupt, Options options, node::BlockManager::Options blockman_options)
static void BlockConnected(const kernel::ChainstateRole &role, CValidationInterface &obj, const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindex)
Maintains a tree of blocks (stored in m_block_index) which is consulted to determine where the most-w...
RecursiveMutex cs_main
Mutex to guard access to validation specific variables, such as reading or changing the chainstate.
Definition cs_main.cpp:8
void CleanupForFuzzing()
Test-only method to clear internal state for fuzzing.
void ResetBestInvalid() EXCLUSIVE_LOCKS_REQUIRED(cs_main)
void InvalidChainFound(CBlockIndex *pindexNew) EXCLUSIVE_LOCKS_REQUIRED(cs_main)
CBlockIndex * FindMostWorkChain() EXCLUSIVE_LOCKS_REQUIRED(cs_main)
void DisableNextWrite()
Disable the next write of all chainstates.
void InvalidBlockFound(CBlockIndex *pindex, const BlockValidationState &state) EXCLUSIVE_LOCKS_REQUIRED(cs_main)
Wrappers that avoid making chainstatemanager internals public for tests.
void JumpOutOfIbd()
Toggle IsInitialBlockDownload from true to false.
void ResetIbd()
Reset the ibd cache to its initial state.
Information about chainstate that notifications are sent from.
Definition types.h:18
#define EXCLUSIVE_LOCKS_REQUIRED(...)