[#167] Support for decoding of LNURL links passed inside bitcoin URIs

This commit is contained in:
minibits-cash
2025-09-29 12:37:33 +02:00
parent ac9d8e5095
commit acded552ed
2 changed files with 12 additions and 10 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "minibits_wallet",
"version": "0.3.0-beta.9",
"version": "0.3.0-beta.10",
"private": true,
"scripts": {
"android:clean": "cd android && ./gradlew clean",
+9 -7
View File
@@ -43,16 +43,18 @@ const extractEncodedLnurl = function (maybeLnurl: string) {
return maybeLnurl
}
if (maybeLnurl && maybeLnurl.toLowerCase().startsWith('http')) { // e.g. lnbits withdraw extension links
const parsed = new URL(maybeLnurl.toLowerCase())
encodedLnurl = parsed.searchParams.get('lightning')
if(encodedLnurl) {
if (maybeLnurl &&
(
maybeLnurl.toLowerCase().startsWith('bitcoin:') ||
maybeLnurl.toLowerCase().startsWith('http')
)
) {
const url = new URL(maybeLnurl.toLowerCase())
// Use URLSearchParams to get the value of the "lightning" parameter
encodedLnurl = url.searchParams.get("lightning") as string
const decoded = decodelnurl(encodedLnurl) // throws
log.trace('[extractEncodedLnurl] Extracted lnurl from URL', encodedLnurl)
return encodedLnurl
}
}
for (const prefix of LNURL_URI_PREFIXES) {
if (maybeLnurl && maybeLnurl.toLowerCase().startsWith(prefix)) {