This PR adds support for classical bip21 style bitcoin invoices which include a lightning invoice by adding the "lightning=lnbc..." parameter.
If the appended lightning invoice is invalid or the user does not have enough channel balance to pay it, when scanned, the on-chain dialog will automatically shown.
Otherwhise, the lightning dialog is automatically displayed.
If the lightning payment fails, the user is given the possibility to fall back to on-chain payment.
The design does not look perfect yet. The whole bottom sheets need a refactoring, but that is something for a different PR.
Motivation and Context
Make Zap more versatile. Fix issue #269.
Types of changes
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
Description
This PR adds support for classical bip21 style bitcoin invoices which include a lightning invoice by adding the "lightning=lnbc..." parameter. If the appended lightning invoice is invalid or the user does not have enough channel balance to pay it, when scanned, the on-chain dialog will automatically shown. Otherwhise, the lightning dialog is automatically displayed. If the lightning payment fails, the user is given the possibility to fall back to on-chain payment.
The design does not look perfect yet. The whole bottom sheets need a refactoring, but that is something for a different PR.
Motivation and Context
Make Zap more versatile. Fix issue #269.
Types of changes
Checklist: