Skip to content

Commit

Permalink
[Qt] Fix PIV balances on overview page
Browse files Browse the repository at this point in the history
Locked balances were being double counted in the total and available
values. This fixes the issue once and for all.

fixes PIVX-Project#654
  • Loading branch information
Fuzzbawls committed Jul 12, 2018
1 parent f6bfb4a commit 142bbc2
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions src/qt/overviewpage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -208,14 +208,19 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
nLockedBalance = pwalletMain->GetLockedCoins();
nWatchOnlyLockedBalance = pwalletMain->GetLockedWatchOnlyBalance();
}

// PIV Balance
CAmount nTotalBalance = balance + unconfirmedBalance + nLockedBalance;
CAmount pivAvailableBalance = balance - immatureBalance;
CAmount nTotalWatchBalance = watchOnlyBalance + watchUnconfBalance + watchImmatureBalance;
CAmount nUnlockedBalance = nTotalBalance - nLockedBalance - nLockedBalance; // increment nLockedBalance twice because it was added to
// nTotalBalance above
CAmount nTotalBalance = balance + unconfirmedBalance;
CAmount pivAvailableBalance = balance - immatureBalance - nLockedBalance;
CAmount nUnlockedBalance = nTotalBalance - nLockedBalance;

// PIV Watch-Only Balance
CAmount nTotalWatchBalance = watchOnlyBalance + watchUnconfBalance;
CAmount nAvailableWatchBalance = watchOnlyBalance - watchImmatureBalance - nWatchOnlyLockedBalance;

// zPIV Balance
CAmount matureZerocoinBalance = zerocoinBalance - unconfirmedZerocoinBalance - immatureZerocoinBalance;

// Percentages
QString szPercentage = "";
QString sPercentage = "";
Expand All @@ -232,7 +237,7 @@ void OverviewPage::setBalance(const CAmount& balance, const CAmount& unconfirmed
ui->labelTotal->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, nTotalBalance, false, BitcoinUnits::separatorAlways));

// Watchonly labels
ui->labelWatchAvailable->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchOnlyBalance, false, BitcoinUnits::separatorAlways));
ui->labelWatchAvailable->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, nAvailableWatchBalance, false, BitcoinUnits::separatorAlways));
ui->labelWatchPending->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchUnconfBalance, false, BitcoinUnits::separatorAlways));
ui->labelWatchImmature->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, watchImmatureBalance, false, BitcoinUnits::separatorAlways));
ui->labelWatchLocked->setText(BitcoinUnits::floorHtmlWithUnit(nDisplayUnit, nWatchOnlyLockedBalance, false, BitcoinUnits::separatorAlways));
Expand Down

0 comments on commit 142bbc2

Please sign in to comment.