valora-inc / wallet

The official repository for the Valora mobile cryptocurrency wallet.
https://valora.xyz
Apache License 2.0
170 stars 80 forks source link

Token balances screen: show/hide zero balance tokens #1962

Closed kathaypacific closed 4 months ago

kathaypacific commented 2 years ago

Description

We should implement a way to show/hide tokens that have zero balance, or very close to zero balance.

When sending the max token amount for a core token (e.g. sending max balance of CELO), we need to send the balance minus the fee estimate. Because we won't know the actual fee charged until the transaction is complete, there is a high chance that the actual fee is lower than the fee estimate. As a result, the user is left with some "dust" - a small amount of the token.

Screenshot 2022-02-08 at 11 07 55

We have implemented functionality for seeing and sending tokens without USD price.

Acceptance Criteria

MuckT commented 2 years ago

@kathaypacific one edge cases I can see with this implementation is where we don't have a USD value for a token.

kathaypacific commented 2 years ago

@kathaypacific one edge cases I can see with this implementation is where we don't have a USD value for a token.

thanks for flagging this @MuckT ! the change we made here is to use token amounts under the hood always (including when trying to send fiat value) so sending tokens without USD value works as expected. i just tested this to confirm.

I did notice that the notification received when receiving tokens with no USD value is weird. i sent all my test tokens to another wallet and i got the push notification "You have received 0 TT" 😅 we should fix this in the notification service, i'll make a note

kathaypacific commented 2 years ago

oops sorry the comment above is not relevant, i thought this issue was for something else! interesting note @MuckT ...i guess for this issue the intention is to hide "coin dust" from transferring max tokens but having a small amount left over due to inaccurate fee estimation. so should really only affect our core tokens, which always has a USD value.

as a general rule i'd propose that the "show/hide zero balances" functionality excludes tokens with undefined USD value, since we can't be sure that they are of zero balance in fiat value? any suggestions @aleksey-nov ?

ellenwoconnor commented 2 years ago

@lisaw-valora

One nit, can we rename "show/hide zero balances" to something like "hide very low balances"? I parsed the "zero" above as specifying the number of assets to hide rather than the value, which was confusing

lisaw-valora commented 2 years ago

@ellenwoconnor yes, should be "very low" - and we need to define "very low" for our users as well, that term itself could be subject to debate

Alternatively, we could use the word "dust" with an information modal that educates on what dust is. It's not an uncommon crypto term, but it could be new to some of our users. But that is a bit more (learning) friction in the UX.