Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failure during top-up freshly created Phoenix wallets from e.g. LND via: lncli payinvoice #128

Open
jk14 opened this issue Jan 20, 2021 · 9 comments

Comments

@jk14
Copy link

jk14 commented Jan 20, 2021

It looks like I have found a bug in Phoenix wallet, which is present for freshly created Phoenix wallets.
For such wallets - initial 10k incoming payment works fine ONLY from another Phoenix wallet.
It is impossible to top-up such fresh Phoenix wallet from for example LND via: lncli payinvoice.
The message is:

| FEE_INSUFFICIENT @ 2 | 4.601 | 7.874 | 10200 | 3.03 | 666804 | 723388491148165120 | Brisk Lightning->ACINQ->02a81f |

even if such wallet is top-up from another Phoenix first, thus channel is established correctly

  • it is still impossible to send any payments from LND via: lncli payinvoice (no matter 1k or 10k sat)

And that behaviour is confirmed on my LND node, which has a direct channel to ACINQ node
and that is confirmed by using Boltz Exchange - LN payment for such freshly created wallet has failed on Boltz Exchange either.
I of course checked that case on several mobile phones - and that is 100% replicable issue.

Only for older (and active?) wallets (it looks like at least 1 week old) - that problem is not present, and everything works as it should. And that is also confirmed on several mobile phones with older Phoenix wallets...

@jk14
Copy link
Author

jk14 commented Jan 20, 2021

P.S. And that is also confirmed on several mobile phones with older Phoenix wallets, also on Boltz Exchange. The final experience and conclusion is:
From any LND node - the LN payment to a fresh Phoenix wallet is failed,
and just after (still from the same LND node) the LN payment to an older Phoenix wallet is successful

@t-bast
Copy link
Member

t-bast commented Jan 20, 2021

Thanks for the report.
We have a known issue linked to the "receive offline" feature (on new Phoenix wallets), the bug fix will be deployed on our node shortly.
This should fix the issue you're mentioning.

@t-bast
Copy link
Member

t-bast commented Jan 20, 2021

Just to confirm, could you share a payment_hash and approximate time when you tried this?

@jk14
Copy link
Author

jk14 commented Jan 20, 2021

I just made quite fresh test, then:

fresh wallet payment hash: 251cc8a9a44c4a993fbf930ccd64b8480d1d252332af21231cd02bae06ddfed6
older wallet payment hash: 8b5dfd91df6a2acae5eac8690004e87a8ca32e3d4e6cb6409d869282c22a8bb2

