From 8897cc36e4fa066df36999b90d7683a6b4afa39f Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Fri, 24 May 2024 15:13:05 -0300 Subject: [PATCH] nip29: fix group address parsing and encoding order. --- nip29/group.go | 4 ++-- nip29/nip29_test.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nip29/group.go b/nip29/group.go index e97f83f..3027bc4 100644 --- a/nip29/group.go +++ b/nip29/group.go @@ -15,7 +15,7 @@ type GroupAddress struct { func (gid GroupAddress) String() string { p, _ := url.Parse(gid.Relay) - return fmt.Sprintf("%s'%s", gid.ID, p.Host) + return fmt.Sprintf("%s'%s", p.Host, gid.ID) } func (gid GroupAddress) IsValid() bool { @@ -31,7 +31,7 @@ func ParseGroupAddress(raw string) (GroupAddress, error) { if len(spl) != 2 { return GroupAddress{}, fmt.Errorf("invalid group id") } - return GroupAddress{ID: spl[0], Relay: nostr.NormalizeURL(spl[1])}, nil + return GroupAddress{ID: spl[1], Relay: nostr.NormalizeURL(spl[0])}, nil } type Group struct { diff --git a/nip29/nip29_test.go b/nip29/nip29_test.go index 1b8cf8f..189e51c 100644 --- a/nip29/nip29_test.go +++ b/nip29/nip29_test.go @@ -12,7 +12,7 @@ const ( ) func TestGroupEventBackAndForth(t *testing.T) { - group1, _ := NewGroup("xyz'relay.com") + group1, _ := NewGroup("relay.com'xyz") group1.Name = "banana" group1.Private = true meta1 := group1.ToMetadataEvent() @@ -22,7 +22,7 @@ func TestGroupEventBackAndForth(t *testing.T) { t.Fatalf("translation of group1 to metadata event failed: %s", meta1) } - group2, _ := NewGroup("abc'groups.com") + group2, _ := NewGroup("groups.com'abc") group2.Members[ALICE] = &Role{Name: "nada", Permissions: map[Permission]struct{}{PermAddUser: {}}} group2.Members[BOB] = &Role{Name: "nada", Permissions: map[Permission]struct{}{PermEditMetadata: {}}} group2.Members[CAROL] = EmptyRole