diff --git a/src/qt/transactiondesc.cpp b/src/qt/transactiondesc.cpp --- a/src/qt/transactiondesc.cpp +++ b/src/qt/transactiondesc.cpp @@ -25,29 +25,31 @@ QString TransactionDesc::FormatTxStatus(const CWalletTx &wtx) { AssertLockHeld(cs_main); if (!CheckFinalTx(wtx)) { - if (wtx.tx->nLockTime < LOCKTIME_THRESHOLD) + if (wtx.tx->nLockTime < LOCKTIME_THRESHOLD) { return tr("Open for %n more block(s)", "", wtx.tx->nLockTime - chainActive.Height()); - else + } else { return tr("Open until %1") .arg(GUIUtil::dateTimeStr(wtx.tx->nLockTime)); + } } else { int nDepth = wtx.GetDepthInMainChain(); - if (nDepth < 0) + if (nDepth < 0) { return tr("conflicted with a transaction with %1 confirmations") .arg(-nDepth); - else if (GetAdjustedTime() - wtx.nTimeReceived > 2 * 60 && - wtx.GetRequestCount() == 0) + } else if (GetAdjustedTime() - wtx.nTimeReceived > 2 * 60 && + wtx.GetRequestCount() == 0) { return tr("%1/offline").arg(nDepth); - else if (nDepth == 0) + } else if (nDepth == 0) { return tr("0/unconfirmed, %1") .arg((wtx.InMempool() ? tr("in memory pool") : tr("not in memory pool"))) + (wtx.isAbandoned() ? ", " + tr("abandoned") : ""); - else if (nDepth < 6) + } else if (nDepth < 6) { return tr("%1/unconfirmed").arg(nDepth); - else + } else { return tr("%1 confirmations").arg(nDepth); + } } } @@ -67,10 +69,11 @@ strHTML += "" + tr("Status") + ": " + FormatTxStatus(wtx); int nRequests = wtx.GetRequestCount(); if (nRequests != -1) { - if (nRequests == 0) + if (nRequests == 0) { strHTML += tr(", has not been successfully broadcast yet"); - else if (nRequests > 0) + } else if (nRequests > 0) { strHTML += tr(", broadcast through %n node(s)", "", nRequests); + } } strHTML += "
"; @@ -102,14 +105,15 @@ (::IsMine(*wallet, address) == ISMINE_SPENDABLE) ? tr("own address") : tr("watch-only"); - if (!wallet->mapAddressBook[address].name.empty()) + if (!wallet->mapAddressBook[address].name.empty()) { strHTML += " (" + addressOwned + ", " + tr("label") + ": " + GUIUtil::HtmlEscape( wallet->mapAddressBook[address].name) + ")"; - else + } else { strHTML += " (" + addressOwned + ")"; + } strHTML += "
"; } } @@ -126,9 +130,10 @@ CTxDestination dest = DecodeDestination(strAddress, wallet->chainParams); if (wallet->mapAddressBook.count(dest) && - !wallet->mapAddressBook[dest].name.empty()) + !wallet->mapAddressBook[dest].name.empty()) { strHTML += GUIUtil::HtmlEscape(wallet->mapAddressBook[dest].name) + " "; + } strHTML += GUIUtil::HtmlEscape(strAddress) + "
"; } @@ -144,13 +149,14 @@ nUnmatured += wallet->GetCredit(txout, ISMINE_ALL); } strHTML += "" + tr("Credit") + ": "; - if (wtx.IsInMainChain()) + if (wtx.IsInMainChain()) { strHTML += BitcoinUnits::formatHtmlWithUnit(unit, nUnmatured) + " (" + tr("matures in %n more block(s)", "", wtx.GetBlocksToMaturity()) + ")"; - else + } else { strHTML += "(" + tr("not accepted") + ")"; + } strHTML += "
"; } else if (nNet > Amount(0)) { // @@ -162,19 +168,24 @@ isminetype fAllFromMe = ISMINE_SPENDABLE; for (const CTxIn &txin : wtx.tx->vin) { isminetype mine = wallet->IsMine(txin); - if (fAllFromMe > mine) fAllFromMe = mine; + if (fAllFromMe > mine) { + fAllFromMe = mine; + } } isminetype fAllToMe = ISMINE_SPENDABLE; for (const CTxOut &txout : wtx.tx->vout) { isminetype mine = wallet->IsMine(txout); - if (fAllToMe > mine) fAllToMe = mine; + if (fAllToMe > mine) { + fAllToMe = mine; + } } if (fAllFromMe) { - if (fAllFromMe & ISMINE_WATCH_ONLY) + if (fAllFromMe & ISMINE_WATCH_ONLY) { strHTML += "" + tr("From") + ": " + tr("watch-only") + "
"; + } // // Debit @@ -183,8 +194,9 @@ // Ignore change isminetype toSelf = wallet->IsMine(txout); if ((toSelf == ISMINE_SPENDABLE) && - (fAllFromMe == ISMINE_SPENDABLE)) + (fAllFromMe == ISMINE_SPENDABLE)) { continue; + } if (!wtx.mapValue.count("to") || wtx.mapValue["to"].empty()) { // Offline transaction @@ -192,17 +204,19 @@ if (ExtractDestination(txout.scriptPubKey, address)) { strHTML += "" + tr("To") + ": "; if (wallet->mapAddressBook.count(address) && - !wallet->mapAddressBook[address].name.empty()) + !wallet->mapAddressBook[address].name.empty()) { strHTML += GUIUtil::HtmlEscape( wallet->mapAddressBook[address].name) + " "; + } strHTML += GUIUtil::HtmlEscape(EncodeDestination(address)); - if (toSelf == ISMINE_SPENDABLE) + if (toSelf == ISMINE_SPENDABLE) { strHTML += " (own address)"; - else if (toSelf & ISMINE_WATCH_ONLY) + } else if (toSelf & ISMINE_WATCH_ONLY) { strHTML += " (watch-only)"; + } strHTML += "
"; } } @@ -211,11 +225,12 @@ "" + tr("Debit") + ": " + BitcoinUnits::formatHtmlWithUnit(unit, -1 * txout.nValue) + "
"; - if (toSelf) + if (toSelf) { strHTML += "" + tr("Credit") + ": " + BitcoinUnits::formatHtmlWithUnit(unit, txout.nValue) + "
"; + } } if (fAllToMe) { @@ -240,19 +255,21 @@ // Mixed debit transaction // for (const CTxIn &txin : wtx.tx->vin) { - if (wallet->IsMine(txin)) + if (wallet->IsMine(txin)) { strHTML += "" + tr("Debit") + ": " + BitcoinUnits::formatHtmlWithUnit( unit, -1 * wallet->GetDebit(txin, ISMINE_ALL)) + "
"; + } } for (const CTxOut &txout : wtx.tx->vout) { - if (wallet->IsMine(txout)) + if (wallet->IsMine(txout)) { strHTML += "" + tr("Credit") + ": " + BitcoinUnits::formatHtmlWithUnit( unit, wallet->GetCredit(txout, ISMINE_ALL)) + "
"; + } } } } @@ -263,12 +280,14 @@ // // Message // - if (wtx.mapValue.count("message") && !wtx.mapValue["message"].empty()) + if (wtx.mapValue.count("message") && !wtx.mapValue["message"].empty()) { strHTML += "
" + tr("Message") + ":
" + GUIUtil::HtmlEscape(wtx.mapValue["message"], true) + "
"; - if (wtx.mapValue.count("comment") && !wtx.mapValue["comment"].empty()) + } + if (wtx.mapValue.count("comment") && !wtx.mapValue["comment"].empty()) { strHTML += "
" + tr("Comment") + ":
" + GUIUtil::HtmlEscape(wtx.mapValue["comment"], true) + "
"; + } strHTML += "" + tr("Transaction ID") + ": " + rec->getTxID() + "
"; @@ -279,9 +298,10 @@ // Message from normal bitcoincash:URI (bitcoincash:123...?message=example) for (const std::pair &r : wtx.vOrderForm) { - if (r.first == "Message") + if (r.first == "Message") { strHTML += "
" + tr("Message") + ":
" + GUIUtil::HtmlEscape(r.second, true) + "
"; + } } // @@ -293,9 +313,10 @@ req.parse( QByteArray::fromRawData(r.second.data(), r.second.size())); QString merchant; - if (req.getMerchant(PaymentServer::getCertStore(), merchant)) + if (req.getMerchant(PaymentServer::getCertStore(), merchant)) { strHTML += "" + tr("Merchant") + ": " + GUIUtil::HtmlEscape(merchant) + "
"; + } } } @@ -319,18 +340,20 @@ if (gArgs.GetBoolArg("-debug", false)) { strHTML += "

" + tr("Debug information") + "

"; for (const CTxIn &txin : wtx.tx->vin) { - if (wallet->IsMine(txin)) + if (wallet->IsMine(txin)) { strHTML += "" + tr("Debit") + ": " + BitcoinUnits::formatHtmlWithUnit( unit, -1 * wallet->GetDebit(txin, ISMINE_ALL)) + "
"; + } } for (const CTxOut &txout : wtx.tx->vout) { - if (wallet->IsMine(txout)) + if (wallet->IsMine(txout)) { strHTML += "" + tr("Credit") + ": " + BitcoinUnits::formatHtmlWithUnit( unit, wallet->GetCredit(txout, ISMINE_ALL)) + "
"; + } } strHTML += "
" + tr("Transaction") + ":
";