|
|
@ -23,7 +23,7 @@ class WalletModel : public QObject |
|
|
|
public: |
|
|
|
public: |
|
|
|
explicit WalletModel(CWallet *wallet, OptionsModel *optionsModel, QObject *parent = 0); |
|
|
|
explicit WalletModel(CWallet *wallet, OptionsModel *optionsModel, QObject *parent = 0); |
|
|
|
|
|
|
|
|
|
|
|
enum StatusCode |
|
|
|
enum StatusCode // Returned by sendCoins
|
|
|
|
{ |
|
|
|
{ |
|
|
|
OK, |
|
|
|
OK, |
|
|
|
InvalidAmount, |
|
|
|
InvalidAmount, |
|
|
@ -31,7 +31,7 @@ public: |
|
|
|
AmountExceedsBalance, |
|
|
|
AmountExceedsBalance, |
|
|
|
AmountWithFeeExceedsBalance, |
|
|
|
AmountWithFeeExceedsBalance, |
|
|
|
DuplicateAddress, |
|
|
|
DuplicateAddress, |
|
|
|
TransactionCreationFailed, |
|
|
|
TransactionCreationFailed, // Error returned when wallet is still locked
|
|
|
|
TransactionCommitFailed, |
|
|
|
TransactionCommitFailed, |
|
|
|
Aborted, |
|
|
|
Aborted, |
|
|
|
MiscError |
|
|
|
MiscError |
|
|
@ -86,12 +86,9 @@ public: |
|
|
|
|
|
|
|
|
|
|
|
bool isValid() const { return valid; } |
|
|
|
bool isValid() const { return valid; } |
|
|
|
|
|
|
|
|
|
|
|
UnlockContext(const UnlockContext& obj) |
|
|
|
// Copy operator and constructor transfer the context
|
|
|
|
{ CopyFrom(obj); } |
|
|
|
UnlockContext(const UnlockContext& obj) { CopyFrom(obj); } |
|
|
|
private: |
|
|
|
UnlockContext& operator=(const UnlockContext& rhs) { CopyFrom(rhs); return *this; } |
|
|
|
UnlockContext& operator=(const UnlockContext& rhs) |
|
|
|
|
|
|
|
{ CopyFrom(rhs); return *this; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private: |
|
|
|
private: |
|
|
|
WalletModel *wallet; |
|
|
|
WalletModel *wallet; |
|
|
|
bool valid; |
|
|
|
bool valid; |
|
|
@ -112,15 +109,25 @@ private: |
|
|
|
AddressTableModel *addressTableModel; |
|
|
|
AddressTableModel *addressTableModel; |
|
|
|
TransactionTableModel *transactionTableModel; |
|
|
|
TransactionTableModel *transactionTableModel; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Cache some values to be able to detect changes
|
|
|
|
qint64 cachedBalance; |
|
|
|
qint64 cachedBalance; |
|
|
|
qint64 cachedUnconfirmedBalance; |
|
|
|
qint64 cachedUnconfirmedBalance; |
|
|
|
qint64 cachedNumTransactions; |
|
|
|
qint64 cachedNumTransactions; |
|
|
|
EncryptionStatus cachedEncryptionStatus; |
|
|
|
EncryptionStatus cachedEncryptionStatus; |
|
|
|
|
|
|
|
|
|
|
|
signals: |
|
|
|
signals: |
|
|
|
|
|
|
|
// Signal that balance in wallet changed
|
|
|
|
void balanceChanged(qint64 balance, qint64 unconfirmedBalance); |
|
|
|
void balanceChanged(qint64 balance, qint64 unconfirmedBalance); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Number of transactions in wallet changed
|
|
|
|
void numTransactionsChanged(int count); |
|
|
|
void numTransactionsChanged(int count); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Encryption status of wallet changed
|
|
|
|
void encryptionStatusChanged(int status); |
|
|
|
void encryptionStatusChanged(int status); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Signal emitted when wallet needs to be unlocked
|
|
|
|
|
|
|
|
// It is valid behaviour for listeners to keep the wallet locked after this signal;
|
|
|
|
|
|
|
|
// this means that the unlocking failed or was cancelled.
|
|
|
|
void requireUnlock(); |
|
|
|
void requireUnlock(); |
|
|
|
|
|
|
|
|
|
|
|
// Asynchronous error notification
|
|
|
|
// Asynchronous error notification
|
|
|
|