root@vmi:~ lncli payinvoice lnbc101u1psq0ucapp5y5wv32dyf39fj0aljvxv6e9cfqx36ffrx2hjzgcu6q46upkalmtqdqqxqyjw5q9qtzqqqqqq9qsqsp5ezttdx3s297sgdm9q2sxuv2clnw5elhjnh8qydfp0rjqtwdc0hxsrzjqwryaup9lh50kkranzgcdnn2fgvx390wgj5jd07rwr3vxeje0glcllc9cmh5whunlsqqqqlgqqqqqeqqjq05sgpsdrnk29hwklttwtx3k6sgt3lhzyre3r8tdlhl3y2q87p9hpns38asl94ese8q07r2avc75gu73wrd2ctn4fhsu2cgfkkwhs65gpt67v7k
Payment hash: 251cc8a9a44c4a993fbf930ccd64b8480d1d252332af21231cd02bae06ddfed6
Description:
Amount (in satoshis): 10100
Fee limit (in satoshis): 10100
Destination: 02a81fefd5470a06b5b181380e66ff390160686de9f65d9be01405c6ef475f93fc
Confirm payment (yes/no): yes
+----------------------+--------------+--------------+--------------+------+----------+--------------------+---------------+
| HTLC_STATE | ATTEMPT_TIME | RESOLVE_TIME | RECEIVER_AMT | FEE | TIMELOCK | CHAN_OUT | ROUTE |
+----------------------+--------------+--------------+--------------+------+----------+--------------------+---------------+
| FEE_INSUFFICIENT @ 1 | 1.460 | 7.927 | 10100 | 2.01 | 667034 | 732272545264959489 | ACINQ->02a81f |
| FEE_INSUFFICIENT @ 1 | 8.048 | 11.283 | 10100 | 2.01 | 667034 | 732272545264959489 | ACINQ->02a81f |
+----------------------+--------------+--------------+--------------+------+----------+--------------------+---------------+
Amount + fee: 0 + 0 sat
Payment hash: 251cc8a9a44c4a993fbf930ccd64b8480d1d252332af21231cd02bae06ddfed6
Payment status: FAILED, reason: FAILURE_REASON_NO_ROUTE
[lncli] FAILED
root@vmi:~ lncli payinvoice lnbc102u1psq0u73pp53dwlmywldg4v4e02ep5sqp8g02x2xt3afektvsyas6fg9s323weqdqqxqyjw5q9qtzqqqqqq9qsqsp5nmqhner6kanu62ajfv8jh7zwyflxn8kx7qlyqpa25yc7fhz233vsrzjqwryaup9lh50kkranzgcdnn2fgvx390wgj5jd07rwr3vxeje0glcll6vs4fl73vr4gqqqqlgqqqqqeqqjqx8k89v60p884dp0uhay4pyzkhrw0tg7vfqv70xcnw6wl539uq9pj8e3xsyqjq7f4ry5qu2ynpche2a6u9ac4tz8lzvnf5vpqemmg70gq7n4yep
Payment hash: 8b5dfd91df6a2acae5eac8690004e87a8ca32e3d4e6cb6409d869282c22a8bb2
Description:
Amount (in satoshis): 10200
Fee limit (in satoshis): 10200
Destination: 023a4c09e9fbfffad181dd06f933a566919de32b4d10da5852224c8553ff4583aa
Confirm payment (yes/no): yes
+-------------------------------+--------------+--------------+--------------+--------+----------+--------------------+-----------------------------+
| HTLC_STATE | ATTEMPT_TIME | RESOLVE_TIME | RECEIVER_AMT | FEE | TIMELOCK | CHAN_OUT | ROUTE |
+-------------------------------+--------------+--------------+--------------+--------+----------+--------------------+-----------------------------+
| TEMPORARY_CHANNEL_FAILURE @ 1 | 3.806 | 4.466 | 10200 | 3.03 | 667074 | 732626587887337472 | Boltz->ACINQ->023a4c |
| SUCCEEDED | 5.598 | 8.546 | 10200 | 20.363 | 667074 | 732629886401445888 | OpenNode.com->ACINQ->023a4c |
+-------------------------------+--------------+--------------+--------------+--------+----------+--------------------+-----------------------------+
Amount + fee: 10200 + 20.363 sat
Payment hash: 8b5dfd91df6a2acae5eac8690004e87a8ca32e3d4e6cb6409d869282c22a8bb2
Payment status: SUCCEEDED, preimage: 89c59efde0e4b8a25c1f33b8bc08b753069abea5087136197bd279e0b97355e3
root@vmi:~ date
Wed 20 Jan 2021 10:16:06 AM CET

@jk14
Copy link
Author

jk14 commented Jan 20, 2021

P.S. and both Phoenix wallets are in version: "1.4.5 (20)"

@t-bast
Copy link
Member

t-bast commented Jan 20, 2021

Thanks for the details, it's helpful.
It looks like there is an issue on your lnd.

For your first attempt (the new Phoenix), we have updated the channel's relay_fees (the proportional fee was previously 0.01% and it's now 0.025%. Our node tells that to your lnd (through the FEE_INSUFFICIENT error), but your lnd node doesn't retry with this new fees taken into account.

Can you investigate why your node doesn't retry with the updated fees? That seems to be the culprit.

@jk14
Copy link
Author

jk14 commented Jan 21, 2021

And channel's relay_fee is not updated in case of old wallets? Because those wallets work perfect.
As I wrote above - I made several tests not only on my LND node (version 0.11.1) with some kind of default settings, but also using well known exchange Boltz. So at least 2 independent LND nodes have the same behaviour. So I suspect every LND node may be affected. Could you make such tests using your test LND instance?

@t-bast
Copy link
Member

t-bast commented Jan 21, 2021

I don't have lnd nodes.
Yes, this could be a bug in lnd, at least that's the behavior we observe.
Your old wallet has different relay fees, which is why it works on the first try.

@t-bast
Copy link
Member

t-bast commented Jan 21, 2021

An important point to note is that this is a channel_update for a private channel, obtained via an invoice's routing hints.
This is likely something that lnd doesn't handle properly, you should verify that with their dev team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants