electrum icon indicating copy to clipboard operation
electrum copied to clipboard

Bitcoin Lightning payment stuck after 30 attempts, are the funds lost?

Open samthelion17 opened this issue 2 years ago • 8 comments

I'm using Electrum 4.4.6 AppImage on Ubuntu 22.04, I'm not using trampoline routing, and I only have one channel open with ACINQ. On December 2nd I tried to pay an invoice but the payment got stuck on the 30th attempt, so I "deleted" the payment from the list of invoices and paid with another wallet. Since then, I have had an "HTLC in current commitment transaction" in the channel details, and (apparently) I can't send more than ~0.0018 even tho I have ~0.0055... image EDIT: Payment hash: 96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f image

Now, I thought that when the "CLTV expiry" block number was mined everything would return back to normal... but it didn't.

How can I solve this without closing the channel? (another detail is that in this state it only lets me force-close)

I'm attaching two more screenshots that may or may not provide additional information that might help you understand the issue: image This is the transaction details, note the insanely high fee... image Here's the invoice: lnbc2364090n1pjkhaulpp5da49gmju0m0vcp9us4uw6pqx60smqjehvv0u3rjyq8tjxmnkakcsd29gpkxuupjwppx7apq95sygetscwehx6t5dusx2m3qvashyctwwnp66cfqfaexgetwyq3nvdfkvfnrwdphxajrveps8qmnsdesvverqcenx5sz6gzkg489gsfq0qsy6nzryqcnqvpq95s9x3fqgd85u369f3qjq32wyppyjnzvg42y25jp9cs9xefqd35kyetjvys82mnpypmx273qv44x2cm4w3jjqtmjv4kx2ctnv5hzq5n9w3hhymnpypsjqmrpypmkzmrvv46zqumfypjkcgrrdakhqunpv3hhygrwdusxxmmwve5hymtpypjkcgrsv9nk7cqzf2xqrrsssp5yyg544cn5259puq6we96hduwc95uvuy3h0rr9an83hc4fx8edxdq9qyyssqwaf0r97t8uf06k49jg7ecx097hxurupwsdjfpfyxulqahuh8npvnv8pfham08rzkq4jzaahlwpn0hh07e7cavfzzla6pa4mzenpwlrgqtkdkfs Thanks in advance!

samthelion17 avatar Dec 05 '23 21:12 samthelion17

On December 2nd I tried to pay an invoice but the payment got stuck on the 30th attempt, so I "deleted" the payment from the list of invoices and paid with another wallet

In general, bad move, unless you had a fresh invoice generated and paid that (EDIT: even then, unless the recipient promises to discard the first invoice and you trust them). A stuck payment is still in progress and can either fail or succeed at any time. So if it succeeds, you might end up double-paying.

Since then, I have had an "HTLC in current commitment transaction" in the channel details [...] Now, I thought that when the "CLTV expiry" block number was mined everything would return back to normal... but it didn't.

It is somewhat weird that the remote hasn't failed the HTLC offchain. Even if the payment is stuck further down the line, one would expect it to be removed offchain eventually (and before the CLTV expiration). It's not that weird that the remote did not force-close despite the timeout, they could decide to offchain fail the HTLC if they wanted, so it is not critical to them. We ourselves have not force-closed despite the timeout because of a heuristic that deems the HTLC not valuable enough to force-close the channel over (the htlc is 254k sat and the cutoff is 500k sat): https://github.com/spesmilo/electrum/blob/1cc1926263f30708782774fcb5bfc4476a0de787/electrum/lnchannel.py#L1677-L1678

another detail is that in this state it only lets me force-close

Yes, that's expected. You can't coop-close if there are pending htlcs.

This is the transaction details, note the insanely high fee...

Wow, yeah, that looks very high. So the invoice OCR-ed (and manually corrected... please paste it next time if you show it on an image anyway) is

