From 57d80467f123741f228910dea8c1245134bbfbfe Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Thu, 8 Aug 2013 13:09:07 +1000 Subject: Reject dust amounts during validation Replaces the validation check for "amount == 0" with an isDust check, so very small output amounts are caught before the wallet is unlocked, a transaction is created, etc. --- src/qt/guiutil.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/qt/guiutil.cpp') diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index 32131bc39d..c951b21b80 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -148,6 +148,14 @@ bool parseBitcoinURI(QString uri, SendCoinsRecipient *out) return parseBitcoinURI(uriInstance, out); } +bool isDust(const QString& address, qint64 amount) +{ + CTxDestination dest = CBitcoinAddress(address.toStdString()).Get(); + CScript script; script.SetDestination(dest); + CTxOut txOut(amount, script); + return txOut.IsDust(CTransaction::nMinRelayTxFee); +} + QString HtmlEscape(const QString& str, bool fMultiLine) { #if QT_VERSION < 0x050000 -- cgit v1.2.3