stacker.news/lib/lnurl.js

19 lines
510 B
JavaScript
Raw Normal View History

import { createHash } from 'crypto'
2021-06-27 03:18:32 +00:00
import { bech32 } from 'bech32'
export function encodeLNUrl (url) {
2021-06-27 03:18:32 +00:00
const words = bech32.toWords(Buffer.from(url.toString(), 'utf8'))
return bech32.encode('lnurl', words, 1023)
2021-06-27 03:18:32 +00:00
}
2021-10-07 21:03:54 +00:00
export function lnurlPayMetadataString (username) {
return JSON.stringify([[
'text/plain',
`Funding @${username} on stacker.news`
]])
}
export function lnurlPayDescriptionHash (username) {
return createHash('sha256').update(lnurlPayMetadataString(username)).digest('hex')
}