mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-12-12 13:43:43 +01:00
Too many bitcoins allowed in amount. (#2401)
Using magic number doesn't seem right. Could we factor this out, together with https://github.com/bitcoin/bitcoin/blob/master/src/bitcoinrpc.cpp#L96 ? And what about BitcoinUnits::parse() as well ?
This commit is contained in:
committed by
Victor Felder
parent
3702f127fd
commit
a35e268da4
@@ -60,7 +60,9 @@ bool BitcoinAmountField::validate()
|
||||
bool valid = true;
|
||||
if (amount->value() == 0.0)
|
||||
valid = false;
|
||||
if (valid && !BitcoinUnits::parse(currentUnit, text(), 0))
|
||||
else if (!BitcoinUnits::parse(currentUnit, text(), 0))
|
||||
valid = false;
|
||||
else if (amount->value() > BitcoinUnits::maxAmount(currentUnit))
|
||||
valid = false;
|
||||
|
||||
setValid(valid);
|
||||
@@ -115,7 +117,7 @@ qint64 BitcoinAmountField::value(bool *valid_out) const
|
||||
{
|
||||
qint64 val_out = 0;
|
||||
bool valid = BitcoinUnits::parse(currentUnit, text(), &val_out);
|
||||
if(valid_out)
|
||||
if (valid_out)
|
||||
{
|
||||
*valid_out = valid;
|
||||
}
|
||||
@@ -145,12 +147,12 @@ void BitcoinAmountField::unitChanged(int idx)
|
||||
amount->setDecimals(BitcoinUnits::decimals(currentUnit));
|
||||
amount->setMaximum(qPow(10, BitcoinUnits::amountDigits(currentUnit)) - qPow(10, -amount->decimals()));
|
||||
|
||||
if(currentUnit == BitcoinUnits::uBTC)
|
||||
if (currentUnit == BitcoinUnits::uBTC)
|
||||
amount->setSingleStep(0.01);
|
||||
else
|
||||
amount->setSingleStep(0.001);
|
||||
|
||||
if(valid)
|
||||
if (valid)
|
||||
{
|
||||
// If value was valid, re-place it in the widget with the new unit
|
||||
setValue(currentValue);
|
||||
|
||||
Reference in New Issue
Block a user