lnbc2364090n1pjkhaulpp5da49gmju0m0vcp9us4uw6pqx60smqjehvv0u3rjyq8tjxmnkakcsd29gpkxuupjwppx7apq95sygetscwehx6t5dusx2m3qvashyctwwnp66cfqfaexgetwyq3nvdfkvfnrwdphxajrveps8qmnsdesvverqcenx5sz6gzkg489gsfq0qsy6nzryqcnqvpq95s9x3fqgd85u369f3qjq32wyppyjnzvg42y25jp9cs9xefqd35kyetjvys82mnpypmx273qv44x2cm4w3jjqtmjv4kx2ctnv5hzq5n9w3hhymnpypsjqmrpypmkzmrvv46zqumfypjkcgrrdakhqunpv3hhygrwdusxxmmwve5hymtpypjkcgrsv9nk7cqzf2xqrrsssp5yyg544cn5259puq6we96hduwc95uvuy3h0rr9an83hc4fx8edxdq9qyyssqwaf0r97t8uf06k49jg7ecx097hxurupwsdjfpfyxulqahuh8npvnv8pfham08rzkq4jzaahlwpn0hh07e7cavfzzla6pa4mzenpwlrgqtkdkfs

The invoice encodes the amount as 0.002 364 09 btc, meaning the fee was not actually as high as shown on the third picture.

I am a bit confused about how the fee got miscalculated like that, and also a bit confused how you even took the third picture in the first place. Does the payment show up as an item in the history tab? And then you double-clicked that to see the details? I would have expected in-progress payments not to show up in the history.

To try to clear this up, which might also help understand what exactly happened, could you please run the following commands in the Console tab and report back what they return?

wallet.lnworker.get_payment_info(bytes.fromhex("6f6a546e5c7edecc04bc8578ed0406d3e1b04b37631fc88e4401d7236e76edb1"))
wallet.lnworker.get_payments()[bytes.fromhex("6f6a546e5c7edecc04bc8578ed0406d3e1b04b37631fc88e4401d7236e76edb1")]

Still about that third picture... Do I see it right that your client knows the preimage for the invoice? Meaning the invoice actually got paid by your client?!

but the payment got stuck on the 30th attempt, so I "deleted" the payment from the list of invoices and paid with another wallet

What exactly did you do? What other wallet did you use? Was it also Electrum? Was this specific Electrum wallet we are looking at now still open while you paid the invoice with that other wallet?

and (apparently) I can't send more than ~0.0018 even tho I have ~0.0055...

Right... that's not that surprising seeing how there is a ~0.0025 btc pending HTLC taking up liquidity.

SomberNight avatar Dec 06 '23 03:12 SomberNight

In the first picture, I can just about see some pixels of the payment hash. It does not seem to match the payment hash for the invoice in the third picture. Please clear this up.

SomberNight avatar Dec 06 '23 03:12 SomberNight

I will clear everything up as soon as I get home.

It does not seem to match the payment hash for the invoice in the third picture

You're right, and that's one of the first things that I noticed but I forgot to mention.

What exactly did you do? What other wallet did you use? Was it also Electrum? Was this specific Electrum wallet we are looking at now still open while you paid the invoice with that other wallet?

I used CashApp to pay the invoice, and yes, this Electrum wallet was open while I paid it 🙈. The thing is that I only have 15mins to pay those invoices, otherwise the exchange offer gets cancelled.

I will try to answer all of your questions as soon as I get home, thanks for taking your time to review this issue 🙏

samthelion17 avatar Dec 06 '23 03:12 samthelion17

Following up...

Does the payment show up as an item in the history tab?

Yes, it does...

I would have expected in-progress payments not to show up in the history.

That's what I thought too! Now that I think about it, IDK if I made a mistake by deleting the payment from the Send tab when it got stuck. I also find weird that it tried to send 30 times... or is the number in brackets that starts from 1 to n the number of hops?

here's the output of the commands

>>> wallet.lnworker.get_payment_info(bytes.fromhex("6f6a546e5c7edecc04bc8578ed0406d3e1b04b37631fc88e4401d7236e76edb1"))

PaymentInfo(payment_hash=b'ojTn\\~\xde\xcc\x04\xbc\x85x\xed\x04\x06\xd3\xe1\xb0K7c\x1f\xc8\x8eD\x01\xd7#nv\xed\xb1', amount_msat=236409000, direction=-1, status=3)

>>> wallet.lnworker.get_payments()[bytes.fromhex("6f6a546e5c7edecc04bc8578ed0406d3e1b04b37631fc88e4401d7236e76edb1")]

[HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=114330215, payment_hash=6f6a546e5c7edecc04bc8578ed0406d3e1b04b37631fc88e4401d7236e76edb1, cltv_expiry=819945, timestamp=1701574586, htlc_id=78), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=115461376, payment_hash=6f6a546e5c7edecc04bc8578ed0406d3e1b04b37631fc88e4401d7236e76edb1, cltv_expiry=819945, timestamp=1701574719, htlc_id=79), direction=<Direction.SENT: -1>, status='settled')]

