Bitcoin
transactionrecord.h
Go to the documentation of this file.
1 // Copyright (c) 2011-2018 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_QT_TRANSACTIONRECORD_H
6 #define BITCOIN_QT_TRANSACTIONRECORD_H
7 
8 #include <amount.h>
9 #include <uint256.h>
10 
11 #include <QList>
12 #include <QString>
13 
14 namespace interfaces {
15 class Node;
16 class Wallet;
17 struct WalletTx;
18 struct WalletTxStatus;
19 }
20 
24 {
25 public:
27  countsForBalance(false), sortKey(""),
29  { }
30 
31  enum Status {
40  Immature,
43  };
44 
48  std::string sortKey;
49 
58  qint64 depth;
59  qint64 open_for;
66 
68 };
69 
74 {
75 public:
76  enum Type
77  {
85  };
86 
88  static const int RecommendedNumConfirmations = 6;
89 
91  hash(), time(0), type(Other), address(""), debit(0), credit(0), idx(0)
92  {
93  }
94 
95  TransactionRecord(uint256 _hash, qint64 _time):
96  hash(_hash), time(_time), type(Other), address(""), debit(0),
97  credit(0), idx(0)
98  {
99  }
100 
101  TransactionRecord(uint256 _hash, qint64 _time,
102  Type _type, const std::string &_address,
103  const CAmount& _debit, const CAmount& _credit):
104  hash(_hash), time(_time), type(_type), address(_address), debit(_debit), credit(_credit),
105  idx(0)
106  {
107  }
108 
111  static bool showTransaction();
112  static QList<TransactionRecord> decomposeTransaction(const interfaces::WalletTx& wtx);
113 
117  qint64 time;
119  std::string address;
125  int idx;
126 
129 
132 
134  QString getTxHash() const;
135 
137  int getOutputIndex() const;
138 
141  void updateStatus(const interfaces::WalletTxStatus& wtx, int numBlocks, int64_t block_time);
142 
145  bool statusUpdateNeeded(int numBlocks) const;
146 };
147 
148 #endif // BITCOIN_QT_TRANSACTIONRECORD_H
QString getTxHash() const
Definition: transactionrecord.cpp:237
static QList< TransactionRecord > decomposeTransaction(const interfaces::WalletTx &wtx)
Definition: transactionrecord.cpp:28
Definition: transactionrecord.h:39
CAmount credit
Definition: transactionrecord.h:121
bool statusUpdateNeeded(int numBlocks) const
Definition: transactionrecord.cpp:232
TransactionRecord()
Definition: transactionrecord.h:90
TransactionRecord(uint256 _hash, qint64 _time, Type _type, const std::string &_address, const CAmount &_debit, const CAmount &_credit)
Definition: transactionrecord.h:101
qint64 open_for
Definition: transactionrecord.h:59
int idx
Definition: transactionrecord.h:125
Normal (sent/received) transactions.
Definition: transactionrecord.h:34
Definition: transactionrecord.h:80
TransactionStatus()
Definition: transactionrecord.h:26
Status status
Definition: transactionrecord.h:57
std::string sortKey
Sorting key based on status.
Definition: transactionrecord.h:48
Definition: transactionrecord.h:35
Definition: transactionrecord.h:38
bool needsUpdate
Definition: transactionrecord.h:67
TransactionRecord(uint256 _hash, qint64 _time)
Definition: transactionrecord.h:95
qint64 time
Definition: transactionrecord.h:117
TransactionStatus status
Definition: transactionrecord.h:128
Definition: transactionrecord.h:32
Definition: transactionrecord.h:81
int64_t CAmount
Definition: amount.h:12
uint256 hash
Definition: transactionrecord.h:116
bool involvesWatchAddress
Definition: transactionrecord.h:131
Definition: transactionrecord.h:84
void updateStatus(const interfaces::WalletTxStatus &wtx, int numBlocks, int64_t block_time)
Definition: transactionrecord.cpp:161
Definition: dummywallet.cpp:11
Definition: wallet.h:341
Definition: transactionrecord.h:42
static const int RecommendedNumConfirmations
Definition: transactionrecord.h:88
int cur_num_blocks
Definition: transactionrecord.h:65
Updated transaction status.
Definition: wallet.h:357
Definition: transactionrecord.h:83
Definition: transactionrecord.h:36
Type type
Definition: transactionrecord.h:118
Status
Definition: transactionrecord.h:31
Definition: uint256.h:121
Generated (mined) transactions.
Definition: transactionrecord.h:41
CAmount debit
Definition: transactionrecord.h:120
Definition: transactionrecord.h:79
Definition: transactionrecord.h:78
static bool showTransaction()
Definition: transactionrecord.cpp:18
signed long long int64_t
Definition: stdint.h:18
bool countsForBalance
Transaction counts towards available balance.
Definition: transactionrecord.h:46
qint64 depth
Definition: transactionrecord.h:58
int matures_in
Definition: transactionrecord.h:52
Definition: transactionrecord.h:23
std::string address
Definition: transactionrecord.h:119
Definition: transactionrecord.h:37
int getOutputIndex() const
Definition: transactionrecord.cpp:242
Type
Definition: transactionrecord.h:76
Definition: transactionrecord.h:73
Definition: transactionrecord.h:82