From 99e687bb2af31697be8da4d781be04b01fbc7da2 Mon Sep 17 00:00:00 2001 From: naliyi <154817482+naliyi@users.noreply.github.com> Date: Fri, 4 Sep 2026 10:29:21 +0000 Subject: [PATCH] relay: wire up NIP-47/48/88/90/AZ/B0/B7 relayreg registration nmilat ships a relayreg subpackage for each of these -- declares the NIP in supported_nips and, where the NIP has a validatable event kind, registers a structural validator for it. None require any new runtime service or config; ncli relay simply never blank-imported them. Verified live: supported_nips gains 47, 48, 88, 90, "AZ", "B0", "B7" alongside the existing set. --- CHANGELOG.md | 9 +++++++++ README.md | 11 +++++++++-- cli/relay/command.go | 7 +++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 647687e..2878be3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ ## [0.4.6] +### Added + +- `ncli relay` now also declares and validates NIP-47 (Nostr Wallet + Connect), NIP-48 (Proxy tags), NIP-88 (Polls), NIP-90 (Data Vending + Machines), NIP-AZ (AltZap), NIP-B0 (Web bookmarks), and NIP-B7 (Blossom + server lists) -- nmilat ships a `relayreg` subpackage for each that + `ncli relay` simply never blank-imported before. + ### Fixed - `apply stream`/`sync` no longer silently drop an event at the destination @@ -15,6 +23,7 @@ imports pointed at the base `nip57`/`nip65` packages instead of their `relayreg` subpackages, so the registration that declares them in `supported_nips` never ran. + ([#38](https://github.com/ohstr/ncli/pull/38)) ## [0.4.5] diff --git a/README.md b/README.md index 8ec4bda..389842b 100644 --- a/README.md +++ b/README.md @@ -100,14 +100,21 @@ docker run --rm ghcr.io/ohstr/ncli:latest --help | [42](https://github.com/nostr-protocol/nips/blob/master/42.md) | Relay authentication | | [43](https://github.com/nostr-protocol/nips/blob/master/43.md) | Relay membership — off by default; see [`relay members`](#relay-membersinvitesroles-nip-43-membership-admin) | | [44](https://github.com/nostr-protocol/nips/blob/master/44.md) | Versioned encryption | +| [47](https://github.com/nostr-protocol/nips/blob/master/47.md) | Nostr Wallet Connect | +| [48](https://github.com/nostr-protocol/nips/blob/master/48.md) | Proxy tags | | [49](https://github.com/nostr-protocol/nips/blob/master/49.md) | Encrypted private key storage | | [50](https://github.com/nostr-protocol/nips/blob/master/50.md) | Search — people search, not note content; see below | | [57](https://github.com/nostr-protocol/nips/blob/master/57.md) | Lightning zaps | | [65](https://github.com/nostr-protocol/nips/blob/master/65.md) | Relay list metadata | | [77](https://github.com/nostr-protocol/nips/blob/master/77.md) | Negentropy sync | +| [88](https://github.com/nostr-protocol/nips/blob/master/88.md) | Polls | +| [90](https://github.com/nostr-protocol/nips/blob/master/90.md) | Data Vending Machines | | [98](https://github.com/nostr-protocol/nips/blob/master/98.md) | HTTP authentication | -| [AA](https://github.com/block/buzz/blob/main/docs/nips/NIP-AA.md) | Agent auth — requires NIP-43 membership; see `agent_auth` below | -| [OA](https://github.com/block/buzz/blob/main/docs/nips/NIP-OA.md) | Owner attestation — verified as part of NIP-AA | +| [AA](https://github.com/block/buzz/blob/main/docs/nips/NIP-AA.md) | Agent auth — requires relay membership; see `agent_auth` below | +| [AZ](https://github.com/ohstr/zapf-nips/blob/main/NIP-AZ.md) | AltZap — zaps for energy-backed coins | +| [B0](https://github.com/nostr-protocol/nips/blob/master/B0.md) | Web bookmarks | +| [B7](https://github.com/nostr-protocol/nips/blob/master/B7.md) | Blossom media server lists | +| [OA](https://github.com/block/buzz/blob/main/docs/nips/NIP-OA.md) | Owner attestation — verified as part of agent auth | diff --git a/cli/relay/command.go b/cli/relay/command.go index 82441c7..d6e5009 100644 --- a/cli/relay/command.go +++ b/cli/relay/command.go @@ -15,8 +15,15 @@ import ( "github.com/ohstr/ncli/cli/common" "github.com/ohstr/ncli/cli/common/meilisearch" "github.com/ohstr/nmilat/nip11" + _ "github.com/ohstr/nmilat/nip47/relayreg" + _ "github.com/ohstr/nmilat/nip48/relayreg" _ "github.com/ohstr/nmilat/nip57/relayreg" _ "github.com/ohstr/nmilat/nip65/relayreg" + _ "github.com/ohstr/nmilat/nip88/relayreg" + _ "github.com/ohstr/nmilat/nip90/relayreg" + _ "github.com/ohstr/nmilat/nipAZ/relayreg" + _ "github.com/ohstr/nmilat/nipB0/relayreg" + _ "github.com/ohstr/nmilat/nipB7/relayreg" "github.com/ohstr/nmilat/relay" "github.com/ohstr/nmilat/search" "github.com/ohstr/nmilat/utils"