add stake to gui
This commit is contained in:
@@ -189,14 +189,14 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="2">
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<item row="5" column="2">
|
||||
<widget class="Line" name="lineWatchBalance">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
@@ -215,7 +215,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="labelTotalText">
|
||||
<property name="text">
|
||||
<string>Total:</string>
|
||||
@@ -267,7 +267,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<item row="6" column="1">
|
||||
<widget class="QLabel" name="labelTotal">
|
||||
<property name="font">
|
||||
<font>
|
||||
@@ -292,7 +292,7 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<item row="6" column="2">
|
||||
<widget class="QLabel" name="labelWatchTotal">
|
||||
<property name="font">
|
||||
<font>
|
||||
@@ -401,6 +401,111 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="labelStakeText">
|
||||
<property name="text">
|
||||
<string>Stake:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLabel" name="labelStake">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0.000 000 00 BTC</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QLabel" name="labelWatchStake">
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>0.000 000 00 BTC</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<property name="spacing">
|
||||
<number>12</number>
|
||||
</property>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
|
||||
@@ -116,9 +116,11 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
|
||||
currentBalance(-1),
|
||||
currentUnconfirmedBalance(-1),
|
||||
currentImmatureBalance(-1),
|
||||
currentStake(-1),
|
||||
currentWatchOnlyBalance(-1),
|
||||
currentWatchUnconfBalance(-1),
|
||||
currentWatchImmatureBalance(-1),
|
||||
currentWatchOnlyStake(-1),
|
||||
txdelegate(new TxViewDelegate(platformStyle, this))
|
||||
{
|
||||
ui->setupUi(this);
|
||||
@@ -152,33 +154,43 @@ OverviewPage::~OverviewPage()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance)
|
||||
void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& stake, const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance, const CAmount& watchOnlyStake)
|
||||
{
|
||||
int unit = walletModel->getOptionsModel()->getDisplayUnit();
|
||||
currentBalance = balance;
|
||||
currentUnconfirmedBalance = unconfirmedBalance;
|
||||
currentImmatureBalance = immatureBalance;
|
||||
currentStake = stake;
|
||||
currentWatchOnlyBalance = watchOnlyBalance;
|
||||
currentWatchUnconfBalance = watchUnconfBalance;
|
||||
currentWatchImmatureBalance = watchImmatureBalance;
|
||||
currentWatchOnlyStake = watchOnlyStake;
|
||||
ui->labelBalance->setText(BitcoinUnits::formatWithUnit(unit, balance, false, BitcoinUnits::separatorAlways));
|
||||
ui->labelUnconfirmed->setText(BitcoinUnits::formatWithUnit(unit, unconfirmedBalance, false, BitcoinUnits::separatorAlways));
|
||||
ui->labelImmature->setText(BitcoinUnits::formatWithUnit(unit, immatureBalance, false, BitcoinUnits::separatorAlways));
|
||||
ui->labelTotal->setText(BitcoinUnits::formatWithUnit(unit, balance + unconfirmedBalance + immatureBalance, false, BitcoinUnits::separatorAlways));
|
||||
ui->labelStake->setText(BitcoinUnits::formatWithUnit(unit, stake, false, BitcoinUnits::separatorAlways));
|
||||
ui->labelTotal->setText(BitcoinUnits::formatWithUnit(unit, balance + unconfirmedBalance + immatureBalance + stake, false, BitcoinUnits::separatorAlways));
|
||||
ui->labelWatchAvailable->setText(BitcoinUnits::formatWithUnit(unit, watchOnlyBalance, false, BitcoinUnits::separatorAlways));
|
||||
ui->labelWatchPending->setText(BitcoinUnits::formatWithUnit(unit, watchUnconfBalance, false, BitcoinUnits::separatorAlways));
|
||||
ui->labelWatchImmature->setText(BitcoinUnits::formatWithUnit(unit, watchImmatureBalance, false, BitcoinUnits::separatorAlways));
|
||||
ui->labelWatchTotal->setText(BitcoinUnits::formatWithUnit(unit, watchOnlyBalance + watchUnconfBalance + watchImmatureBalance, false, BitcoinUnits::separatorAlways));
|
||||
ui->labelWatchStake->setText(BitcoinUnits::formatWithUnit(unit, watchOnlyStake, false, BitcoinUnits::separatorAlways));
|
||||
ui->labelWatchTotal->setText(BitcoinUnits::formatWithUnit(unit, watchOnlyBalance + watchUnconfBalance + watchImmatureBalance + watchOnlyStake, false, BitcoinUnits::separatorAlways));
|
||||
|
||||
// only show immature (newly mined) balance if it's non-zero, so as not to complicate things
|
||||
// for the non-mining users
|
||||
bool showImmature = immatureBalance != 0;
|
||||
bool showStake = stake != 0;
|
||||
bool showWatchOnlyImmature = watchImmatureBalance != 0;
|
||||
bool showWatchOnlyStake = watchOnlyStake != 0;
|
||||
|
||||
// for symmetry reasons also show immature label when the watch-only one is shown
|
||||
ui->labelImmature->setVisible(showImmature || showWatchOnlyImmature);
|
||||
ui->labelImmatureText->setVisible(showImmature || showWatchOnlyImmature);
|
||||
ui->labelWatchImmature->setVisible(showWatchOnlyImmature); // show watch-only immature balance
|
||||
ui->labelStake->setVisible(showStake || showWatchOnlyStake);
|
||||
ui->labelStakeText->setVisible(showStake || showWatchOnlyStake);
|
||||
ui->labelWatchStake->setVisible(showWatchOnlyStake); // show watch-only stake balance
|
||||
|
||||
}
|
||||
|
||||
// show/hide watch-only labels
|
||||
@@ -192,7 +204,10 @@ void OverviewPage::updateWatchOnlyLabels(bool showWatchOnly)
|
||||
ui->labelWatchTotal->setVisible(showWatchOnly); // show watch-only total balance
|
||||
|
||||
if (!showWatchOnly)
|
||||
{
|
||||
ui->labelWatchImmature->hide();
|
||||
ui->labelWatchStake->hide();
|
||||
}
|
||||
}
|
||||
|
||||
void OverviewPage::setClientModel(ClientModel *model)
|
||||
@@ -224,9 +239,9 @@ void OverviewPage::setWalletModel(WalletModel *model)
|
||||
ui->listTransactions->setModelColumn(TransactionTableModel::ToAddress);
|
||||
|
||||
// Keep up to date with wallet
|
||||
setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(),
|
||||
model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance());
|
||||
connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
|
||||
setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(), model->getStake(),
|
||||
model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance(), model->getWatchStake());
|
||||
connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
|
||||
|
||||
connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
|
||||
|
||||
@@ -243,8 +258,8 @@ void OverviewPage::updateDisplayUnit()
|
||||
if(walletModel && walletModel->getOptionsModel())
|
||||
{
|
||||
if(currentBalance != -1)
|
||||
setBalance(currentBalance, currentUnconfirmedBalance, currentImmatureBalance,
|
||||
currentWatchOnlyBalance, currentWatchUnconfBalance, currentWatchImmatureBalance);
|
||||
setBalance(currentBalance, currentUnconfirmedBalance, currentImmatureBalance, currentStake,
|
||||
currentWatchOnlyBalance, currentWatchUnconfBalance, currentWatchImmatureBalance, currentWatchOnlyStake);
|
||||
|
||||
// Update txdelegate->unit with the current unit
|
||||
txdelegate->unit = walletModel->getOptionsModel()->getDisplayUnit();
|
||||
|
||||
@@ -38,8 +38,8 @@ public:
|
||||
void showOutOfSyncWarning(bool fShow);
|
||||
|
||||
public Q_SLOTS:
|
||||
void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance,
|
||||
const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance);
|
||||
void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& stake,
|
||||
const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance, const CAmount& watchOnlyStake);
|
||||
|
||||
Q_SIGNALS:
|
||||
void transactionClicked(const QModelIndex &index);
|
||||
@@ -51,9 +51,11 @@ private:
|
||||
CAmount currentBalance;
|
||||
CAmount currentUnconfirmedBalance;
|
||||
CAmount currentImmatureBalance;
|
||||
CAmount currentStake;
|
||||
CAmount currentWatchOnlyBalance;
|
||||
CAmount currentWatchUnconfBalance;
|
||||
CAmount currentWatchImmatureBalance;
|
||||
CAmount currentWatchOnlyStake;
|
||||
|
||||
TxViewDelegate *txdelegate;
|
||||
std::unique_ptr<TransactionFilterProxy> filter;
|
||||
|
||||
@@ -143,9 +143,9 @@ void SendCoinsDialog::setModel(WalletModel *model)
|
||||
}
|
||||
}
|
||||
|
||||
setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(),
|
||||
model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance());
|
||||
connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
|
||||
setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance(), model->getStake(),
|
||||
model->getWatchBalance(), model->getWatchUnconfirmedBalance(), model->getWatchImmatureBalance(), model->getWatchStake());
|
||||
connect(model, SIGNAL(balanceChanged(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)), this, SLOT(setBalance(CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount,CAmount)));
|
||||
connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
|
||||
updateDisplayUnit();
|
||||
|
||||
@@ -470,14 +470,16 @@ bool SendCoinsDialog::handlePaymentRequest(const SendCoinsRecipient &rv)
|
||||
return true;
|
||||
}
|
||||
|
||||
void SendCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance,
|
||||
const CAmount& watchBalance, const CAmount& watchUnconfirmedBalance, const CAmount& watchImmatureBalance)
|
||||
void SendCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& stake,
|
||||
const CAmount& watchBalance, const CAmount& watchUnconfirmedBalance, const CAmount& watchImmatureBalance, const CAmount& watchStake)
|
||||
{
|
||||
Q_UNUSED(unconfirmedBalance);
|
||||
Q_UNUSED(immatureBalance);
|
||||
Q_UNUSED(watchBalance);
|
||||
Q_UNUSED(stake);
|
||||
Q_UNUSED(watchUnconfirmedBalance);
|
||||
Q_UNUSED(watchImmatureBalance);
|
||||
Q_UNUSED(watchStake);
|
||||
|
||||
if(model && model->getOptionsModel())
|
||||
{
|
||||
@@ -487,7 +489,7 @@ void SendCoinsDialog::setBalance(const CAmount& balance, const CAmount& unconfir
|
||||
|
||||
void SendCoinsDialog::updateDisplayUnit()
|
||||
{
|
||||
setBalance(model->getBalance(), 0, 0, 0, 0, 0);
|
||||
setBalance(model->getBalance(), 0, 0, 0, 0, 0, 0, 0);
|
||||
ui->customFee->setDisplayUnit(model->getOptionsModel()->getDisplayUnit());
|
||||
updateMinFeeLabel();
|
||||
updateSmartFeeLabel();
|
||||
|
||||
@@ -54,8 +54,8 @@ public Q_SLOTS:
|
||||
void accept();
|
||||
SendCoinsEntry *addEntry();
|
||||
void updateTabsAndLabels();
|
||||
void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance,
|
||||
const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance);
|
||||
void setBalance(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& stake,
|
||||
const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance, const CAmount& watchOnlyStake);
|
||||
|
||||
private:
|
||||
Ui::SendCoinsDialog *ui;
|
||||
|
||||
@@ -30,9 +30,17 @@ WalletModel::WalletModel(const PlatformStyle *platformStyle, CWallet *wallet, Op
|
||||
QObject(parent), wallet(wallet), optionsModel(optionsModel), addressTableModel(0),
|
||||
transactionTableModel(0),
|
||||
recentRequestsTableModel(0),
|
||||
cachedBalance(0), cachedUnconfirmedBalance(0), cachedImmatureBalance(0),
|
||||
cachedBalance(0),
|
||||
cachedUnconfirmedBalance(0),
|
||||
cachedImmatureBalance(0),
|
||||
cachedStake(0),
|
||||
cachedWatchOnlyBalance(0),
|
||||
cachedWatchUnconfBalance(0),
|
||||
cachedWatchImmatureBalance(0),
|
||||
cachedWatchOnlyStake(0),
|
||||
cachedEncryptionStatus(Unencrypted),
|
||||
cachedNumBlocks(0)
|
||||
cachedNumBlocks(0)
|
||||
|
||||
{
|
||||
fHaveWatchOnly = wallet->HaveWatchOnly();
|
||||
fForceCheckBalanceChanged = false;
|
||||
@@ -71,6 +79,16 @@ CAmount WalletModel::getBalance(const CCoinControl *coinControl) const
|
||||
return wallet->GetBalance();
|
||||
}
|
||||
|
||||
CAmount WalletModel::getStake() const
|
||||
{
|
||||
return wallet->GetStake();
|
||||
}
|
||||
|
||||
CAmount WalletModel::getWatchStake() const
|
||||
{
|
||||
return wallet->GetWatchOnlyStake();
|
||||
}
|
||||
|
||||
CAmount WalletModel::getUnconfirmedBalance() const
|
||||
{
|
||||
return wallet->GetUnconfirmedBalance();
|
||||
@@ -139,27 +157,32 @@ void WalletModel::checkBalanceChanged()
|
||||
CAmount newBalance = getBalance();
|
||||
CAmount newUnconfirmedBalance = getUnconfirmedBalance();
|
||||
CAmount newImmatureBalance = getImmatureBalance();
|
||||
CAmount newStake = getStake();
|
||||
CAmount newWatchOnlyBalance = 0;
|
||||
CAmount newWatchUnconfBalance = 0;
|
||||
CAmount newWatchImmatureBalance = 0;
|
||||
CAmount newWatchOnlyStake = 0;
|
||||
if (haveWatchOnly())
|
||||
{
|
||||
newWatchOnlyBalance = getWatchBalance();
|
||||
newWatchUnconfBalance = getWatchUnconfirmedBalance();
|
||||
newWatchImmatureBalance = getWatchImmatureBalance();
|
||||
newWatchOnlyStake = getWatchStake();
|
||||
}
|
||||
|
||||
if(cachedBalance != newBalance || cachedUnconfirmedBalance != newUnconfirmedBalance || cachedImmatureBalance != newImmatureBalance ||
|
||||
cachedWatchOnlyBalance != newWatchOnlyBalance || cachedWatchUnconfBalance != newWatchUnconfBalance || cachedWatchImmatureBalance != newWatchImmatureBalance)
|
||||
cachedWatchOnlyBalance != newWatchOnlyBalance || cachedWatchUnconfBalance != newWatchUnconfBalance || cachedWatchImmatureBalance != newWatchImmatureBalance || cachedStake != newStake || cachedWatchOnlyStake != newWatchOnlyStake)
|
||||
{
|
||||
cachedBalance = newBalance;
|
||||
cachedUnconfirmedBalance = newUnconfirmedBalance;
|
||||
cachedImmatureBalance = newImmatureBalance;
|
||||
cachedStake = newStake;
|
||||
cachedWatchOnlyBalance = newWatchOnlyBalance;
|
||||
cachedWatchUnconfBalance = newWatchUnconfBalance;
|
||||
cachedWatchImmatureBalance = newWatchImmatureBalance;
|
||||
Q_EMIT balanceChanged(newBalance, newUnconfirmedBalance, newImmatureBalance,
|
||||
newWatchOnlyBalance, newWatchUnconfBalance, newWatchImmatureBalance);
|
||||
cachedWatchOnlyStake = newWatchOnlyStake;
|
||||
Q_EMIT balanceChanged(newBalance, newUnconfirmedBalance, newImmatureBalance, newStake,
|
||||
newWatchOnlyBalance, newWatchUnconfBalance, newWatchImmatureBalance, newWatchOnlyStake);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -692,4 +715,4 @@ bool WalletModel::abandonTransaction(uint256 hash) const
|
||||
bool WalletModel::hdEnabled() const
|
||||
{
|
||||
return wallet->IsHDEnabled();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,10 +133,12 @@ public:
|
||||
CAmount getBalance(const CCoinControl *coinControl = NULL) const;
|
||||
CAmount getUnconfirmedBalance() const;
|
||||
CAmount getImmatureBalance() const;
|
||||
CAmount getStake() const;
|
||||
bool haveWatchOnly() const;
|
||||
CAmount getWatchBalance() const;
|
||||
CAmount getWatchUnconfirmedBalance() const;
|
||||
CAmount getWatchImmatureBalance() const;
|
||||
CAmount getWatchStake() const;
|
||||
EncryptionStatus getEncryptionStatus() const;
|
||||
|
||||
// Check address for validity
|
||||
@@ -222,9 +224,11 @@ private:
|
||||
CAmount cachedBalance;
|
||||
CAmount cachedUnconfirmedBalance;
|
||||
CAmount cachedImmatureBalance;
|
||||
CAmount cachedStake;
|
||||
CAmount cachedWatchOnlyBalance;
|
||||
CAmount cachedWatchUnconfBalance;
|
||||
CAmount cachedWatchImmatureBalance;
|
||||
CAmount cachedWatchOnlyStake;
|
||||
EncryptionStatus cachedEncryptionStatus;
|
||||
int cachedNumBlocks;
|
||||
|
||||
@@ -236,8 +240,9 @@ private:
|
||||
|
||||
Q_SIGNALS:
|
||||
// Signal that balance in wallet changed
|
||||
void balanceChanged(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance,
|
||||
const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance);
|
||||
void balanceChanged(const CAmount& balance, const CAmount& unconfirmedBalance, const CAmount& immatureBalance, const CAmount& stake,
|
||||
const CAmount& watchOnlyBalance, const CAmount& watchUnconfBalance, const CAmount& watchImmatureBalance, const CAmount& watchOnlyStake);
|
||||
|
||||
|
||||
// Encryption status of wallet changed
|
||||
void encryptionStatusChanged(int status);
|
||||
|
||||
@@ -2193,16 +2193,16 @@ CAmount CWallet::GetImmatureBalance() const
|
||||
return nTotal;
|
||||
}
|
||||
|
||||
CAmount CWallet::GetStakeBalance() const
|
||||
// ppcoin: total coins staked (non-spendable until maturity)
|
||||
CAmount CWallet::GetStake() const
|
||||
{
|
||||
CAmount nTotal = 0;
|
||||
LOCK2(cs_main, cs_wallet);
|
||||
for (map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
|
||||
{
|
||||
LOCK2(cs_main, cs_wallet);
|
||||
for (map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
|
||||
{
|
||||
const CWalletTx* pcoin = &(*it).second;
|
||||
nTotal += pcoin->GetImmatureStakeCredit();
|
||||
}
|
||||
const CWalletTx* pcoin = &(*it).second;
|
||||
if (pcoin->IsCoinStake() && pcoin->GetBlocksToMaturity() > 0 && pcoin->GetDepthInMainChain() > 0)
|
||||
nTotal += CWallet::GetCredit(*pcoin, ISMINE_SPENDABLE);
|
||||
}
|
||||
return nTotal;
|
||||
}
|
||||
@@ -2341,6 +2341,21 @@ static void ApproximateBestSubset(vector<pair<CAmount, pair<const CWalletTx*,uns
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
CAmount CWallet::GetWatchOnlyStake() const
|
||||
{
|
||||
CAmount nTotal = 0;
|
||||
LOCK2(cs_main, cs_wallet);
|
||||
for (map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
|
||||
{
|
||||
const CWalletTx* pcoin = &(*it).second;
|
||||
if (pcoin->IsCoinStake() && pcoin->GetBlocksToMaturity() > 0 && pcoin->GetDepthInMainChain() > 0)
|
||||
nTotal += CWallet::GetCredit(*pcoin, ISMINE_WATCH_ONLY);
|
||||
}
|
||||
return nTotal;
|
||||
}
|
||||
|
||||
bool CWallet::SelectCoinsMinConf(const CAmount& nTargetValue, int nConfMine, int nConfTheirs, vector<COutput> vCoins,
|
||||
set<pair<const CWalletTx*,unsigned int> >& setCoinsRet, CAmount& nValueRet) const
|
||||
{
|
||||
|
||||
@@ -752,7 +752,8 @@ public:
|
||||
CAmount GetBalance() const;
|
||||
CAmount GetUnconfirmedBalance() const;
|
||||
CAmount GetImmatureBalance() const;
|
||||
CAmount GetStakeBalance() const;
|
||||
CAmount GetStake() const;
|
||||
CAmount GetWatchOnlyStake() const;
|
||||
CAmount GetWatchOnlyBalance() const;
|
||||
CAmount GetUnconfirmedWatchOnlyBalance() const;
|
||||
CAmount GetImmatureWatchOnlyBalance() const;
|
||||
|
||||
Reference in New Issue
Block a user