// SPDX-License-Identifier: BSD-3-Clause // Copyright (c) 2020-2021, The Monero Project. #ifndef FEATHER_COINSINFO_H #define FEATHER_COINSINFO_H #include #include #include #include class Coins; class CoinsInfo : public QObject { Q_OBJECT Q_PROPERTY(quint64 blockHeight READ blockHeight) Q_PROPERTY(QString hash READ hash) Q_PROPERTY(quint64 internalOutputIndex READ internalOutputIndex) Q_PROPERTY(quint64 globalOutputIndex READ globalOutputIndex) Q_PROPERTY(bool spent READ spent) Q_PROPERTY(bool frozen READ frozen) Q_PROPERTY(quint64 spentHeight READ spentHeight) Q_PROPERTY(quint64 amount READ amount) Q_PROPERTY(QString displayAmount READ displayAmount) Q_PROPERTY(bool rct READ rct) Q_PROPERTY(bool keyImageKnown READ keyImageKnown) Q_PROPERTY(quint64 pkIndex READ pkIndex) Q_PROPERTY(quint32 subaddrIndex READ subaddrIndex) Q_PROPERTY(quint32 subaddrAccount READ subaddrAccount) Q_PROPERTY(QString address READ address) Q_PROPERTY(QString addressLabel READ addressLabel) Q_PROPERTY(QString keyImage READ keyImage) Q_PROPERTY(quint64 unlockTime READ unlockTime) Q_PROPERTY(bool unlocked READ unlocked) Q_PROPERTY(QString pubKey READ pubKey) Q_PROPERTY(bool coinbase READ coinbase) public: quint64 blockHeight() const; QString hash() const; quint64 internalOutputIndex() const; quint64 globalOutputIndex() const; bool spent() const; bool frozen() const; quint64 spentHeight() const; quint64 amount() const; QString displayAmount() const; bool rct() const; bool keyImageKnown() const; quint64 pkIndex() const; quint32 subaddrIndex() const; quint32 subaddrAccount() const; QString address() const; QString addressLabel() const; QString keyImage() const; quint64 unlockTime() const; bool unlocked() const; QString pubKey() const; bool coinbase() const; void setUnlocked(bool unlocked); private: explicit CoinsInfo(const Monero::CoinsInfo *pimpl, QObject *parent = nullptr); private: friend class Coins; quint64 m_blockHeight; QString m_hash; quint64 m_internalOutputIndex; quint64 m_globalOutputIndex; bool m_spent; bool m_frozen; quint64 m_spentHeight; quint64 m_amount; bool m_rct; bool m_keyImageKnown; quint64 m_pkIndex; quint32 m_subaddrIndex; quint32 m_subaddrAccount; QString m_address; QString m_addressLabel; QString m_keyImage; quint64 m_unlockTime; bool m_unlocked; QString m_pubKey; bool m_coinbase; }; #endif //FEATHER_COINSINFO_H