Simplify nip46 initiate

This commit is contained in:
Jon Staab
2024-11-12 11:10:56 -08:00
parent 76ad0ba976
commit 3d8c33a49f
+4 -15
View File
@@ -1,4 +1,4 @@
import {Emitter, normalizeUrl, tryCatch, randomId, equals} from "@welshman/lib" import {Emitter, tryCatch, randomId, equals} from "@welshman/lib"
import {createEvent, TrustedEvent, StampedEvent, NOSTR_CONNECT} from "@welshman/util" import {createEvent, TrustedEvent, StampedEvent, NOSTR_CONNECT} from "@welshman/util"
import {subscribe, publish, Subscription, SubscriptionEvent} from "@welshman/net" import {subscribe, publish, Subscription, SubscriptionEvent} from "@welshman/net"
import {ISigner, decrypt, hash, own, makeSecret, getPubkey} from '../util' import {ISigner, decrypt, hash, own, makeSecret, getPubkey} from '../util'
@@ -78,6 +78,8 @@ export class Nip46Broker extends Emitter {
params.append('relay', relay) params.append('relay', relay)
} }
const nostrconnect = `nostrconnect://${clientPubkey}?${params.toString()}`
const result = new Promise<string | undefined>(resolve => { const result = new Promise<string | undefined>(resolve => {
const complete = (pubkey?: string) => { const complete = (pubkey?: string) => {
sub.close() sub.close()
@@ -103,20 +105,7 @@ export class Nip46Broker extends Emitter {
abortController?.signal.addEventListener('abort', () => complete()) abortController?.signal.addEventListener('abort', () => complete())
}) })
return { return {result, params, nostrconnect, clientSecret, clientPubkey}
result,
params,
clientSecret,
clientPubkey,
getLink: (template: string) => {
const temp = normalizeUrl(template)
const uri = `nostrconnect://${clientPubkey}?${params.toString()}`
return temp.includes('<nostrconnect>')
? temp.replace('<nostrconnect>', uri)
: new URL(temp).origin + '/' + uri
}
}
} }
static parseBunkerLink(link: string) { static parseBunkerLink(link: string) {