Coverage Report

Created: 2026-05-06 07:53

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/tmp/bitcoin/src/wallet/types.h
Line
Count
Source
1
// Copyright (c) 2009-2010 Satoshi Nakamoto
2
// Copyright (c) 2009-present The Bitcoin Core developers
3
// Distributed under the MIT software license, see the accompanying
4
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
6
//! @file wallet/types.h is a home for public enum and struct type definitions
7
//! that are used by internally by wallet code, but also used externally by node
8
//! or GUI code.
9
//!
10
//! This file is intended to define only simple types that do not have external
11
//! dependencies. More complicated public wallet types like CCoinControl should
12
//! be defined in dedicated header files.
13
14
#ifndef BITCOIN_WALLET_TYPES_H
15
#define BITCOIN_WALLET_TYPES_H
16
17
#include <policy/fees/block_policy_estimator.h>
18
19
namespace wallet {
20
/**
21
 * Address purpose field that has been been stored with wallet sending and
22
 * receiving addresses since BIP70 payment protocol support was added in
23
 * https://github.com/bitcoin/bitcoin/pull/2539. This field is not currently
24
 * used for any logic inside the wallet, but it is still shown in RPC and GUI
25
 * interfaces and saved for new addresses. It is basically redundant with an
26
 * address's IsMine() result.
27
 */
28
enum class AddressPurpose {
29
    RECEIVE,
30
    SEND,
31
    REFUND, //!< Never set in current code may be present in older wallet databases
32
};
33
34
struct CreatedTransactionResult
35
{
36
    CTransactionRef tx;
37
    CAmount fee;
38
    FeeCalculation fee_calc;
39
    std::optional<unsigned int> change_pos;
40
41
    CreatedTransactionResult(CTransactionRef _tx, CAmount _fee, std::optional<unsigned int> _change_pos, const FeeCalculation& _fee_calc)
42
3.53k
            : tx(_tx), fee(_fee), fee_calc(_fee_calc), change_pos(_change_pos) {}
43
};
44
45
} // namespace wallet
46
47
#endif // BITCOIN_WALLET_TYPES_H