22 auto& chain = m_node.chain;
23 const CChain& active =
Assert(m_node.chainman)->ActiveChain();
41 int64_t max_time = -1;
45 int64_t mtp_time = -1;
49 bool cur_active{
false}, next_active{
false};
52 BOOST_CHECK(chain->findBlock(active[99]->GetBlockHash(),
FoundBlock().inActiveChain(cur_active).nextBlock(
FoundBlock().inActiveChain(next_active).hash(next_hash))));
56 cur_active = next_active =
false;
67 auto& chain = m_node.chain;
68 const CChain& active =
Assert(m_node.chainman)->ActiveChain();
80 auto& chain = m_node.chain;
81 const CChain& active =
Assert(m_node.chainman)->ActiveChain();
85 BOOST_CHECK(!chain->findAncestorByHeight(active[10]->GetBlockHash(), 20));
101 auto& chain = m_node.chain;
103 auto* orig_tip = active.
Tip();
104 for (
int i = 0; i < 10; ++i) {
106 m_node.chainman->ActiveChainstate().InvalidateBlock(state, active.
Tip());
109 coinbaseKey.MakeNewKey(
true);
110 for (
int i = 0; i < 20; ++i) {
122 uint256 active_hash, orig_hash;
124 BOOST_CHECK(!chain->findCommonAncestor({}, orig_tip->GetBlockHash(), {}, {},
FoundBlock().hash(orig_hash)));
132 auto& chain = m_node.chain;
133 const CChain& active =
Assert(m_node.chainman)->ActiveChain();
RecursiveMutex cs_main
Mutex to guard access to validation specific variables, such as reading or changing the chainstate.