ACINQ / phoenix

Phoenix is a self-custodial Bitcoin wallet using Lightning to send/receive payments.
https://phoenix.acinq.co
Apache License 2.0
632 stars 95 forks source link

Millisat part should be truncated when converting an amount input from fiat to btc #388

Closed dpad85 closed 9 months ago

dpad85 commented 1 year ago

When making a LN payment to a Lightning address, if the user inputs an amount in fiat, the btc amount expected by Phoenix will most certainly contain a millisat decimal part, due to the conversion.

However some services/wallets like WalletOfSatoshi do not handle millisats and will generate an invoice whose amount is rounded up. As such Phoenix correctly rejects the invoice, because the actual amount does not match the expected amount.

Even if that's a bug in those services, Phoenix should be smarter. The solution is to not use millisats when converting an input from fiat (though the user should still be able to enter a millisat amount if the input is in btc).

dpad85 commented 1 year ago

To reproduce this issue on Android or iOS : make a payment to wallet of satoshi using Lightning address, and use an amount of $1. Phoenix will reject the invoice due an incorrect amount.

tohrxyz commented 10 months ago

+1 This is insanely annoying bug that I'm encountering frequently when I'm travelling around the crypto-events or conferences. I need to input in eur, it rejects it and then remember the sat amount and enter that in Sats (unit)

Edit: I thought that it wasn't fixed yet, because it still doesn't work, but I see that you @dpad85 have commited it on Jul 26. I'm still having this problem even now.

Edit2: now I see that it's in release 2.0.2 which hasn't arrived to app store yet, but I'm looking forward to it. Thanks for your hard work!

dpad85 commented 10 months ago

Edit2: now I see that it's in release 2.0.2 which hasn't arrived to app store yet, but I'm looking forward to it. Thanks for your hard work!

The fix is actually only on Android, but not on iOS. We'll try to make a patch before the public release of the iOS splices version. In any case, thanks for reminding us of this issue!

robbiehanson commented 9 months ago

iOS fix will be available in the next version: 2.0.4