Monero
Loading...
Searching...
No Matches
transaction_info.h
Go to the documentation of this file.
1// Copyright (c) 2014-2022, The Monero Project
2//
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without modification, are
6// permitted provided that the following conditions are met:
7//
8// 1. Redistributions of source code must retain the above copyright notice, this list of
9// conditions and the following disclaimer.
10//
11// 2. Redistributions in binary form must reproduce the above copyright notice, this list
12// of conditions and the following disclaimer in the documentation and/or other
13// materials provided with the distribution.
14//
15// 3. Neither the name of the copyright holder nor the names of its contributors may be
16// used to endorse or promote products derived from this software without specific
17// prior written permission.
18//
19// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
20// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
22// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
27// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28//
29// Parts of this file are originally copyright (c) 2012-2013 The Cryptonote developers
30
32#include <string>
33#include <ctime>
34
35namespace Monero {
36
38
40{
41public:
45 virtual int direction() const override;
47 virtual bool isPending() const override;
48 virtual bool isFailed() const override;
49 virtual bool isCoinbase() const override;
50 virtual uint64_t amount() const override;
52 virtual uint64_t fee() const override;
53 virtual uint64_t blockHeight() const override;
54 virtual std::string description() const override;
55 virtual std::set<uint32_t> subaddrIndex() const override;
56 virtual uint32_t subaddrAccount() const override;
57 virtual std::string label() const override;
58
59 virtual std::string hash() const override;
60 virtual std::time_t timestamp() const override;
61 virtual std::string paymentId() const override;
62 virtual const std::vector<Transfer> &transfers() const override;
63 virtual uint64_t confirmations() const override;
64 virtual uint64_t unlockTime() const override;
65
66private:
74 std::string m_description;
75 std::set<uint32_t> m_subaddrIndex; // always unique index for incoming transfers; can be multiple indices for outgoing transfers
77 std::string m_label;
78 std::string m_hash;
79 std::time_t m_timestamp;
80 std::string m_paymentid;
81 std::vector<Transfer> m_transfers;
84
86
87};
88
89} // namespace
Definition transaction_history.h:39
bool m_pending
Definition transaction_info.h:68
virtual std::string description() const override
Definition transaction_info.cpp:101
std::string m_paymentid
Definition transaction_info.h:80
virtual std::set< uint32_t > subaddrIndex() const override
Definition transaction_info.cpp:106
uint64_t m_unlock_time
Definition transaction_info.h:83
~TransactionInfoImpl()
Definition transaction_info.cpp:60
bool m_failed
Definition transaction_info.h:69
virtual std::string hash() const override
transaction_id
Definition transaction_info.cpp:122
virtual uint64_t confirmations() const override
Definition transaction_info.cpp:142
virtual bool isCoinbase() const override
Definition transaction_info.cpp:81
virtual std::time_t timestamp() const override
Definition transaction_info.cpp:127
std::time_t m_timestamp
Definition transaction_info.h:79
TransactionInfoImpl()
Definition transaction_info.cpp:44
virtual std::string label() const override
Definition transaction_info.cpp:116
std::string m_label
Definition transaction_info.h:77
bool m_coinbase
Definition transaction_info.h:70
virtual bool isFailed() const override
Definition transaction_info.cpp:76
virtual uint64_t blockHeight() const override
Definition transaction_info.cpp:96
virtual int direction() const override
in/out
Definition transaction_info.cpp:65
uint32_t m_subaddrAccount
Definition transaction_info.h:76
virtual bool isPending() const override
true if hold
Definition transaction_info.cpp:71
virtual uint64_t fee() const override
always 0 for incoming txes
Definition transaction_info.cpp:91
int m_direction
Definition transaction_info.h:67
uint64_t m_amount
Definition transaction_info.h:71
uint64_t m_fee
Definition transaction_info.h:72
virtual std::string paymentId() const override
Definition transaction_info.cpp:132
virtual uint32_t subaddrAccount() const override
Definition transaction_info.cpp:111
std::string m_hash
Definition transaction_info.h:78
std::set< uint32_t > m_subaddrIndex
Definition transaction_info.h:75
uint64_t m_blockheight
Definition transaction_info.h:73
friend class TransactionHistoryImpl
Definition transaction_info.h:85
virtual uint64_t unlockTime() const override
Definition transaction_info.cpp:147
virtual uint64_t amount() const override
Definition transaction_info.cpp:86
virtual const std::vector< Transfer > & transfers() const override
only applicable for output transactions
Definition transaction_info.cpp:137
uint64_t m_confirmations
Definition transaction_info.h:82
std::vector< Transfer > m_transfers
Definition transaction_info.h:81
std::string m_description
Definition transaction_info.h:74
Definition address_book.cpp:40
unsigned int uint32_t
Definition stdint.h:126
unsigned __int64 uint64_t
Definition stdint.h:136
The TransactionInfo - interface for displaying transaction information.
Definition wallet2_api.h:170