wallet: Remove isminetype
Since the only remaining isminetypes are ISMINE_NO and ISMINE_SPENDABLE, this enum is now just a bool and can be removed. IsMine is changed to return a bool and any usage of isminetypes and isminefilters are changed to be the remaining ISMINE_SPENDABLE case.
This commit is contained in:
1 parent
009a69a616
commit
be776a1443
21 files changed
+159
-257
No files matched your search
+13
-27
@@ -17,17 +17,12 @@
|
||||
#include <logging.h>
|
||||
#include <policy/policy.h>
|
||||
#include <validation.h>
|
||||
#include <wallet/types.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
|
||||
#include <QLatin1String>
|
||||
|
||||
using wallet::ISMINE_ALL;
|
||||
using wallet::ISMINE_SPENDABLE;
|
||||
using wallet::isminetype;
|
||||
|
||||
QString TransactionDesc::FormatTxStatus(const interfaces::WalletTxStatus& status, bool inMempool)
|
||||
{
|
||||
int depth = status.depth_in_main_chain;
|
||||
@@ -185,7 +180,7 @@ QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet& wall
|
||||
//
|
||||
CAmount nUnmatured = 0;
|
||||
for (const CTxOut& txout : wtx.tx->vout)
|
||||
nUnmatured += wallet.getCredit(txout, ISMINE_ALL);
|
||||
nUnmatured += wallet.getCredit(txout);
|
||||
strHTML += "<b>" + tr("Credit") + ":</b> ";
|
||||
if (status.is_in_main_chain)
|
||||
strHTML += BitcoinUnits::formatHtmlWithUnit(unit, nUnmatured)+ " (" + tr("matures in %n more block(s)", "", status.blocks_to_maturity) + ")";
|
||||
@@ -202,19 +197,10 @@ QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet& wall
|
||||
}
|
||||
else
|
||||
{
|
||||
isminetype fAllFromMe = ISMINE_SPENDABLE;
|
||||
for (const isminetype mine : wtx.txin_is_mine)
|
||||
{
|
||||
if(fAllFromMe > mine) fAllFromMe = mine;
|
||||
}
|
||||
bool all_from_me = std::all_of(wtx.txin_is_mine.begin(), wtx.txin_is_mine.end(), [](bool mine) { return mine; });
|
||||
bool all_to_me = std::all_of(wtx.txout_is_mine.begin(), wtx.txout_is_mine.end(), [](bool mine) { return mine; });
|
||||
|
||||
isminetype fAllToMe = ISMINE_SPENDABLE;
|
||||
for (const isminetype mine : wtx.txout_is_mine)
|
||||
{
|
||||
if(fAllToMe > mine) fAllToMe = mine;
|
||||
}
|
||||
|
||||
if (fAllFromMe)
|
||||
if (all_from_me)
|
||||
{
|
||||
// Debit
|
||||
//
|
||||
@@ -222,8 +208,8 @@ QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet& wall
|
||||
for (const CTxOut& txout : wtx.tx->vout)
|
||||
{
|
||||
// Ignore change
|
||||
isminetype toSelf = *(mine++);
|
||||
if ((toSelf == ISMINE_SPENDABLE) && (fAllFromMe == ISMINE_SPENDABLE))
|
||||
bool toSelf = *(mine++);
|
||||
if (toSelf && all_from_me)
|
||||
continue;
|
||||
|
||||
if (!wtx.value_map.count("to") || wtx.value_map["to"].empty())
|
||||
@@ -238,7 +224,7 @@ QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet& wall
|
||||
address, &name, /*purpose=*/nullptr) && !name.empty())
|
||||
strHTML += GUIUtil::HtmlEscape(name) + " ";
|
||||
strHTML += GUIUtil::HtmlEscape(EncodeDestination(address));
|
||||
if(toSelf == ISMINE_SPENDABLE)
|
||||
if(toSelf)
|
||||
strHTML += " (" + tr("own address") + ")";
|
||||
strHTML += "<br>";
|
||||
}
|
||||
@@ -249,7 +235,7 @@ QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet& wall
|
||||
strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatHtmlWithUnit(unit, txout.nValue) + "<br>";
|
||||
}
|
||||
|
||||
if (fAllToMe)
|
||||
if (all_to_me)
|
||||
{
|
||||
// Payment to self
|
||||
CAmount nChange = wtx.change;
|
||||
@@ -270,13 +256,13 @@ QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet& wall
|
||||
auto mine = wtx.txin_is_mine.begin();
|
||||
for (const CTxIn& txin : wtx.tx->vin) {
|
||||
if (*(mine++)) {
|
||||
strHTML += "<b>" + tr("Debit") + ":</b> " + BitcoinUnits::formatHtmlWithUnit(unit, -wallet.getDebit(txin, ISMINE_ALL)) + "<br>";
|
||||
strHTML += "<b>" + tr("Debit") + ":</b> " + BitcoinUnits::formatHtmlWithUnit(unit, -wallet.getDebit(txin)) + "<br>";
|
||||
}
|
||||
}
|
||||
mine = wtx.txout_is_mine.begin();
|
||||
for (const CTxOut& txout : wtx.tx->vout) {
|
||||
if (*(mine++)) {
|
||||
strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatHtmlWithUnit(unit, wallet.getCredit(txout, ISMINE_ALL)) + "<br>";
|
||||
strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatHtmlWithUnit(unit, wallet.getCredit(txout)) + "<br>";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -333,10 +319,10 @@ QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet& wall
|
||||
strHTML += "<hr><br>" + tr("Debug information") + "<br><br>";
|
||||
for (const CTxIn& txin : wtx.tx->vin)
|
||||
if(wallet.txinIsMine(txin))
|
||||
strHTML += "<b>" + tr("Debit") + ":</b> " + BitcoinUnits::formatHtmlWithUnit(unit, -wallet.getDebit(txin, ISMINE_ALL)) + "<br>";
|
||||
strHTML += "<b>" + tr("Debit") + ":</b> " + BitcoinUnits::formatHtmlWithUnit(unit, -wallet.getDebit(txin)) + "<br>";
|
||||
for (const CTxOut& txout : wtx.tx->vout)
|
||||
if(wallet.txoutIsMine(txout))
|
||||
strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatHtmlWithUnit(unit, wallet.getCredit(txout, ISMINE_ALL)) + "<br>";
|
||||
strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatHtmlWithUnit(unit, wallet.getCredit(txout)) + "<br>";
|
||||
|
||||
strHTML += "<br><b>" + tr("Transaction") + ":</b><br>";
|
||||
strHTML += GUIUtil::HtmlEscape(wtx.tx->ToString(), true);
|
||||
@@ -361,7 +347,7 @@ QString TransactionDesc::toHTML(interfaces::Node& node, interfaces::Wallet& wall
|
||||
strHTML += QString::fromStdString(EncodeDestination(address));
|
||||
}
|
||||
strHTML = strHTML + " " + tr("Amount") + "=" + BitcoinUnits::formatHtmlWithUnit(unit, vout.nValue);
|
||||
strHTML = strHTML + " IsMine=" + (wallet.txoutIsMine(vout) & ISMINE_SPENDABLE ? tr("true") : tr("false")) + "</li>";
|
||||
strHTML = strHTML + " IsMine=" + (wallet.txoutIsMine(vout) ? tr("true") : tr("false")) + "</li>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,16 +7,11 @@
|
||||
#include <chain.h>
|
||||
#include <interfaces/wallet.h>
|
||||
#include <key_io.h>
|
||||
#include <wallet/types.h>
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#include <QDateTime>
|
||||
|
||||
using wallet::ISMINE_NO;
|
||||
using wallet::ISMINE_SPENDABLE;
|
||||
using wallet::isminetype;
|
||||
|
||||
/* Return positive answer if transaction should be shown in list.
|
||||
*/
|
||||
bool TransactionRecord::showTransaction()
|
||||
@@ -39,26 +34,26 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const interface
|
||||
Txid hash = wtx.tx->GetHash();
|
||||
std::map<std::string, std::string> mapValue = wtx.value_map;
|
||||
|
||||
isminetype fAllFromMe = ISMINE_SPENDABLE;
|
||||
bool all_from_me = true;
|
||||
bool any_from_me = false;
|
||||
if (wtx.is_coinbase) {
|
||||
fAllFromMe = ISMINE_NO;
|
||||
all_from_me = false;
|
||||
} else {
|
||||
for (const isminetype mine : wtx.txin_is_mine)
|
||||
for (const bool mine : wtx.txin_is_mine)
|
||||
{
|
||||
if(fAllFromMe > mine) fAllFromMe = mine;
|
||||
all_from_me = all_from_me && mine;
|
||||
if (mine) any_from_me = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (fAllFromMe || !any_from_me) {
|
||||
if (all_from_me || !any_from_me) {
|
||||
CAmount nTxFee = nDebit - wtx.tx->GetValueOut();
|
||||
|
||||
for(unsigned int i = 0; i < wtx.tx->vout.size(); i++)
|
||||
{
|
||||
const CTxOut& txout = wtx.tx->vout[i];
|
||||
|
||||
if (fAllFromMe) {
|
||||
if (all_from_me) {
|
||||
// Change is only really possible if we're the sender
|
||||
// Otherwise, someone just sent bitcoins to a change address, which should be shown
|
||||
if (wtx.txout_is_change[i]) {
|
||||
@@ -97,7 +92,7 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const interface
|
||||
parts.append(sub);
|
||||
}
|
||||
|
||||
isminetype mine = wtx.txout_is_mine[i];
|
||||
bool mine = wtx.txout_is_mine[i];
|
||||
if(mine)
|
||||
{
|
||||
//
|
||||
|
||||
Reference in new issue
Block a user