A Dart implementation of lnurl to decode bech32 lnurl strings or raw (non bech32-encoded) URLs. Currently supports the following tags:
- withdrawRequest
- payRequest
- channelRequest
- login
- ✅ Decode a bech32-encoded lnurl string.
- ✅ Handle LUD-17: Protocol schemes and raw (non bech32-encoded) URLs.
- ✅ Make GET request to the decoded ln service and return the response.
- ✅ LinkingKey derivation for BIP-32 based wallets.
Learn more about the lnurl spec here: https://github.com/fiatjaf/lnurl-rfc
Future<LNURLParseResult> getParams(String encodedUrl)
Use this to parse an encoded bech32 lnurl string or raw (non bech32-encoded) URLs, call the URI, and return the parsed response from the lnurl service. The encodedUrl
can either have lightning:
in it or not.
String decryptSuccessActionAesPayload({LNURLPaySuccessAction successAction, String preimage})
When doing lnurl pay, the success action could contain an encrypted payload using the payment preimage. Use this function to decrypt that payload.
🟢 fully supported, 🟠 partially supported, 🔴 not supported.
- 🟠 LUD-01: Base LNURL encoding and decoding
- 🟢 LUD-02: channelRequest base spec
- 🟢 LUD-03: withdrawRequest base spec
- 🟢 LUD-04: auth base spec
- 🟢 LUD-05: BIP32-based seed generation for auth protocol
- 🟢 LUD-06: payRequest base spec
- 🔴 LUD-07: hostedChannelRequest base spec
- 🔴 LUD-08: Fast withdrawRequest
- 🟢 LUD-09: successAction field for payRequest
- 🟢 LUD-10: aes success action in payRequest
- 🟢 LUD-11: Disposable and storeable payRequests
- 🟢 LUD-12: Comments in payRequest
- 🔴 LUD-13: signMessage-based seed generation for auth protocol
- 🟢 LUD-14: balanceCheck: reusable withdrawRequests
- 🔴 LUD-15: balanceNotify: services hurrying up the withdraw process
- 🔴 LUD-16: Paying to static internet identifiers
- 🟢 LUD-17: Protocol schemes and raw (non bech32-encoded) URLs
- 🟢 LUD-18: Payer identity in payRequest protocol
- 🟢 LUD-19: Pay link discoverable from withdraw link
- 🔴 LUD-20: Long payment description for pay protocol