Still about that third picture... Do I see it right that your client knows the preimage for the invoice? Meaning the invoice actually got paid by your client?!

yes, the preimage field isn't empty... I'm not 100% sure if it's ok to show so I hid it.

samthelion17 avatar Dec 06 '23 06:12 samthelion17

So, is there anything else I can do, besides force-closing the channel? I might wait until fees drop down a bit.

samthelion17 avatar Dec 08 '23 04:12 samthelion17

It does not seem to match the payment hash for the invoice in the third picture

You're right, and that's one of the first things that I noticed but I forgot to mention.

This suggests there were actually two different invoices. The stuck htlc does not belong to the payment/invoice that has the item in the history.

Does the payment show up as an item in the history tab?

Yes, it does...

I would have expected in-progress payments not to show up in the history.

That's what I thought too!

see above

Please also share the other payment_hash (the one corresponding to the stuck htlc), and run the same two commands (get_payment_info and get_payments) from above using it.


What exactly did you do? What other wallet did you use? Was it also Electrum? Was this specific Electrum wallet we are looking at now still open while you paid the invoice with that other wallet?

I used CashApp to pay the invoice, and yes, this Electrum wallet was open while I paid it 🙈.

Did you do this two times, is that why there are two invoices for which weird things happened?

SomberNight avatar Dec 19 '23 13:12 SomberNight

I also find weird that it tried to send 30 times... or is the number in brackets that starts from 1 to n the number of hops?

It's not the number of hops. The code keeps trying for 2 minutes, it actually does not care about the number of attempts.

SomberNight avatar Dec 19 '23 14:12 SomberNight

Here's the output of the commands with the payment hash from the stuck htlc (updated in the first post):

The first one returned nothing... image

wallet.lnworker.get_payments()[bytes.fromhex("96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f")]

[HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574122, htlc_id=47), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574125, htlc_id=48), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574128, htlc_id=49), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574131, htlc_id=50), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574134, htlc_id=51), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574137, htlc_id=52), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574139, htlc_id=53), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574142, htlc_id=54), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574145, htlc_id=55), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574148, htlc_id=56), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574151, htlc_id=57), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574154, htlc_id=58), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574156, htlc_id=59), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574159, htlc_id=60), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819792, timestamp=1701574162, htlc_id=61), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819793, timestamp=1701574165, htlc_id=62), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819793, timestamp=1701574167, htlc_id=63), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819793, timestamp=1701574170, htlc_id=64), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819793, timestamp=1701574173, htlc_id=65), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819793, timestamp=1701574176, htlc_id=66), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819793, timestamp=1701574178, htlc_id=67), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819793, timestamp=1701574181, htlc_id=68), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819793, timestamp=1701574184, htlc_id=69), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819793, timestamp=1701574187, htlc_id=70), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819793, timestamp=1701574190, htlc_id=71), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254283837, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819833, timestamp=1701574193, htlc_id=72), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254285092, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819833, timestamp=1701574197, htlc_id=73), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254285092, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819833, timestamp=1701574201, htlc_id=74), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254285092, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819833, timestamp=1701574205, htlc_id=75), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254285092, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819833, timestamp=1701574209, htlc_id=76), direction=<Direction.SENT: -1>, status='failed'), HTLCWithStatus(channel_id=b'\xc2\n\x15\xe9\xa3\x88\x95\xe2\xde\xa3,\x19\xdf\x92\x98\xdc\x823\x0f\x8e$\xc9*\xb5wL\x82\xbb\xde\x86\x1f\x9a', htlc=UpdateAddHtlc(amount_msat=254285092, payment_hash=96dd791e762253e7c11721a61e4281bc2c516f5410984099f67796d9f20d846f, cltv_expiry=819873, timestamp=1701574213, htlc_id=77), direction=<Direction.SENT: -1>, status='inflight')]

Did you do this two times, is that why there are two invoices for which weird things happened?

I honestly don't remember, but I doubt it, even tho I think lnp2pbot can handle multiple orders at a time I never take more than one to avoid making mistakes. I do remember trying again with Electrum after paying the first invoice with cashapp and the wallet displayed a dialog saying the channel didn't have enough liquidity and suggesting opening a new channel or swapping funds...

Also, I got impatient and force-closed the channel, it's currently in a REDEEMED state.

samthelion17 avatar Dec 19 '23 16:12 samthelion17