BSHA3  0.17.99
P2P Blockchain, based on Bitcoin
Classes | Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
WalletModel Class Reference

Interface to Bitcoin wallet from Qt view code. More...

#include <walletmodel.h>

Inheritance diagram for WalletModel:
[legend]
Collaboration diagram for WalletModel:
[legend]

Classes

struct  SendCoinsReturn
 
class  UnlockContext
 

Public Types

enum  StatusCode {
  OK, InvalidAmount, InvalidAddress, AmountExceedsBalance,
  AmountWithFeeExceedsBalance, DuplicateAddress, TransactionCreationFailed, TransactionCommitFailed,
  AbsurdFee, PaymentRequestExpired
}
 
enum  EncryptionStatus { Unencrypted, Locked, Unlocked }
 

Public Slots

void updateStatus ()
 
void updateTransaction ()
 
void updateAddressBook (const QString &address, const QString &label, bool isMine, const QString &purpose, int status)
 
void updateWatchOnlyFlag (bool fHaveWatchonly)
 
void pollBalanceChanged ()
 

Signals

void balanceChanged (const interfaces::WalletBalances &balances)
 
void encryptionStatusChanged ()
 
void requireUnlock ()
 
void message (const QString &title, const QString &message, unsigned int style)
 
void coinsSent (WalletModel *wallet, SendCoinsRecipient recipient, QByteArray transaction)
 
void showProgress (const QString &title, int nProgress)
 
void notifyWatchonlyChanged (bool fHaveWatchonly)
 
void unload ()
 

Public Member Functions

 WalletModel (std::unique_ptr< interfaces::Wallet > wallet, interfaces::Node &node, const PlatformStyle *platformStyle, OptionsModel *optionsModel, QObject *parent=0)
 
 ~WalletModel ()
 
OptionsModel * getOptionsModel ()
 
AddressTableModel * getAddressTableModel ()
 
TransactionTableModel * getTransactionTableModel ()
 
RecentRequestsTableModel * getRecentRequestsTableModel ()
 
EncryptionStatus getEncryptionStatus () const
 
bool validateAddress (const QString &address)
 
SendCoinsReturn prepareTransaction (WalletModelTransaction &transaction, const CCoinControl &coinControl)
 
SendCoinsReturn sendCoins (WalletModelTransaction &transaction)
 
bool setWalletEncrypted (bool encrypted, const SecureString &passphrase)
 
bool setWalletLocked (bool locked, const SecureString &passPhrase=SecureString())
 
bool changePassphrase (const SecureString &oldPass, const SecureString &newPass)
 
UnlockContext requestUnlock ()
 
void loadReceiveRequests (std::vector< std::string > &vReceiveRequests)
 
bool saveReceiveRequest (const std::string &sAddress, const int64_t nId, const std::string &sRequest)
 
bool bumpFee (uint256 hash, uint256 &new_hash)
 
bool privateKeysDisabled () const
 
interfaces::Node & node () const
 
interfaces::Wallet & wallet () const
 
QString getWalletName () const
 
bool isMultiwallet ()
 
AddressTableModel * getAddressTableModel () const
 

Static Public Member Functions

static bool isWalletEnabled ()
 

Private Member Functions

void subscribeToCoreSignals ()
 
void unsubscribeFromCoreSignals ()
 
void checkBalanceChanged (const interfaces::WalletBalances &new_balances)
 

Private Attributes

std::unique_ptr< interfaces::Wallet > m_wallet
 
std::unique_ptr< interfaces::Handler > m_handler_unload
 
std::unique_ptr< interfaces::Handler > m_handler_status_changed
 
std::unique_ptr< interfaces::Handler > m_handler_address_book_changed
 
std::unique_ptr< interfaces::Handler > m_handler_transaction_changed
 
std::unique_ptr< interfaces::Handler > m_handler_show_progress
 
std::unique_ptr< interfaces::Handler > m_handler_watch_only_changed
 
interfaces::Node & m_node
 
bool fHaveWatchOnly
 
bool fForceCheckBalanceChanged
 
OptionsModel * optionsModel
 
AddressTableModel * addressTableModel
 
TransactionTableModel * transactionTableModel
 
RecentRequestsTableModel * recentRequestsTableModel
 
interfaces::WalletBalances m_cached_balances
 
EncryptionStatus cachedEncryptionStatus
 
int cachedNumBlocks
 
QTimer * pollTimer
 

Detailed Description

Interface to Bitcoin wallet from Qt view code.

Definition at line 125 of file walletmodel.h.

Member Enumeration Documentation

◆ EncryptionStatus

Enumerator
Unencrypted 
Locked 
Unlocked 

Definition at line 147 of file walletmodel.h.

◆ StatusCode

Enumerator
OK 
InvalidAmount 
InvalidAddress 
AmountExceedsBalance 
AmountWithFeeExceedsBalance 
DuplicateAddress 
TransactionCreationFailed 
TransactionCommitFailed 
AbsurdFee 
PaymentRequestExpired 

