class OptionsModel;
class AddressTableModel;
class TransactionTableModel;
+class MintingTableModel;
class CWallet;
class CKeyID;
class CPubKey;
OptionsModel *getOptionsModel();
AddressTableModel *getAddressTableModel();
+ MintingTableModel *getMintingTableModel();
TransactionTableModel *getTransactionTableModel();
+ bool haveWatchOnly() const;
qint64 getBalance() const;
qint64 getBalanceWatchOnly() const;
qint64 getStake() const;
bool dumpWallet(const QString &filename);
bool importWallet(const QString &filename);
- void getStakeWeight(quint64& nMinWeight, quint64& nMaxWeight, quint64& nWeight);
- void getStakeWeightFromValue(const qint64& nTime, const qint64& nValue, quint64& nWeight);
+ void getStakeStats(float &nKernelsRate, float &nCoinDaysRate);
+ 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; }
WalletModel *wallet;
bool valid;
mutable bool relock; // mutable, as it can be set to false by copying
+ bool mintflag;
void CopyFrom(const UnlockContext& rhs);
};
void lockCoin(COutPoint& output);
void unlockCoin(COutPoint& output);
void listLockedCoins(std::vector<COutPoint>& 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
void unsubscribeFromCoreSignals();
void checkBalanceChanged();
-
public slots:
/* Wallet status might have changed */
void updateStatus();
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();
// Asynchronous error notification
void error(const QString &title, const QString &message, bool modal);
+
+ // Watch-only address added
+ void notifyWatchonlyChanged(bool fHaveWatchonly);
};