Skip to content

Conversation

@ovitrif
Copy link
Collaborator

@ovitrif ovitrif commented Jul 22, 2025

Related to #202

FIGMA: Amount Screen | Confirm Screen

This PR re-implements LNURL Pay and lightning address handling.

Changes

  • LNURL Pay amount screen
  • LNURL Pay confirm screen
  • QuickPay for LNURL Pay
  • remove Scanner.LnurlAddress handling
  • more accurate lightning max sendable limit
  • update ldk-node and add invoice description to activity
  • other:
    • polish numberpad buttons text and styling
    • polish keyboard keys clickable area and UX feedback
    • only clear clipboard after send if autoRead is on

QA Notes

bech32 lnurl

  • in Env.kt, change ElectrumServers.REGTEST to
    host = "__YOUR_NETWORK_IP__",
    tcp = 60001,
    
  • uninstall old app and install fresh one
  • checkout bitkit-docker repo
  • set DOMAIN in docker-compose.yml to http://__YOUR_NETWORK_IP__:3000
  • run docker compose up --build
  • mine blocks: ./bitcoin-cli mine 101
  • fund onchain wallet: ./bitcoin-cli send
  • mine block: ./bitcoin-cli mine 1
  • get local LND nodeID and open channel
    • http://localhost:3000/health
    • get nodeID from lnd_info.uris array, replace 127.0.0.1 with __YOUR_NETWORK_IP__ and paste into app, then complete the flow
    • ./bitcoin-cli mine 3
  • generate LNURL pay: http://localhost:3000/generate/pay
  • paste lnurl into app
  • generate fixed amount LNURL pay (QuickPay): http://localhost:3000/generate/pay?minSendable=10000&maxSendable=10000

lightning address

  • ngrok http 3000
  • change DOMAIN in docker-compose.yml to __NGROK_URL__
  • docker compose down if running
  • docker compose up --build
  • http://localhost:3000/.well-known/lnurlp/alice
  • copy the email-like lightning address and paste into app

Tests + Regressions

  • send onchain
  • send lightning
  • quickpay
    • bip21 unified with lightning
    • bolt11
    • lnurlPay bech32 minSendable == maxSendable
  • lnurlPay bech32
  • lnurlPay bech32 minSendable == maxSendable
  • lnurl lighting address

Previews

Bech32 LNURL Lightning Address Fixed Amount & QuickPay
bech32.mp4
address.mp4
fixedAmountAndQuickpay.mp4

@ovitrif ovitrif self-assigned this Jul 22, 2025
@ovitrif ovitrif mentioned this pull request Jul 22, 2025
18 tasks
@ovitrif ovitrif marked this pull request as ready for review July 22, 2025 19:27
@ovitrif ovitrif requested a review from jvsena42 July 22, 2025 19:27
Copy link
Member

@jvsena42 jvsena42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very clean refactor!

It would be good to add the QA notes to the readme

@ovitrif
Copy link
Collaborator Author

ovitrif commented Jul 23, 2025

Very clean refactor!

It would be good to add the QA notes to the readme

Thanks, added ref to the bitkit-docker repo in next PR 2f5e50d

@ovitrif ovitrif merged commit deccb74 into master Jul 23, 2025
2 checks passed
@ovitrif ovitrif deleted the feat/lnurl-pay branch July 23, 2025 11:04
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

Successfully merging this pull request may close these issues.

3 participants