Skip to content

Commit

Permalink
[Qt] add InMempool() info to transaction details
Browse files Browse the repository at this point in the history
  • Loading branch information
jonasschnelli committed Dec 2, 2015
1 parent 4077ad2 commit a3c3ddb
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 7 deletions.
4 changes: 3 additions & 1 deletion src/qt/transactiondesc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,11 @@ QString TransactionDesc::FormatTxStatus(const CWalletTx& wtx)
{
int nDepth = wtx.GetDepthInMainChain();
if (nDepth < 0)
return tr("conflicted");
return tr("conflicted with a transaction with %1 confirmations").arg(-nDepth);
else if (GetAdjustedTime() - wtx.nTimeReceived > 2 * 60 && wtx.GetRequestCount() == 0)
return tr("%1/offline").arg(nDepth);
else if (nDepth == 0)
return tr("0/unconfirmed, %1").arg((wtx.InMempool() ? tr("in memory pool") : tr("not in memory pool")));
else if (nDepth < 6)
return tr("%1/unconfirmed").arg(nDepth);
else
Expand Down
17 changes: 11 additions & 6 deletions src/wallet/wallet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1359,6 +1359,15 @@ CAmount CWalletTx::GetChange() const
return nChangeCached;
}

bool CWalletTx::InMempool() const
{
LOCK(mempool.cs);
if (mempool.exists(GetHash())) {
return true;
}
return false;
}

bool CWalletTx::IsTrusted() const
{
// Quick answer in most cases
Expand All @@ -1373,12 +1382,8 @@ bool CWalletTx::IsTrusted() const
return false;

// Don't trust unconfirmed transactions from us unless they are in the mempool.
{
LOCK(mempool.cs);
if (!mempool.exists(GetHash())) {
return false;
}
}
if (!InMempool())
return false;

// Trusted if all inputs are from us and are in the mempool:
BOOST_FOREACH(const CTxIn& txin, vin)
Expand Down
1 change: 1 addition & 0 deletions src/wallet/wallet.h
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,7 @@ class CWalletTx : public CMerkleTx
// True if only scriptSigs are different
bool IsEquivalentTo(const CWalletTx& tx) const;

bool InMempool() const;
bool IsTrusted() const;

bool WriteToDisk(CWalletDB *pwalletdb);
Expand Down

0 comments on commit a3c3ddb

Please sign in to comment.