|
|
|
@ -55,8 +55,8 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
@@ -55,8 +55,8 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
|
|
|
|
|
strHTML += "<html><font face='verdana, arial, helvetica, sans-serif'>"; |
|
|
|
|
|
|
|
|
|
int64_t nTime = wtx.GetTxTime(); |
|
|
|
|
int64_t nCredit = wtx.GetCredit(MINE_ALL); |
|
|
|
|
int64_t nDebit = wtx.GetDebit(MINE_ALL); |
|
|
|
|
int64_t nCredit = wtx.GetCredit(ISMINE_ALL); |
|
|
|
|
int64_t nDebit = wtx.GetDebit(ISMINE_ALL); |
|
|
|
|
int64_t nNet = nCredit - nDebit; |
|
|
|
|
|
|
|
|
|
strHTML += "<b>" + tr("Status") + ":</b> " + FormatTxStatus(wtx); |
|
|
|
@ -98,7 +98,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
@@ -98,7 +98,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
|
|
|
|
|
strHTML += "<b>" + tr("From") + ":</b> " + tr("unknown") + "<br>"; |
|
|
|
|
strHTML += "<b>" + tr("To") + ":</b> "; |
|
|
|
|
strHTML += GUIUtil::HtmlEscape(rec->address); |
|
|
|
|
QString addressOwned = (::IsMine(*wallet, address) == MINE_SPENDABLE) ? tr("own address") : tr("watch-only"); |
|
|
|
|
QString addressOwned = (::IsMine(*wallet, address) == ISMINE_SPENDABLE) ? tr("own address") : tr("watch-only"); |
|
|
|
|
if (!wallet->mapAddressBook[address].name.empty()) |
|
|
|
|
strHTML += " (" + addressOwned + ", " + tr("label") + ": " + GUIUtil::HtmlEscape(wallet->mapAddressBook[address].name) + ")"; |
|
|
|
|
else |
|
|
|
@ -133,7 +133,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
@@ -133,7 +133,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
|
|
|
|
|
//
|
|
|
|
|
int64_t nUnmatured = 0; |
|
|
|
|
BOOST_FOREACH(const CTxOut& txout, wtx.vout) |
|
|
|
|
nUnmatured += wallet->GetCredit(txout, MINE_ALL); |
|
|
|
|
nUnmatured += wallet->GetCredit(txout, ISMINE_ALL); |
|
|
|
|
strHTML += "<b>" + tr("Credit") + ":</b> "; |
|
|
|
|
if (wtx.IsInMainChain()) |
|
|
|
|
strHTML += BitcoinUnits::formatWithUnit(unit, nUnmatured)+ " (" + tr("matures in %n more block(s)", "", wtx.GetBlocksToMaturity()) + ")"; |
|
|
|
@ -150,14 +150,14 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
@@ -150,14 +150,14 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
|
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
isminetype fAllFromMe = MINE_SPENDABLE; |
|
|
|
|
isminetype fAllFromMe = ISMINE_SPENDABLE; |
|
|
|
|
BOOST_FOREACH(const CTxIn& txin, wtx.vin) |
|
|
|
|
{ |
|
|
|
|
isminetype mine = wallet->IsMine(txin); |
|
|
|
|
if(fAllFromMe > mine) fAllFromMe = mine; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
isminetype fAllToMe = MINE_SPENDABLE; |
|
|
|
|
isminetype fAllToMe = ISMINE_SPENDABLE; |
|
|
|
|
BOOST_FOREACH(const CTxOut& txout, wtx.vout) |
|
|
|
|
{ |
|
|
|
|
isminetype mine = wallet->IsMine(txout); |
|
|
|
@ -166,7 +166,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
@@ -166,7 +166,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
|
|
|
|
|
|
|
|
|
|
if (fAllFromMe) |
|
|
|
|
{ |
|
|
|
|
if(fAllFromMe == MINE_WATCH_ONLY) |
|
|
|
|
if(fAllFromMe == ISMINE_WATCH_ONLY) |
|
|
|
|
strHTML += "<b>" + tr("From") + ":</b> " + tr("watch-only") + "<br>"; |
|
|
|
|
|
|
|
|
|
//
|
|
|
|
@ -176,7 +176,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
@@ -176,7 +176,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
|
|
|
|
|
{ |
|
|
|
|
// Ignore change
|
|
|
|
|
isminetype toSelf = wallet->IsMine(txout); |
|
|
|
|
if ((toSelf == MINE_SPENDABLE) && (fAllFromMe == MINE_SPENDABLE)) |
|
|
|
|
if ((toSelf == ISMINE_SPENDABLE) && (fAllFromMe == ISMINE_SPENDABLE)) |
|
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
if (!wtx.mapValue.count("to") || wtx.mapValue["to"].empty()) |
|
|
|
@ -189,9 +189,9 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
@@ -189,9 +189,9 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
|
|
|
|
|
if (wallet->mapAddressBook.count(address) && !wallet->mapAddressBook[address].name.empty()) |
|
|
|
|
strHTML += GUIUtil::HtmlEscape(wallet->mapAddressBook[address].name) + " "; |
|
|
|
|
strHTML += GUIUtil::HtmlEscape(CBitcoinAddress(address).ToString()); |
|
|
|
|
if(toSelf == MINE_SPENDABLE) |
|
|
|
|
if(toSelf == ISMINE_SPENDABLE) |
|
|
|
|
strHTML += " (own address)"; |
|
|
|
|
else if(toSelf == MINE_WATCH_ONLY) |
|
|
|
|
else if(toSelf == ISMINE_WATCH_ONLY) |
|
|
|
|
strHTML += " (watch-only)"; |
|
|
|
|
strHTML += "<br>"; |
|
|
|
|
} |
|
|
|
@ -222,10 +222,10 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
@@ -222,10 +222,10 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
|
|
|
|
|
//
|
|
|
|
|
BOOST_FOREACH(const CTxIn& txin, wtx.vin) |
|
|
|
|
if (wallet->IsMine(txin)) |
|
|
|
|
strHTML += "<b>" + tr("Debit") + ":</b> " + BitcoinUnits::formatWithUnit(unit, -wallet->GetDebit(txin, MINE_ALL)) + "<br>"; |
|
|
|
|
strHTML += "<b>" + tr("Debit") + ":</b> " + BitcoinUnits::formatWithUnit(unit, -wallet->GetDebit(txin, ISMINE_ALL)) + "<br>"; |
|
|
|
|
BOOST_FOREACH(const CTxOut& txout, wtx.vout) |
|
|
|
|
if (wallet->IsMine(txout)) |
|
|
|
|
strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatWithUnit(unit, wallet->GetCredit(txout, MINE_ALL)) + "<br>"; |
|
|
|
|
strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatWithUnit(unit, wallet->GetCredit(txout, ISMINE_ALL)) + "<br>"; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -275,10 +275,10 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
@@ -275,10 +275,10 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
|
|
|
|
|
strHTML += "<hr><br>" + tr("Debug information") + "<br><br>"; |
|
|
|
|
BOOST_FOREACH(const CTxIn& txin, wtx.vin) |
|
|
|
|
if(wallet->IsMine(txin)) |
|
|
|
|
strHTML += "<b>" + tr("Debit") + ":</b> " + BitcoinUnits::formatWithUnit(unit, -wallet->GetDebit(txin, MINE_ALL)) + "<br>"; |
|
|
|
|
strHTML += "<b>" + tr("Debit") + ":</b> " + BitcoinUnits::formatWithUnit(unit, -wallet->GetDebit(txin, ISMINE_ALL)) + "<br>"; |
|
|
|
|
BOOST_FOREACH(const CTxOut& txout, wtx.vout) |
|
|
|
|
if(wallet->IsMine(txout)) |
|
|
|
|
strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatWithUnit(unit, wallet->GetCredit(txout, MINE_ALL)) + "<br>"; |
|
|
|
|
strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatWithUnit(unit, wallet->GetCredit(txout, ISMINE_ALL)) + "<br>"; |
|
|
|
|
|
|
|
|
|
strHTML += "<br><b>" + tr("Transaction") + ":</b><br>"; |
|
|
|
|
strHTML += GUIUtil::HtmlEscape(wtx.ToString(), true); |
|
|
|
@ -305,8 +305,8 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
@@ -305,8 +305,8 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx, TransactionReco
|
|
|
|
|
strHTML += QString::fromStdString(CBitcoinAddress(address).ToString()); |
|
|
|
|
} |
|
|
|
|
strHTML = strHTML + " " + tr("Amount") + "=" + BitcoinUnits::formatWithUnit(unit, vout.nValue); |
|
|
|
|
strHTML = strHTML + " IsMine=" + (wallet->IsMine(vout) & MINE_SPENDABLE ? tr("true") : tr("false")) + "</li>"; |
|
|
|
|
strHTML = strHTML + " IsWatchOnly=" + (wallet->IsMine(vout) & MINE_WATCH_ONLY ? tr("true") : tr("false")) + "</li>"; |
|
|
|
|
strHTML = strHTML + " IsMine=" + (wallet->IsMine(vout) & ISMINE_SPENDABLE ? tr("true") : tr("false")) + "</li>"; |
|
|
|
|
strHTML = strHTML + " IsWatchOnly=" + (wallet->IsMine(vout) & ISMINE_WATCH_ONLY ? tr("true") : tr("false")) + "</li>"; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|