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/index/txindex.h
Line
Count
Source
1
// Copyright (c) 2017-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
#ifndef BITCOIN_INDEX_TXINDEX_H
6
#define BITCOIN_INDEX_TXINDEX_H
7
8
#include <index/base.h>
9
#include <primitives/transaction.h>
10
11
#include <cstddef>
12
#include <memory>
13
14
class uint256;
15
namespace interfaces {
16
class Chain;
17
}
18
19
static constexpr bool DEFAULT_TXINDEX{false};
20
21
/**
22
 * TxIndex is used to look up transactions included in the blockchain by hash.
23
 * The index is written to a LevelDB database and records the filesystem
24
 * location of each transaction by transaction hash.
25
 */
26
class TxIndex final : public BaseIndex
27
{
28
protected:
29
    class DB;
30
31
private:
32
    const std::unique_ptr<DB> m_db;
33
34
0
    bool AllowPrune() const override { return false; }
35
36
protected:
37
    bool CustomAppend(const interfaces::BlockInfo& block) override;
38
39
    BaseIndex::DB& GetDB() const override;
40
41
public:
42
    /// Constructs the index, which becomes available to be queried.
43
    explicit TxIndex(std::unique_ptr<interfaces::Chain> chain, size_t n_cache_size, bool f_memory = false, bool f_wipe = false);
44
45
    // Destructor is declared because this class contains a unique_ptr to an incomplete type.
46
    virtual ~TxIndex() override;
47
48
    /// Look up a transaction by hash.
49
    ///
50
    /// @param[in]   tx_hash  The hash of the transaction to be returned.
51
    /// @param[out]  block_hash  The hash of the block the transaction is found in.
52
    /// @param[out]  tx  The transaction itself.
53
    /// @return  true if transaction is found, false otherwise
54
    bool FindTx(const Txid& tx_hash, uint256& block_hash, CTransactionRef& tx) const;
55
};
56
57
/// The global transaction index, used in GetTransaction. May be null.
58
extern std::unique_ptr<TxIndex> g_txindex;
59
60
#endif // BITCOIN_INDEX_TXINDEX_H