Definition at line 133 of file walletmodel.h.

Constructor & Destructor Documentation

◆ WalletModel()

WalletModel::WalletModel ( std::unique_ptr< interfaces::Wallet >  wallet,
interfaces::Node &  node,
const PlatformStyle *  platformStyle,
OptionsModel *  optionsModel,
QObject *  parent = 0 
)
explicit

Definition at line 35 of file walletmodel.cpp.

Here is the call graph for this function:

◆ ~WalletModel()

WalletModel::~WalletModel ( )

Definition at line 57 of file walletmodel.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ balanceChanged

void WalletModel::balanceChanged ( const interfaces::WalletBalances &  balances)
signal
Here is the caller graph for this function:

◆ bumpFee()

bool WalletModel::bumpFee ( uint256  hash,
uint256 &  new_hash 
)

Definition at line 506 of file walletmodel.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ changePassphrase()

bool WalletModel::changePassphrase ( const SecureString &  oldPass,
const SecureString &  newPass 
)

Definition at line 371 of file walletmodel.cpp.

◆ checkBalanceChanged()

void WalletModel::checkBalanceChanged ( const interfaces::WalletBalances &  new_balances)
private

Definition at line 96 of file walletmodel.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ coinsSent

void WalletModel::coinsSent ( WalletModel *  wallet,
SendCoinsRecipient  recipient,
QByteArray  transaction 
)
signal
Here is the caller graph for this function:

◆ encryptionStatusChanged

void WalletModel::encryptionStatusChanged ( )
signal
Here is the caller graph for this function:

◆ getAddressTableModel() [1/2]

AddressTableModel * WalletModel::getAddressTableModel ( )

Definition at line 312 of file walletmodel.cpp.

Here is the caller graph for this function:

◆ getAddressTableModel() [2/2]

AddressTableModel* WalletModel::getAddressTableModel ( ) const
inline

Definition at line 225 of file walletmodel.h.

◆ getEncryptionStatus()

WalletModel::EncryptionStatus WalletModel::getEncryptionStatus ( ) const

Definition at line 327 of file walletmodel.cpp.

Here is the caller graph for this function:

◆ getOptionsModel()

OptionsModel * WalletModel::getOptionsModel ( )

Definition at line 307 of file walletmodel.cpp.

Here is the caller graph for this function:

◆ getRecentRequestsTableModel()

RecentRequestsTableModel * WalletModel::getRecentRequestsTableModel ( )

Definition at line 322 of file walletmodel.cpp.

Here is the caller graph for this function:

◆ getTransactionTableModel()

TransactionTableModel * WalletModel::getTransactionTableModel ( )

Definition at line 317 of file walletmodel.cpp.

Here is the caller graph for this function:

◆ getWalletName()

QString WalletModel::getWalletName ( ) const

Definition at line 576 of file walletmodel.cpp.

Here is the caller graph for this function:

◆ isMultiwallet()

bool WalletModel::isMultiwallet ( )

Definition at line 581 of file walletmodel.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isWalletEnabled()

bool WalletModel::isWalletEnabled ( )
static

Definition at line 566 of file walletmodel.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ loadReceiveRequests()

void WalletModel::loadReceiveRequests ( std::vector< std::string > &  vReceiveRequests)

Definition at line 487 of file walletmodel.cpp.

Here is the caller graph for this function:

◆ message

void WalletModel::message ( const QString &  title,
const QString &  message,
unsigned int  style 
)
signal
Here is the caller graph for this function:

◆ node()

interfaces::Node& WalletModel::node ( ) const
inline

Definition at line 218 of file walletmodel.h.

Here is the caller graph for this function:

◆ notifyWatchonlyChanged

void WalletModel::notifyWatchonlyChanged ( bool  fHaveWatchonly)
signal
Here is the caller graph for this function:

◆ pollBalanceChanged

void WalletModel::pollBalanceChanged ( )
slot

Definition at line 71 of file walletmodel.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ prepareTransaction()

WalletModel::SendCoinsReturn WalletModel::prepareTransaction ( WalletModelTransaction &  transaction,
const CCoinControl &  coinControl 
)

Definition at line 128 of file walletmodel.cpp.

Here is the call graph for this function:

◆ privateKeysDisabled()

bool WalletModel::privateKeysDisabled ( ) const

Definition at line 571 of file walletmodel.cpp.

Here is the caller graph for this function:

◆ requestUnlock()

WalletModel::UnlockContext WalletModel::requestUnlock ( )

Definition at line 451 of file walletmodel.cpp.

Here is the call graph for this function:

◆ requireUnlock

void WalletModel::requireUnlock ( )
signal
Here is the caller graph for this function:

◆ saveReceiveRequest()

bool WalletModel::saveReceiveRequest ( const std::string &  sAddress,
const int64_t  nId,
const std::string &  sRequest 
)

Definition at line 492 of file walletmodel.cpp.

Here is the call graph for this function:

◆ sendCoins()

