From 3249346b95dd19e7ea0ca319390086b2a2c552f2 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Fri, 11 Jul 2025 08:44:05 -0700 Subject: [PATCH] Validate signer pubkey in bunker link --- packages/signer/src/signers/nip46.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/signer/src/signers/nip46.ts b/packages/signer/src/signers/nip46.ts index 203887f..f118a65 100644 --- a/packages/signer/src/signers/nip46.ts +++ b/packages/signer/src/signers/nip46.ts @@ -270,15 +270,18 @@ export class Nip46Broker extends Emitter { try { const _url = new URL(url) + const _relays = _url.searchParams.getAll("relay") || [] + const _signerPubkey = _url.hostname || _url.pathname.replace(/\//g, "") + const _connectSecret = _url.searchParams.get("secret") || "" - relays = _url.searchParams.getAll("relay") || [] - signerPubkey = _url.hostname || _url.pathname.replace(/\//g, "") - connectSecret = _url.searchParams.get("secret") || "" + relays = _relays.map(normalizeRelayUrl) + signerPubkey = _signerPubkey.match(/^[0-9a-f]{64}$/)?.[0] || "" + connectSecret = _connectSecret } catch { // pass } - return {signerPubkey, connectSecret, relays: relays.map(normalizeRelayUrl)} + return {relays, signerPubkey, connectSecret} } // Getters for helper objects