1
0
mirror of git://jb55.com/damus synced 2024-09-30 08:50:42 +00:00

nwc: add lud16 parameter

This will be used for auto-setting up the lightning wallet

See https://github.com/nostr-protocol/nips/pull/513
This commit is contained in:
William Casarin 2023-05-10 11:10:43 -07:00
parent 370a5feb4e
commit a5726d4650

View File

@ -17,10 +17,22 @@ struct WalletConnectURL: Equatable {
let relay: RelayURL
let keypair: FullKeypair
let pubkey: String
let lud16: String?
func to_url() -> URL {
let urlstr = "nostrwalletconnect://\(pubkey)?relay=\(relay.id)&secret=\(keypair.privkey)"
return URL(string: urlstr)!
var urlComponents = URLComponents()
urlComponents.scheme = "nostrwalletconnect"
urlComponents.host = pubkey
urlComponents.queryItems = [
URLQueryItem(name: "relay", value: relay.id),
URLQueryItem(name: "secret", value: keypair.privkey)
]
if let lud16 {
urlComponents.queryItems?.append(URLQueryItem(name: "lud16", value: lud16))
}
return urlComponents.url!
}
init?(str: String) {
@ -37,14 +49,16 @@ struct WalletConnectURL: Equatable {
return nil
}
let lud16 = items.first(where: { qi in qi.name == "lud16" })?.value
let keypair = FullKeypair(pubkey: our_pk, privkey: secret)
self = WalletConnectURL(pubkey: pk, relay: relay_url, keypair: keypair)
self = WalletConnectURL(pubkey: pk, relay: relay_url, keypair: keypair, lud16: lud16)
}
init(pubkey: String, relay: RelayURL, keypair: FullKeypair) {
init(pubkey: String, relay: RelayURL, keypair: FullKeypair, lud16: String?) {
self.pubkey = pubkey
self.relay = relay
self.keypair = keypair
self.lud16 = lud16
}
}