From a0a66cb7192543ff758609d0ffd9f2096f9aca1f Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Sun, 26 Oct 2025 17:36:44 -0300 Subject: [PATCH] nip61: ensure mint URLs are always normalized. --- nip61/info.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/nip61/info.go b/nip61/info.go index 5553a39..9176817 100644 --- a/nip61/info.go +++ b/nip61/info.go @@ -2,6 +2,7 @@ package nip61 import ( "context" + "fmt" "slices" "fiatjaf.com/nostr" @@ -20,7 +21,12 @@ func (zi *Info) ToEvent(ctx context.Context, kr nostr.Keyer, evt *nostr.Event) e evt.Tags = make(nostr.Tags, 0, len(zi.Mints)+len(zi.Relays)+1) for _, mint := range zi.Mints { - evt.Tags = append(evt.Tags, nostr.Tag{"mint", mint}) + url, err := nostr.NormalizeHTTPURL(mint) + if err != nil { + return fmt.Errorf("invalid URL '%s': %w", mint, err) + } + + evt.Tags = append(evt.Tags, nostr.Tag{"mint", url}) } for _, url := range zi.Relays { evt.Tags = append(evt.Tags, nostr.Tag{"relay", url}) @@ -46,8 +52,9 @@ func (zi *Info) ParseEvent(evt nostr.Event) error { switch tag[0] { case "mint": if len(tag) == 2 || slices.Contains(tag[2:], cashu.Sat.String()) { - url, _ := nostr.NormalizeHTTPURL(tag[1]) - zi.Mints = append(zi.Mints, url) + if url, err := nostr.NormalizeHTTPURL(tag[1]); err == nil { + zi.Mints = append(zi.Mints, url) + } } case "relay": zi.Relays = append(zi.Relays, tag[1])