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:
@@ -17,10 +17,22 @@ struct WalletConnectURL: Equatable {
|
|||||||
let relay: RelayURL
|
let relay: RelayURL
|
||||||
let keypair: FullKeypair
|
let keypair: FullKeypair
|
||||||
let pubkey: String
|
let pubkey: String
|
||||||
|
let lud16: String?
|
||||||
|
|
||||||
func to_url() -> URL {
|
func to_url() -> URL {
|
||||||
let urlstr = "nostrwalletconnect://\(pubkey)?relay=\(relay.id)&secret=\(keypair.privkey)"
|
var urlComponents = URLComponents()
|
||||||
return URL(string: urlstr)!
|
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) {
|
init?(str: String) {
|
||||||
@@ -37,14 +49,16 @@ struct WalletConnectURL: Equatable {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let lud16 = items.first(where: { qi in qi.name == "lud16" })?.value
|
||||||
let keypair = FullKeypair(pubkey: our_pk, privkey: secret)
|
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.pubkey = pubkey
|
||||||
self.relay = relay
|
self.relay = relay
|
||||||
self.keypair = keypair
|
self.keypair = keypair
|
||||||
|
self.lud16 = lud16
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user