X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fqt%2Fwalletmodel.h;h=6aeace745e7a76a9a8a519ed163c841a7032e242;hb=HEAD;hp=b33ff75ccf305aa98626156b07dcbac2009383bc;hpb=9ca8b78544b413ed875ff9bb6ef376e21922e6ac;p=novacoin.git diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index b33ff75..6aeace7 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -10,6 +10,7 @@ class OptionsModel; class AddressTableModel; class TransactionTableModel; +class MintingTableModel; class CWallet; class CKeyID; class CPubKey; @@ -61,9 +62,12 @@ public: OptionsModel *getOptionsModel(); AddressTableModel *getAddressTableModel(); + MintingTableModel *getMintingTableModel(); TransactionTableModel *getTransactionTableModel(); + bool haveWatchOnly() const; qint64 getBalance() const; + qint64 getBalanceWatchOnly() const; qint64 getStake() const; qint64 getUnconfirmedBalance() const; qint64 getImmatureBalance() const; @@ -96,11 +100,16 @@ public: // Wallet backup bool backupWallet(const QString &filename); + bool dumpWallet(const QString &filename); + bool importWallet(const QString &filename); + + void getStakeWeightFromValue(const int64_t& nTime, const int64_t& nValue, uint64_t& nWeight); + // RAI object for unlocking wallet, returned by requestUnlock() class UnlockContext { public: - UnlockContext(WalletModel *wallet, bool valid, bool relock); + UnlockContext(WalletModel *wallet, bool valid, bool relock, bool mintflag); ~UnlockContext(); bool isValid() const { return valid; } @@ -112,6 +121,7 @@ public: WalletModel *wallet; bool valid; mutable bool relock; // mutable, as it can be set to false by copying + bool mintflag; void CopyFrom(const UnlockContext& rhs); }; @@ -125,15 +135,19 @@ public: void lockCoin(COutPoint& output); void unlockCoin(COutPoint& output); void listLockedCoins(std::vector& vOutpts); + void clearOrphans(); + CWallet* getWallet(); private: CWallet *wallet; + bool fHaveWatchOnly; // Wallet has an options model for wallet-specific options // (transaction fee, for example) OptionsModel *optionsModel; AddressTableModel *addressTableModel; + MintingTableModel *mintingTableModel; TransactionTableModel *transactionTableModel; // Cache some values to be able to detect changes @@ -151,7 +165,6 @@ private: void unsubscribeFromCoreSignals(); void checkBalanceChanged(); - public slots: /* Wallet status might have changed */ void updateStatus(); @@ -159,12 +172,14 @@ public slots: void updateTransaction(const QString &hash, int status); /* New, updated or removed address book entry */ void updateAddressBook(const QString &address, const QString &label, bool isMine, int status); + /* Watchonly added */ + void updateWatchOnlyFlag(bool fHaveWatchonly); /* Current, immature or unconfirmed balance might have changed - emit 'balanceChanged' if so */ void pollBalanceChanged(); signals: // Signal that balance in wallet changed - void balanceChanged(qint64 balance, qint64 stake, qint64 unconfirmedBalance, qint64 immatureBalance); + void balanceChanged(qint64 total, qint64 watchOnly, qint64 stake, qint64 unconfirmedBalance, qint64 immatureBalance); // Number of transactions in wallet changed void numTransactionsChanged(int count); @@ -179,6 +194,9 @@ signals: // Asynchronous error notification void error(const QString &title, const QString &message, bool modal); + + // Watch-only address added + void notifyWatchonlyChanged(bool fHaveWatchonly); };