From 5c2d463313eb8c231cc096ceb6a64dc76c4b0d85 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Sun, 25 May 2025 15:56:26 -0300 Subject: [PATCH] Pointer cannot hold a pointer so it can't be a hidden nil. --- nip10/nip10.go | 12 ++++++------ nip19/pointer.go | 14 -------------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/nip10/nip10.go b/nip10/nip10.go index 7bc52c4..dad567e 100644 --- a/nip10/nip10.go +++ b/nip10/nip10.go @@ -2,17 +2,17 @@ package nip10 import "github.com/nbd-wtf/go-nostr" -func GetThreadRoot(tags nostr.Tags) *nostr.EventPointer { +func GetThreadRoot(tags nostr.Tags) nostr.Pointer { for _, tag := range tags { if len(tag) >= 4 && tag[0] == "e" && tag[3] == "root" { p, _ := nostr.EventPointerFromTag(tag) - return &p + return p } } firstE := tags.Find("e") if firstE != nil { - return &nostr.EventPointer{ + return nostr.EventPointer{ ID: firstE[1], } } @@ -20,7 +20,7 @@ func GetThreadRoot(tags nostr.Tags) *nostr.EventPointer { return nil } -func GetImmediateParent(tags nostr.Tags) *nostr.EventPointer { +func GetImmediateParent(tags nostr.Tags) nostr.Pointer { var parent nostr.Tag var lastE nostr.Tag @@ -57,13 +57,13 @@ func GetImmediateParent(tags nostr.Tags) *nostr.EventPointer { // that means this event is a direct reply to the parent if parent != nil { p, _ := nostr.EventPointerFromTag(parent) - return &p + return p } if lastE != nil { // if we reached this point and we have at least one "e" we'll use that (the last) // (we don't bother looking for relay or author hints because these clients don't add these anyway) - return &nostr.EventPointer{ + return nostr.EventPointer{ ID: lastE[1], } } diff --git a/nip19/pointer.go b/nip19/pointer.go index b5db4fc..89abcba 100644 --- a/nip19/pointer.go +++ b/nip19/pointer.go @@ -16,26 +16,12 @@ func EncodePointer(pointer nostr.Pointer) string { res, _ := EncodeProfile(v.PublicKey, v.Relays) return res } - case *nostr.ProfilePointer: - if v.Relays == nil { - res, _ := EncodePublicKey(v.PublicKey) - return res - } else { - res, _ := EncodeProfile(v.PublicKey, v.Relays) - return res - } case nostr.EventPointer: res, _ := EncodeEvent(v.ID, v.Relays, v.Author) return res - case *nostr.EventPointer: - res, _ := EncodeEvent(v.ID, v.Relays, v.Author) - return res case nostr.EntityPointer: res, _ := EncodeEntity(v.PublicKey, v.Kind, v.Identifier, v.Relays) return res - case *nostr.EntityPointer: - res, _ := EncodeEntity(v.PublicKey, v.Kind, v.Identifier, v.Relays) - return res } return "" }