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

[bug]: Self_Payment Failed #1275

Open
lukegao209 opened this issue Jan 6, 2025 · 2 comments
Open

[bug]: Self_Payment Failed #1275

lukegao209 opened this issue Jan 6, 2025 · 2 comments
Labels
bug Something isn't working needs triage

Comments

@lukegao209
Copy link
Contributor

Background

Alice(Tapd0.5) Bob(Tapd0.5)
Alice <----1 BTC Channel------>BOB
Alice <----100000 USDT Channel------>BOB

Self_Payment for USDT Channel:
1. Generate 100 USDT Invoice On Alice 
2. Pay invoice on Alice 
3. Success
Self_Payment for BTC Channel:
1. Generate 0.00001 BTC Invoice On Alice 
2. Pay invoice on Alice 
3. Failed

Logs : logs.txt

I encountered an issue with allow_self_payment. When Alice and Bob have both a BTC-Channel and a TaprootAssets-Channel, creating a BTC invoice on Alice and performing a self-payment on Alice fails. Could this be a bug with self-payment when both Taproot channels and BTC channels coexist? (If a Taproot invoice is generated, self-payment works fine.) Here are the logs for reference.

It’s particularly worth noting whether there is a way to avoid using Taproot channels for small BTC invoices. This is important because using Taproot channels for such payments might result in insufficient local BTC balance in the Taproot channel, making it impossible to pay Taproot invoices.

@Roasbeef
Copy link
Member

When Alice and Bob have both a BTC-Channel and a TaprootAssets-Channel, creating a BTC invoice on Alice and performing a self-payment on Alice fails

When you go to make the payment, you can specify the outgoing and incoming scid's.

@Roasbeef
Copy link
Member

What's the purpose of the self payment here? Is it to rebalance, or implement user multi-plexing (accounts) over channels? If the latter why does a higher layer keeping track of balances not suffice?

It’s particularly worth noting whether there is a way to avoid using Taproot channels for small BTC invoices.

You can specify the outgoing scid here to avoid using certain channels for normal BTC invoices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working needs triage
Projects
Status: 🆕 New
Development

No branches or pull requests

2 participants