View Issue Details

IDProjectCategoryView StatusLast Update
0007350Talerwallet (Android App)public2023-01-26 22:53
ReporterChristian Grothoff Assigned Togrote  
Status closedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Target Version0.9.1Fixed in Version0.9.1 
Summary0007350: Don't allow input of amounts with more than 8 decimal places
DescriptionAfter entering an amount of < 1 satoshi, the Android wallet said "amount invalid", which confused the user (so many zeros...).

We should give a better error message, maybe something like "amount too small", when an amount is smaller than the smallest denomination, and maybe something similar if it is not a multiple of the smallest denomination (like if someone tries to enter Pi as an amount...).
TagsNo tags attached.


Christian Grothoff

2022-09-08 20:52

manager   ~0019107

sebasjm: please take note, same issue likely also applies to webextension somewhere.


2022-09-09 14:07

developer   ~0019112

Where exactly did the user enter the invalid amount? The wallet UI doesn't know about the smallest denomination, thus I suspect the error message coming from wallet-core.

Christian Grothoff

2022-10-20 11:56

manager   ~0019258

I think it was either on P2P transfer or on withdraw, don't recall for sure. Anyway, while the error may have come from wallet-core, the UI can make a hard assumption that 10^-8 is the smallest fraction, as that's hard-coded in the Taler protocols. But of course you are right: depending on the currency the smallest *allowed* amount may be larger. But here I think it was actually the amount parsing that already failed, not the currency-specific logic.


2022-10-24 20:00

developer   ~0019291

Without steps to reproduce this, there is not much I can do.

Christian Grothoff

2022-10-24 20:34

manager   ~0019298

I need to get more Bitcoin first and/or setup btc testnet again. This will take a bit.

Christian Grothoff

2022-11-23 11:15

manager   ~0019475

Got it reproduced. I simply had the BTC in my wallet, and then clicked on "send funds". Then, under "amount to send", I entered 0.00000000001 and clicked "To another wallet" to get the error message inside of the "Amount to send" widget (changed to red, nice).

The main issue here is that the amount widget should immediately show 'amount too small' *or* ideally not even allow me to enter that many digits after the period.
Taler defines amounts to be at most 1-billionth of the unit currency, so 0.00000001 is per protocol (!) the smallest unit ever allowed anywhere. Hence, even before clicking on "to another wallet" and irrespective of the currency, all wallets can safely not allow users to specify fractions smaller than 0.00000001. (So also 1.000000001 is illegal!). I guess a precise error message might not be "amount invalid" or "amount too small", but "fraction has too many digits".


2023-01-03 15:23

developer   ~0019556

Resolved in 9bb3505277b8132c3fd0be52d9bbbc6078723ff2

Issue History

Date Modified Username Field Change
2022-09-08 20:52 Christian Grothoff New Issue
2022-09-08 20:52 Christian Grothoff Status new => assigned
2022-09-08 20:52 Christian Grothoff Assigned To => grote
2022-09-08 20:52 Christian Grothoff Note Added: 0019107
2022-09-09 14:07 grote Note Added: 0019112
2022-10-20 11:56 Christian Grothoff Note Added: 0019258
2022-10-24 20:00 grote Assigned To grote => Christian Grothoff
2022-10-24 20:00 grote Status assigned => feedback
2022-10-24 20:00 grote Note Added: 0019291
2022-10-24 20:34 Christian Grothoff Note Added: 0019298
2022-11-23 11:15 Christian Grothoff Note Added: 0019475
2022-11-23 11:16 Christian Grothoff Assigned To Christian Grothoff => grote
2023-01-03 14:52 grote Summary user complains about confusing error message "amount invalid" => Don't allow input of amounts with more than 8 decimal places
2023-01-03 15:23 grote Status feedback => resolved
2023-01-03 15:23 grote Resolution open => fixed
2023-01-03 15:23 grote Note Added: 0019556
2023-01-23 22:25 Christian Grothoff Target Version => 0.9.1
2023-01-23 22:25 Christian Grothoff Fixed in Version => 0.9.1
2023-01-26 22:53 Christian Grothoff Status resolved => closed