diff --git a/khatru/expiration.go b/khatru/expiration.go index 997e259..21af2a7 100644 --- a/khatru/expiration.go +++ b/khatru/expiration.go @@ -155,14 +155,14 @@ func (rl *Relay) StartExpirationManager( } go rl.expirationManager.start(rl.ctx) - rl.Info.AddSupportedNIP(40) + rl.Info.AddSupportedNIP("40") } func (rl *Relay) DisableExpirationManager() { rl.expirationManager.stop() rl.expirationManager = nil - idx := slices.Index(rl.Info.SupportedNIPs, 40) + idx := slices.Index(rl.Info.SupportedNIPs, "40") if idx != -1 { rl.Info.SupportedNIPs[idx] = rl.Info.SupportedNIPs[len(rl.Info.SupportedNIPs)-1] rl.Info.SupportedNIPs = rl.Info.SupportedNIPs[0 : len(rl.Info.SupportedNIPs)-1] diff --git a/khatru/grasp/server.go b/khatru/grasp/server.go index 7ddc404..434d756 100644 --- a/khatru/grasp/server.go +++ b/khatru/grasp/server.go @@ -31,7 +31,7 @@ func New(rl *khatru.Relay, repositoryDir string) *GraspServer { }, } - rl.Info.AddSupportedNIP(34) + rl.Info.AddSupportedNIP("34") rl.Info.SupportedGrasps = append(rl.Info.SupportedGrasps, "GRASP-01") base := rl.Router() diff --git a/khatru/nip11.go b/khatru/nip11.go index a72af76..f82b616 100644 --- a/khatru/nip11.go +++ b/khatru/nip11.go @@ -12,13 +12,13 @@ func (rl *Relay) HandleNIP11(w http.ResponseWriter, r *http.Request) { info := *rl.Info if nil != rl.DeleteEvent { - info.AddSupportedNIP(9) + info.AddSupportedNIP("9") } if nil != rl.Count { - info.AddSupportedNIP(45) + info.AddSupportedNIP("45") } if rl.Negentropy { - info.AddSupportedNIP(77) + info.AddSupportedNIP("77") } // resolve relative icon and banner URLs against base URL diff --git a/khatru/relay.go b/khatru/relay.go index 4355072..448bcb4 100644 --- a/khatru/relay.go +++ b/khatru/relay.go @@ -30,7 +30,7 @@ func NewRelay() *Relay { Info: &nip11.RelayInformationDocument{ Software: "https://pkg.go.dev/fiatjaf.com/nostr/khatru", Version: "n/a", - SupportedNIPs: []any{1, 11, 42, 70, 86}, + SupportedNIPs: []string{"1", "11", "42", "70", "86"}, }, upgrader: websocket.Upgrader{ diff --git a/nip11/nip11_test.go b/nip11/nip11_test.go index f94a9e2..e13d03d 100644 --- a/nip11/nip11_test.go +++ b/nip11/nip11_test.go @@ -9,30 +9,30 @@ import ( func TestAddSupportedNIP(t *testing.T) { info := RelayInformationDocument{} - info.AddSupportedNIP(12) - info.AddSupportedNIP(12) - info.AddSupportedNIP(13) - info.AddSupportedNIP(1) - info.AddSupportedNIP(12) - info.AddSupportedNIP(44) - info.AddSupportedNIP(2) - info.AddSupportedNIP(13) - info.AddSupportedNIP(2) - info.AddSupportedNIP(13) - info.AddSupportedNIP(0) - info.AddSupportedNIP(17) - info.AddSupportedNIP(19) - info.AddSupportedNIP(1) - info.AddSupportedNIP(18) + info.AddSupportedNIP("12") + info.AddSupportedNIP("12") + info.AddSupportedNIP("13") + info.AddSupportedNIP("1") + info.AddSupportedNIP("12") + info.AddSupportedNIP("44") + info.AddSupportedNIP("2") + info.AddSupportedNIP("13") + info.AddSupportedNIP("2") + info.AddSupportedNIP("13") + info.AddSupportedNIP("0") + info.AddSupportedNIP("17") + info.AddSupportedNIP("19") + info.AddSupportedNIP("1") + info.AddSupportedNIP("18") - assert.Contains(t, info.SupportedNIPs, 0, 1, 2, 12, 13, 17, 18, 19, 44) + assert.Contains(t, info.SupportedNIPs, "0", "1", "2", "12", "13", "17", "18", "19", "44") } func TestAddSupportedNIPs(t *testing.T) { info := RelayInformationDocument{} - info.AddSupportedNIPs([]int{0, 1, 2, 12, 13, 17, 18, 19, 44}) + info.AddSupportedNIPs([]int{"0", "1", "2", "12", "13", "17", "18", "19", "44"}) - assert.Contains(t, info.SupportedNIPs, 0, 1, 2, 12, 13, 17, 18, 19, 44) + assert.Contains(t, info.SupportedNIPs, "0", "1", "2", "12", "13", "17", "18", "19", "44") } func TestFetch(t *testing.T) { diff --git a/nip11/types.go b/nip11/types.go index 7df9463..dce5be8 100644 --- a/nip11/types.go +++ b/nip11/types.go @@ -14,7 +14,7 @@ type RelayInformationDocument struct { PubKey *nostr.PubKey `json:"pubkey,omitempty"` Self *nostr.PubKey `json:"self,omitempty"` Contact string `json:"contact,omitempty"` - SupportedNIPs []any `json:"supported_nips,omitempty"` + SupportedNIPs []string `json:"supported_nips,omitempty"` Software string `json:"software,omitempty"` Version string `json:"version,omitempty"` @@ -33,16 +33,16 @@ type RelayInformationDocument struct { SupportedGrasps []string `json:"supported_grasps,omitempty"` } -func (info *RelayInformationDocument) AddSupportedNIP(number int) { - idx := slices.IndexFunc(info.SupportedNIPs, func(n any) bool { return n == number }) +func (info *RelayInformationDocument) AddSupportedNIP(nip string) { + idx := slices.IndexFunc(info.SupportedNIPs, func(n string) bool { return n == nip }) if idx != -1 { return } - info.SupportedNIPs = append(info.SupportedNIPs, number) + info.SupportedNIPs = append(info.SupportedNIPs, nip) } -func (info *RelayInformationDocument) AddSupportedNIPs(numbers []int) { +func (info *RelayInformationDocument) AddSupportedNIPs(numbers []string) { for _, n := range numbers { info.AddSupportedNIP(n) }