feat: Quick pay for Lightning invoices
Description
Relates to issue: ZEUS-#1633
This PR implements a clipboard-based quick pay system for Lightning invoices. When users copy Lightning invoices from external apps and when clicked on the clipboard Icon in the Wallet in the header, ZEUS automatically pay when specific conditions(Quick pay configuration) are met
User Workflow
- Setup: Configure
Quick payin Settings → Payments and enableRead clipboardin Settings → Privacy Settings - Usage: Copy any Lightning invoice from external apps (Twitter, Telegram, etc.)
- Automatic: Open ZEUS and click on clipboard icon beside the profile icon in the header
- Payment: Payment gets processed if within the limits set
Demo video
https://drive.google.com/file/d/12hiWgmbxZKQuyuVOO7FWsaslBf2q4cy3/view?usp=sharing
This pull request is categorized as a:
- [x] New feature
- [ ] Bug fix
- [ ] Code refactor
- [ ] Configuration change
- [ ] Locales update
- [ ] Quality assurance
- [ ] Other
Checklist
- [x] I’ve run
yarn run tscand made sure my code compiles correctly - [x] I’ve run
yarn run lintand made sure my code didn’t contain any problematic patterns - [x] I’ve run
yarn run prettierand made sure my code is formatted correctly - [x] I’ve run
yarn run testand made sure all of the tests pass
Testing
If you modified or added a utility file, did you add new unit tests?
- [ ] No, I’m a fool
- [ ] Yes
- [x] N/A
I have tested this PR on the following platforms (please specify OS version and phone model/VM):
- [x] Android
- [ ] iOS
I have tested this PR with the following types of nodes (please specify node version and API version where appropriate):
- [ ] Embedded LND
- [x] LND (REST)
- [ ] LND (Lightning Node Connect)
- [ ] Core Lightning (CLNRest)
- [ ] Nostr Wallet Connect
- [ ] LndHub
Locales
- [ ] I’ve added new locale text that requires translations
- [ ] I’m aware that new translations should be made on the ZEUS Transfix page and not directly to this repo
Third Party Dependencies and Packages
- [ ] Contributors will need to run
yarnafter this PR is merged in - [ ] 3rd party dependencies have been modified:
- verify that
package.jsonandyarn.lockhave been properly updated - verify that dependencies are installed for both iOS and Android platforms
- verify that
Other:
- [ ] Changes were made that require an update to the README
- [ ] Changes were made that require an update to onboarding
@gemini-code-assist review