WalletModel::SendCoinsReturn WalletModel::sendCoins ( WalletModelTransaction &  transaction)

Definition at line 236 of file walletmodel.cpp.

Here is the call graph for this function:

◆ setWalletEncrypted()

bool WalletModel::setWalletEncrypted ( bool  encrypted,
const SecureString &  passphrase 
)

Definition at line 343 of file walletmodel.cpp.

◆ setWalletLocked()

bool WalletModel::setWalletLocked ( bool  locked,
const SecureString &  passPhrase = SecureString() 
)

Definition at line 357 of file walletmodel.cpp.

◆ showProgress

void WalletModel::showProgress ( const QString &  title,
int  nProgress 
)
signal
Here is the caller graph for this function:

◆ subscribeToCoreSignals()

void WalletModel::subscribeToCoreSignals ( )
private

Definition at line 428 of file walletmodel.cpp.

◆ unload

void WalletModel::unload ( )
signal
Here is the caller graph for this function:

◆ unsubscribeFromCoreSignals()

void WalletModel::unsubscribeFromCoreSignals ( )
private

Definition at line 439 of file walletmodel.cpp.

Here is the caller graph for this function:

◆ updateAddressBook

void WalletModel::updateAddressBook ( const QString &  address,
const QString &  label,
bool  isMine,
const QString &  purpose,
int  status 
)
slot

Definition at line 110 of file walletmodel.cpp.

Here is the call graph for this function:

◆ updateStatus

void WalletModel::updateStatus ( )
slot

Definition at line 62 of file walletmodel.cpp.

Here is the call graph for this function:

◆ updateTransaction

void WalletModel::updateTransaction ( )
slot

Definition at line 104 of file walletmodel.cpp.

◆ updateWatchOnlyFlag

void WalletModel::updateWatchOnlyFlag ( bool  fHaveWatchonly)
slot

Definition at line 117 of file walletmodel.cpp.

◆ validateAddress()

bool WalletModel::validateAddress ( const QString &  address)

Definition at line 123 of file walletmodel.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ wallet()

interfaces::Wallet& WalletModel::wallet ( ) const
inline

Definition at line 219 of file walletmodel.h.

Here is the caller graph for this function:

Member Data Documentation

◆ addressTableModel

AddressTableModel* WalletModel::addressTableModel
private

Definition at line 243 of file walletmodel.h.

◆ cachedEncryptionStatus

EncryptionStatus WalletModel::cachedEncryptionStatus
private

Definition at line 249 of file walletmodel.h.

◆ cachedNumBlocks

int WalletModel::cachedNumBlocks
private

Definition at line 250 of file walletmodel.h.

◆ fForceCheckBalanceChanged

bool WalletModel::fForceCheckBalanceChanged
private

Definition at line 237 of file walletmodel.h.

◆ fHaveWatchOnly

bool WalletModel::fHaveWatchOnly
private

Definition at line 236 of file walletmodel.h.

◆ m_cached_balances

interfaces::WalletBalances WalletModel::m_cached_balances
private

Definition at line 248 of file walletmodel.h.

◆ m_handler_address_book_changed

std::unique_ptr<interfaces::Handler> WalletModel::m_handler_address_book_changed
private

Definition at line 230 of file walletmodel.h.

◆ m_handler_show_progress

std::unique_ptr<interfaces::Handler> WalletModel::m_handler_show_progress
private

Definition at line 232 of file walletmodel.h.

◆ m_handler_status_changed

std::unique_ptr<interfaces::Handler> WalletModel::m_handler_status_changed
private

Definition at line 229 of file walletmodel.h.

◆ m_handler_transaction_changed

std::unique_ptr<interfaces::Handler> WalletModel::m_handler_transaction_changed
private

Definition at line 231 of file walletmodel.h.

◆ m_handler_unload

std::unique_ptr<interfaces::Handler> WalletModel::m_handler_unload
private

Definition at line 228 of file walletmodel.h.

◆ m_handler_watch_only_changed

std::unique_ptr<interfaces::Handler> WalletModel::m_handler_watch_only_changed
private

Definition at line 233 of file walletmodel.h.

◆ m_node

interfaces::Node& WalletModel::m_node
private

Definition at line 234 of file walletmodel.h.

◆ m_wallet

std::unique_ptr<interfaces::Wallet> WalletModel::m_wallet
private

Definition at line 227 of file walletmodel.h.

◆ optionsModel

OptionsModel* WalletModel::optionsModel
private

Definition at line 241 of file walletmodel.h.

◆ pollTimer

QTimer* WalletModel::pollTimer
private

Definition at line 252 of file walletmodel.h.

◆ recentRequestsTableModel

RecentRequestsTableModel* WalletModel::recentRequestsTableModel
private

Definition at line 245 of file walletmodel.h.

◆ transactionTableModel

TransactionTableModel* WalletModel::transactionTableModel
private

Definition at line 244 of file walletmodel.h.


The documentation for this class was generated from the following files: