Bitcoin Core Fuzz Coverage Report for wallet_tx_can_be_bumped

Coverage Report

Created: 2025-11-19 11:20

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/Users/brunogarcia/projects/bitcoin-core-dev/src/util/check.h
Line
Count
Source
1
// Copyright (c) 2019-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_UTIL_CHECK_H
6
#define BITCOIN_UTIL_CHECK_H
7
8
#include <attributes.h>
9
10
#include <atomic>
11
#include <cassert> // IWYU pragma: export
12
#include <source_location>
13
#include <stdexcept>
14
#include <string>
15
#include <string_view>
16
#include <utility>
17
18
constexpr bool G_FUZZING_BUILD{
19
#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
20
    true
21
#else
22
    false
23
#endif
24
};
25
constexpr bool G_ABORT_ON_FAILED_ASSUME{G_FUZZING_BUILD ||
26
#ifdef ABORT_ON_FAILED_ASSUME
27
    true
28
#else
29
    false
30
#endif
31
};
32
33
extern std::atomic<bool> g_enable_dynamic_fuzz_determinism;
34
35
inline bool EnableFuzzDeterminism()
36
9.91k
{
37
9.91k
    if constexpr (G_FUZZING_BUILD) {
38
9.91k
        return true;
39
    } else if constexpr (!G_ABORT_ON_FAILED_ASSUME) {
40
        // Running fuzz tests is always disabled if Assume() doesn't abort
41
        // (ie, non-fuzz non-debug builds), as otherwise tests which
42
        // should fail due to a failing Assume may still pass. As such,
43
        // we also statically disable fuzz determinism in that case.
44
        return false;
45
    } else {
46
        return g_enable_dynamic_fuzz_determinism;
47
    }
48
9.91k
}
49
50
extern bool g_detail_test_only_CheckFailuresAreExceptionsNotAborts;
51
struct test_only_CheckFailuresAreExceptionsNotAborts {
52
0
    test_only_CheckFailuresAreExceptionsNotAborts() { g_detail_test_only_CheckFailuresAreExceptionsNotAborts = true; };
53
0
    ~test_only_CheckFailuresAreExceptionsNotAborts() { g_detail_test_only_CheckFailuresAreExceptionsNotAborts = false; };
54
};
55
56
std::string StrFormatInternalBug(std::string_view msg, const std::source_location& loc);
57
58
class NonFatalCheckError : public std::runtime_error
59
{
60
public:
61
    NonFatalCheckError(std::string_view msg, const std::source_location& loc);
62
};
63
64
/** Internal helper */
65
void assertion_fail(const std::source_location& loc, std::string_view assertion);
66
67
/** Helper for CHECK_NONFATAL() */
68
template <typename T>
69
T&& inline_check_non_fatal(LIFETIMEBOUND T&& val, const std::source_location& loc, std::string_view assertion)
70
0
{
71
0
    if (!val) {
72
0
        if constexpr (G_ABORT_ON_FAILED_ASSUME) {
73
0
            assertion_fail(loc, assertion);
74
0
        }
75
0
        throw NonFatalCheckError{assertion, loc};
76
0
    }
77
0
    return std::forward<T>(val);
78
0
}
Unexecuted instantiation: bool&& inline_check_non_fatal<bool>(bool&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: bool const& inline_check_non_fatal<bool const&>(bool const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: bool& inline_check_non_fatal<bool&>(bool&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: JSONRPCRequest const*& inline_check_non_fatal<JSONRPCRequest const*&>(JSONRPCRequest const*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: UniValue const*& inline_check_non_fatal<UniValue const*&>(UniValue const*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<arith_uint256>&& inline_check_non_fatal<std::__1::optional<arith_uint256>>(std::__1::optional<arith_uint256>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: wallet::DescriptorScriptPubKeyMan*& inline_check_non_fatal<wallet::DescriptorScriptPubKeyMan*&>(wallet::DescriptorScriptPubKeyMan*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<CCoinsViewCursor, std::__1::default_delete<CCoinsViewCursor>>&& inline_check_non_fatal<std::__1::unique_ptr<CCoinsViewCursor, std::__1::default_delete<CCoinsViewCursor>>>(std::__1::unique_ptr<CCoinsViewCursor, std::__1::default_delete<CCoinsViewCursor>>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CBlockIndex const*& inline_check_non_fatal<CBlockIndex const*&>(CBlockIndex const*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: node::BlockManager*&& inline_check_non_fatal<node::BlockManager*>(node::BlockManager*&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::shared_ptr<CTransaction const>&& inline_check_non_fatal<std::__1::shared_ptr<CTransaction const>>(std::__1::shared_ptr<CTransaction const>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CBlockIndex*& inline_check_non_fatal<CBlockIndex*&>(CBlockIndex*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<interfaces::BlockRef>&& inline_check_non_fatal<std::__1::optional<interfaces::BlockRef>>(std::__1::optional<interfaces::BlockRef>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<ValidationSignals, std::__1::default_delete<ValidationSignals>>& inline_check_non_fatal<std::__1::unique_ptr<ValidationSignals, std::__1::default_delete<ValidationSignals>>&>(std::__1::unique_ptr<ValidationSignals, std::__1::default_delete<ValidationSignals>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CBlockIndex*&& inline_check_non_fatal<CBlockIndex*>(CBlockIndex*&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CBlockIndex const*&& inline_check_non_fatal<CBlockIndex const*>(CBlockIndex const*&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CBlockIndex* const& inline_check_non_fatal<CBlockIndex* const&>(CBlockIndex* const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<node::Warnings, std::__1::default_delete<node::Warnings>>& inline_check_non_fatal<std::__1::unique_ptr<node::Warnings, std::__1::default_delete<node::Warnings>>&>(std::__1::unique_ptr<node::Warnings, std::__1::default_delete<node::Warnings>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<kernel::CCoinsStats>& inline_check_non_fatal<std::__1::optional<kernel::CCoinsStats>&>(std::__1::optional<kernel::CCoinsStats>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: ValidationSignals* const& inline_check_non_fatal<ValidationSignals* const&>(ValidationSignals* const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<ValidationSignals, std::__1::default_delete<ValidationSignals>> const& inline_check_non_fatal<std::__1::unique_ptr<ValidationSignals, std::__1::default_delete<ValidationSignals>> const&>(std::__1::unique_ptr<ValidationSignals, std::__1::default_delete<ValidationSignals>> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<interfaces::BlockTemplate, std::__1::default_delete<interfaces::BlockTemplate>>& inline_check_non_fatal<std::__1::unique_ptr<interfaces::BlockTemplate, std::__1::default_delete<interfaces::BlockTemplate>>&>(std::__1::unique_ptr<interfaces::BlockTemplate, std::__1::default_delete<interfaces::BlockTemplate>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<CScheduler, std::__1::default_delete<CScheduler>> const& inline_check_non_fatal<std::__1::unique_ptr<CScheduler, std::__1::default_delete<CScheduler>> const&>(std::__1::unique_ptr<CScheduler, std::__1::default_delete<CScheduler>> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::function<bool ()>& inline_check_non_fatal<std::__1::function<bool ()>&>(std::__1::function<bool ()>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
79
80
#if defined(NDEBUG)
81
#error "Cannot compile without assertions!"
82
#endif
83
84
/** Helper for Assert()/Assume() */
85
template <bool IS_ASSERT, typename T>
86
constexpr T&& inline_assertion_check(LIFETIMEBOUND T&& val, [[maybe_unused]] const std::source_location& loc, [[maybe_unused]] std::string_view assertion)
87
822k
{
88
822k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
822k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
822k
    }
93
822k
    return std::forward<T>(val);
94
822k
}
bool&& inline_assertion_check<false, bool>(bool&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
136k
{
88
136k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
136k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
136k
    }
93
136k
    return std::forward<T>(val);
94
136k
}
Unexecuted instantiation: int&& inline_assertion_check<false, int>(int&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: unsigned char const& inline_assertion_check<false, unsigned char const&>(unsigned char const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
std::__1::unique_ptr<LevelDBContext, std::__1::default_delete<LevelDBContext>> const& inline_assertion_check<true, std::__1::unique_ptr<LevelDBContext, std::__1::default_delete<LevelDBContext>> const&>(std::__1::unique_ptr<LevelDBContext, std::__1::default_delete<LevelDBContext>> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
20
{
88
20
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
20
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
20
    }
93
20
    return std::forward<T>(val);
94
20
}
Unexecuted instantiation: std::__1::unique_ptr<CoinsViews, std::__1::default_delete<CoinsViews>>& inline_assertion_check<true, std::__1::unique_ptr<CoinsViews, std::__1::default_delete<CoinsViews>>&>(std::__1::unique_ptr<CoinsViews, std::__1::default_delete<CoinsViews>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<CCoinsViewCache, std::__1::default_delete<CCoinsViewCache>>& inline_assertion_check<true, std::__1::unique_ptr<CCoinsViewCache, std::__1::default_delete<CCoinsViewCache>>&>(std::__1::unique_ptr<CCoinsViewCache, std::__1::default_delete<CCoinsViewCache>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<arith_uint256> const& inline_assertion_check<true, std::__1::optional<arith_uint256> const&>(std::__1::optional<arith_uint256> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<uint256> const& inline_assertion_check<true, std::__1::optional<uint256> const&>(std::__1::optional<uint256> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: unsigned long& inline_assertion_check<false, unsigned long&>(unsigned long&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: unsigned long const& inline_assertion_check<false, unsigned long const&>(unsigned long const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: Minisketch&& inline_assertion_check<true, Minisketch>(Minisketch&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>>>&& inline_assertion_check<true, std::__1::optional<std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>>>>(std::__1::optional<std::__1::vector<unsigned long long, std::__1::allocator<unsigned long long>>>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
bool&& inline_assertion_check<true, bool>(bool&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
385k
{
88
385k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
385k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
385k
    }
93
385k
    return std::forward<T>(val);
94
385k
}
Unexecuted instantiation: bool& inline_assertion_check<true, bool&>(bool&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: MappingResult const*& inline_assertion_check<true, MappingResult const*&>(MappingResult const*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CTxMemPoolEntry const*&& inline_assertion_check<true, CTxMemPoolEntry const*>(CTxMemPoolEntry const*&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: long&& inline_assertion_check<true, long>(long&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: bool const& inline_assertion_check<true, bool const&>(bool const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<long long> const& inline_assertion_check<true, std::__1::optional<long long> const&>(std::__1::optional<long long> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<CFeeRate> const& inline_assertion_check<true, std::__1::optional<CFeeRate> const&>(std::__1::optional<CFeeRate> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<std::__1::vector<transaction_identifier<true>, std::__1::allocator<transaction_identifier<true>>>> const& inline_assertion_check<true, std::__1::optional<std::__1::vector<transaction_identifier<true>, std::__1::allocator<transaction_identifier<true>>>> const&>(std::__1::optional<std::__1::vector<transaction_identifier<true>, std::__1::allocator<transaction_identifier<true>>>> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CBlockIndex const*& inline_assertion_check<true, CBlockIndex const*&>(CBlockIndex const*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<kernel::CCoinsStats>&& inline_assertion_check<true, std::__1::optional<kernel::CCoinsStats>>(std::__1::optional<kernel::CCoinsStats>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<AssumeutxoData>&& inline_assertion_check<true, std::__1::optional<AssumeutxoData>>(std::__1::optional<AssumeutxoData>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
std::__1::unique_ptr<ChainstateManager, std::__1::default_delete<ChainstateManager>>& inline_assertion_check<true, std::__1::unique_ptr<ChainstateManager, std::__1::default_delete<ChainstateManager>>&>(std::__1::unique_ptr<ChainstateManager, std::__1::default_delete<ChainstateManager>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
52.6k
{
88
52.6k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
52.6k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
52.6k
    }
93
52.6k
    return std::forward<T>(val);
94
52.6k
}
std::__1::optional<int>&& inline_assertion_check<true, std::__1::optional<int>>(std::__1::optional<int>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
9.91k
{
88
9.91k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
9.91k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
9.91k
    }
93
9.91k
    return std::forward<T>(val);
94
9.91k
}
util::Result<std::__1::reference_wrapper<wallet::DescriptorScriptPubKeyMan>>&& inline_assertion_check<true, util::Result<std::__1::reference_wrapper<wallet::DescriptorScriptPubKeyMan>>>(util::Result<std::__1::reference_wrapper<wallet::DescriptorScriptPubKeyMan>>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
79.3k
{
88
79.3k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
79.3k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
79.3k
    }
93
79.3k
    return std::forward<T>(val);
94
79.3k
}
std::__1::optional<OutputType>&& inline_assertion_check<true, std::__1::optional<OutputType>>(std::__1::optional<OutputType>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
79.3k
{
88
79.3k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
79.3k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
79.3k
    }
93
79.3k
    return std::forward<T>(val);
94
79.3k
}
util::Result<std::__1::variant<CNoDestination, PubKeyDestination, PKHash, ScriptHash, WitnessV0ScriptHash, WitnessV0KeyHash, WitnessV1Taproot, PayToAnchor, WitnessUnknown>>&& inline_assertion_check<true, util::Result<std::__1::variant<CNoDestination, PubKeyDestination, PKHash, ScriptHash, WitnessV0ScriptHash, WitnessV0KeyHash, WitnessV1Taproot, PayToAnchor, WitnessUnknown>>>(util::Result<std::__1::variant<CNoDestination, PubKeyDestination, PKHash, ScriptHash, WitnessV0ScriptHash, WitnessV0KeyHash, WitnessV1Taproot, PayToAnchor, WitnessUnknown>>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
10.8k
{
88
10.8k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
10.8k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
10.8k
    }
93
10.8k
    return std::forward<T>(val);
94
10.8k
}
std::__1::function<void (std::__1::span<unsigned char const, 18446744073709551615ul>)> const*& inline_assertion_check<true, std::__1::function<void (std::__1::span<unsigned char const, 18446744073709551615ul>)> const*&>(std::__1::function<void (std::__1::span<unsigned char const, 18446744073709551615ul>)> const*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
9.91k
{
88
9.91k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
9.91k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
9.91k
    }
93
9.91k
    return std::forward<T>(val);
94
9.91k
}
Unexecuted instantiation: std::__1::optional<fs::path> const& inline_assertion_check<true, std::__1::optional<fs::path> const&>(std::__1::optional<fs::path> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<CMutableTransaction>& inline_assertion_check<true, std::__1::optional<CMutableTransaction>&>(std::__1::optional<CMutableTransaction>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: bool const& inline_assertion_check<false, bool const&>(bool const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<std::__1::pair<XOnlyPubKey, bool>>& inline_assertion_check<false, std::__1::optional<std::__1::pair<XOnlyPubKey, bool>>&>(std::__1::optional<std::__1::pair<XOnlyPubKey, bool>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::map<uint256, MuSig2SecNonce, std::__1::less<uint256>, std::__1::allocator<std::__1::pair<uint256 const, MuSig2SecNonce>>>* const& inline_assertion_check<false, std::__1::map<uint256, MuSig2SecNonce, std::__1::less<uint256>, std::__1::allocator<std::__1::pair<uint256 const, MuSig2SecNonce>>>* const&>(std::__1::map<uint256, MuSig2SecNonce, std::__1::less<uint256>, std::__1::allocator<std::__1::pair<uint256 const, MuSig2SecNonce>>>* const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CScheduler*& inline_assertion_check<true, CScheduler*&>(CScheduler*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: ArgsManager*& inline_assertion_check<true, ArgsManager*&>(ArgsManager*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: wallet::CWalletTx const*&& inline_assertion_check<true, wallet::CWalletTx const*>(wallet::CWalletTx const*&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<wallet::SQliteExecHandler, std::__1::default_delete<wallet::SQliteExecHandler>>& inline_assertion_check<true, std::__1::unique_ptr<wallet::SQliteExecHandler, std::__1::default_delete<wallet::SQliteExecHandler>>&>(std::__1::unique_ptr<wallet::SQliteExecHandler, std::__1::default_delete<wallet::SQliteExecHandler>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: unsigned long long&& inline_assertion_check<true, unsigned long long>(unsigned long long&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: uint256 const* const& inline_assertion_check<true, uint256 const* const&>(uint256 const* const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
bool& inline_assertion_check<false, bool&>(bool&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
25.8k
{
88
25.8k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
25.8k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
25.8k
    }
93
25.8k
    return std::forward<T>(val);
94
25.8k
}
Unexecuted instantiation: wallet::LegacyDataSPKM*& inline_assertion_check<false, wallet::LegacyDataSPKM*&>(wallet::LegacyDataSPKM*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<ChainstateManager, std::__1::default_delete<ChainstateManager>> const& inline_assertion_check<true, std::__1::unique_ptr<ChainstateManager, std::__1::default_delete<ChainstateManager>> const&>(std::__1::unique_ptr<ChainstateManager, std::__1::default_delete<ChainstateManager>> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CTxMemPool*&& inline_assertion_check<true, CTxMemPool*>(CTxMemPool*&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
std::__1::atomic<bool>& inline_assertion_check<true, std::__1::atomic<bool>&>(std::__1::atomic<bool>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
9.91k
{
88
9.91k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
9.91k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
9.91k
    }
93
9.91k
    return std::forward<T>(val);
94
9.91k
}
Unexecuted instantiation: std::__1::function<bool ()>& inline_assertion_check<true, std::__1::function<bool ()>&>(std::__1::function<bool ()>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<node::Warnings, std::__1::default_delete<node::Warnings>>& inline_assertion_check<true, std::__1::unique_ptr<node::Warnings, std::__1::default_delete<node::Warnings>>&>(std::__1::unique_ptr<node::Warnings, std::__1::default_delete<node::Warnings>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: util::SignalInterrupt*& inline_assertion_check<true, util::SignalInterrupt*&>(util::SignalInterrupt*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
util::Result<void> const& inline_assertion_check<true, util::Result<void> const&>(util::Result<void> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
9.91k
{
88
9.91k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
9.91k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
9.91k
    }
93
9.91k
    return std::forward<T>(val);
94
9.91k
}
Unexecuted instantiation: CBlockIndex const*&& inline_assertion_check<true, CBlockIndex const*>(CBlockIndex const*&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: evhttp_connection*&& inline_assertion_check<true, evhttp_connection*>(evhttp_connection*&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: evhttp_request*& inline_assertion_check<true, evhttp_request*&>(evhttp_request*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: evhttp_connection const*& inline_assertion_check<true, evhttp_connection const*&>(evhttp_connection const*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CBlock const* const& inline_assertion_check<true, CBlock const* const&>(CBlock const* const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CBlockUndo const* const& inline_assertion_check<true, CBlockUndo const* const&>(CBlockUndo const* const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<uint256>&& inline_assertion_check<true, std::__1::optional<uint256>>(std::__1::optional<uint256>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<util::SignalInterrupt>& inline_assertion_check<true, std::__1::optional<util::SignalInterrupt>&>(std::__1::optional<util::SignalInterrupt>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: util::Result<void>&& inline_assertion_check<true, util::Result<void>>(util::Result<void>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<ValidationSignals, std::__1::default_delete<ValidationSignals>>& inline_assertion_check<true, std::__1::unique_ptr<ValidationSignals, std::__1::default_delete<ValidationSignals>>&>(std::__1::unique_ptr<ValidationSignals, std::__1::default_delete<ValidationSignals>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<node::KernelNotifications, std::__1::default_delete<node::KernelNotifications>>& inline_assertion_check<true, std::__1::unique_ptr<node::KernelNotifications, std::__1::default_delete<node::KernelNotifications>>&>(std::__1::unique_ptr<node::KernelNotifications, std::__1::default_delete<node::KernelNotifications>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
CBlockIndex*&& inline_assertion_check<true, CBlockIndex*>(CBlockIndex*&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
9.91k
{
88
9.91k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
9.91k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
9.91k
    }
93
9.91k
    return std::forward<T>(val);
94
9.91k
}
Unexecuted instantiation: CBlockIndex*& inline_assertion_check<true, CBlockIndex*&>(CBlockIndex*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: net_processing.cpp:(anonymous namespace)::CNodeState*&& inline_assertion_check<true, (anonymous namespace)::CNodeState*>((anonymous namespace)::CNodeState*&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: net_processing.cpp:std::__1::shared_ptr<(anonymous namespace)::Peer>&& inline_assertion_check<true, std::__1::shared_ptr<(anonymous namespace)::Peer>>(std::__1::shared_ptr<(anonymous namespace)::Peer>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CBlockIndex*&& inline_assertion_check<false, CBlockIndex*>(CBlockIndex*&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<AssumeutxoData> const& inline_assertion_check<true, std::__1::optional<AssumeutxoData> const&>(std::__1::optional<AssumeutxoData> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<node::BlockfileCursor>& inline_assertion_check<true, std::__1::optional<node::BlockfileCursor>&>(std::__1::optional<node::BlockfileCursor>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: node::NodeContext*& inline_assertion_check<true, node::NodeContext*&>(node::NodeContext*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: node::NodeContext*&& inline_assertion_check<true, node::NodeContext*>(node::NodeContext*&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: interfaces::WalletLoader*& inline_assertion_check<true, interfaces::WalletLoader*&>(interfaces::WalletLoader*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CTxMemPool const* const& inline_assertion_check<true, CTxMemPool const* const&>(CTxMemPool const* const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<uint256> const& inline_assertion_check<false, std::__1::optional<uint256> const&>(std::__1::optional<uint256> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<uint256>&& inline_assertion_check<false, std::__1::optional<uint256>>(std::__1::optional<uint256>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: unsigned int&& inline_assertion_check<false, unsigned int>(unsigned int&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: TxGraph::Ref const*& inline_assertion_check<false, TxGraph::Ref const*&>(TxGraph::Ref const*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: txgraph.cpp:(anonymous namespace)::Cluster*& inline_assertion_check<false, (anonymous namespace)::Cluster*&>((anonymous namespace)::Cluster*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: util::Result<std::__1::set<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry>>>>>>>, boost::multi_index::detail::bucket_array<std::__1::allocator<CTxMemPoolEntry>>, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, CompareIteratorByHash, std::__1::allocator<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry>>>>>>>, boost::multi_index::detail::bucket_array<std::__1::allocator<CTxMemPoolEntry>>, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>>>>& inline_assertion_check<false, util::Result<std::__1::set<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry>>>>>>>, boost::multi_index::detail::bucket_array<std::__1::allocator<CTxMemPoolEntry>>, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, CompareIteratorByHash, std::__1::allocator<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry>>>>>>>, boost::multi_index::detail::bucket_array<std::__1::allocator<CTxMemPoolEntry>>, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>>>>&>(util::Result<std::__1::set<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry>>>>>>>, boost::multi_index::detail::bucket_array<std::__1::allocator<CTxMemPoolEntry>>, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, CompareIteratorByHash, std::__1::allocator<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry>>>>>>>, boost::multi_index::detail::bucket_array<std::__1::allocator<CTxMemPoolEntry>>, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>>>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
util::Result<std::__1::set<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry>>>>>>>, boost::multi_index::detail::bucket_array<std::__1::allocator<CTxMemPoolEntry>>, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, CompareIteratorByHash, std::__1::allocator<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry>>>>>>>, boost::multi_index::detail::bucket_array<std::__1::allocator<CTxMemPoolEntry>>, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>>>>&& inline_assertion_check<false, util::Result<std::__1::set<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry>>>>>>>, boost::multi_index::detail::bucket_array<std::__1::allocator<CTxMemPoolEntry>>, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, CompareIteratorByHash, std::__1::allocator<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry>>>>>>>, boost::multi_index::detail::bucket_array<std::__1::allocator<CTxMemPoolEntry>>, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>>>>>(util::Result<std::__1::set<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry>>>>>>>, boost::multi_index::detail::bucket_array<std::__1::allocator<CTxMemPoolEntry>>, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>, CompareIteratorByHash, std::__1::allocator<boost::multi_index::detail::hashed_index_iterator<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::hashed_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::null_augment_policy, boost::multi_index::detail::index_node_base<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry>>>>>>>, boost::multi_index::detail::bucket_array<std::__1::allocator<CTxMemPoolEntry>>, boost::multi_index::detail::hashed_unique_tag, boost::multi_index::detail::hashed_index_global_iterator_tag>>>>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Line
Count
Source
87
3.76k
{
88
3.76k
    if (IS_ASSERT || 
std::is_constant_evaluated()0
||
G_ABORT_ON_FAILED_ASSUME0
) {
89
3.76k
        if (!val) {
90
0
            assertion_fail(loc, assertion);
91
0
        }
92
3.76k
    }
93
3.76k
    return std::forward<T>(val);
94
3.76k
}
Unexecuted instantiation: std::__1::unique_ptr<CTxMemPool::ChangeSet, std::__1::default_delete<CTxMemPool::ChangeSet>>& inline_assertion_check<false, std::__1::unique_ptr<CTxMemPool::ChangeSet, std::__1::default_delete<CTxMemPool::ChangeSet>>&>(std::__1::unique_ptr<CTxMemPool::ChangeSet, std::__1::default_delete<CTxMemPool::ChangeSet>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: uint256 const*& inline_assertion_check<true, uint256 const*&>(uint256 const*&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<int> const& inline_assertion_check<true, std::__1::optional<int> const&>(std::__1::optional<int> const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: CBlockIndex* const& inline_assertion_check<false, CBlockIndex* const&>(CBlockIndex* const&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<Chainstate, std::__1::default_delete<Chainstate>>& inline_assertion_check<true, std::__1::unique_ptr<Chainstate, std::__1::default_delete<Chainstate>>&>(std::__1::unique_ptr<Chainstate, std::__1::default_delete<Chainstate>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::optional<fs::path>&& inline_assertion_check<true, std::__1::optional<fs::path>>(std::__1::optional<fs::path>&&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
Unexecuted instantiation: std::__1::unique_ptr<util::TaskRunnerInterface, std::__1::default_delete<util::TaskRunnerInterface>>& inline_assertion_check<true, std::__1::unique_ptr<util::TaskRunnerInterface, std::__1::default_delete<util::TaskRunnerInterface>>&>(std::__1::unique_ptr<util::TaskRunnerInterface, std::__1::default_delete<util::TaskRunnerInterface>>&, std::__1::source_location const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)
95
96
0
#define STR_INTERNAL_BUG(msg) StrFormatInternalBug((msg), std::source_location::current())
97
98
/**
99
 * Identity function. Throw a NonFatalCheckError when the condition evaluates to false
100
 *
101
 * This should only be used
102
 * - where the condition is assumed to be true, not for error handling or validating user input
103
 * - where a failure to fulfill the condition is recoverable and does not abort the program
104
 *
105
 * For example in RPC code, where it is undesirable to crash the whole program, this can be generally used to replace
106
 * asserts or recoverable logic errors. A NonFatalCheckError in RPC code is caught and passed as a string to the RPC
107
 * caller, which can then report the issue to the developers.
108
 */
109
#define CHECK_NONFATAL(condition) \
110
0
    inline_check_non_fatal(condition, std::source_location::current(), #condition)
Unexecuted instantiation: blockchain.cpp:GetUTXOStats(CCoinsView*, node::BlockManager&, kernel::CoinStatsHashType, std::__1::function<void ()> const&, CBlockIndex const*, bool)::$_0::operator()() const
Unexecuted instantiation: blockchain.cpp:scanblocks()::$_0::operator()(RPCHelpMan const&, JSONRPCRequest const&) const::'lambda0'()::operator()() const
111
112
/** Identity function. Abort if the value compares equal to zero */
113
745k
#define Assert(val) inline_assertion_check<true>(
val0
, std::source_location::current(),
#666k
val)
Unexecuted instantiation: txmempool.cpp:CheckMempoolEphemeralInvariants(CTxMemPool const&)::$_0::operator()(CTxIn const&) const
Unexecuted instantiation: blockstorage.cpp:node::BlockManager::WriteBlockUndo(CBlockUndo const&, BlockValidationState&, CBlockIndex&)::$_0::operator()() const
114
115
/**
116
 * Assume is the identity function.
117
 *
118
 * - Should be used to run non-fatal checks. In debug builds it behaves like
119
 *   Assert()/assert() to notify developers and testers about non-fatal errors.
120
 *   In production it doesn't warn or log anything.
121
 * - For fatal errors, use Assert().
122
 * - For non-fatal errors in interactive sessions (e.g. RPC or command line
123
 *   interfaces), CHECK_NONFATAL() might be more appropriate.
124
 */
125
317k
#define Assume(val) 
inline_assertion_check<false>(166k
val, std::source_location::current(),
#166k
val)
Unexecuted instantiation: scriptpubkeyman.cpp:wallet::DescriptorScriptPubKeyMan::GetKey(CKeyID const&) const::$_0::operator()(std::__1::vector<unsigned char, secure_allocator<unsigned char>> const&) const
Unexecuted instantiation: wallet.cpp:wallet::CWallet::GetScriptPubKeyMans(CScript const&) const::$_0::operator()(wallet::ScriptPubKeyMan*) const
Unexecuted instantiation: net_processing.cpp:(anonymous namespace)::PeerManagerImpl::ProcessMessage(CNode&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, DataStream&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l>>, std::__1::atomic<bool> const&)::$_1::operator()() const
Unexecuted instantiation: mini_miner.cpp:_ZZNK4node9MiniMiner11SanityCheckEvENK3$_0clINSt3__114__map_iteratorINS3_15__tree_iteratorINS3_12__value_typeI22transaction_identifierILb0EENS_21MiniMinerMempoolEntryEEEPNS3_11__tree_nodeISA_PvEElEEEEEEDaRKT_
Unexecuted instantiation: mini_miner.cpp:_ZZNK4node9MiniMiner11SanityCheckEvENK3$_1clI22transaction_identifierILb0EEEEDaRKT_
Unexecuted instantiation: ephemeral_policy.cpp:_ZZ20CheckEphemeralSpendsRKNSt3__16vectorINS_10shared_ptrIK12CTransactionEENS_9allocatorIS4_EEEE8CFeeRateRK10CTxMemPoolR17TxValidationStateR22transaction_identifierILb1EEENK3$_0clIS4_EEDaRKT_
126
127
/**
128
 * NONFATAL_UNREACHABLE() is a macro that is used to mark unreachable code. It throws a NonFatalCheckError.
129
 */
130
#define NONFATAL_UNREACHABLE() \
131
0
    throw NonFatalCheckError { "Unreachable code reached (non-fatal)", std::source_location::current() }
132
133
#if defined(__has_feature)
134
#    if __has_feature(address_sanitizer)
135
#       include <sanitizer/asan_interface.h>
136
#    endif
137
#endif
138
139
#ifndef ASAN_POISON_MEMORY_REGION
140
0
#   define ASAN_POISON_MEMORY_REGION(addr, size) ((void)(addr), (void)(size))
141
1
#   define ASAN_UNPOISON_MEMORY_REGION(addr, size) ((void)(addr), (void)(size))
142
#endif
143
144
#endif // BITCOIN_UTIL_CHECK_H