radrootsd

JSON-RPC bridge for Radroots event publishing
git clone https://radroots.dev/git/radrootsd.git
Log | Files | Refs | README | LICENSE

commit e67b04e86f5d7f7b8c40f5bac325fb091b8261db
parent c04d907f26aca84c1d0403b820780676bec7739c
Author: triesap <tyson@radroots.org>
Date:   Sun, 15 Feb 2026 16:03:02 +0000

nip89: add configurable identifier and extra tags to nip46

Diffstat:
Msrc/app/config.rs | 10++++++++++
Msrc/app/runtime.rs | 4++--
2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/app/config.rs b/src/app/config.rs @@ -33,6 +33,10 @@ fn default_nip46_perms() -> Vec<String> { Vec::new() } +fn default_nip46_nip89_extra_tags() -> Vec<Vec<String>> { + Vec::new() +} + #[derive(Debug, Serialize, Deserialize, Clone)] pub struct Nip46Config { #[serde(default = "default_nip46_session_ttl_secs")] @@ -41,6 +45,10 @@ pub struct Nip46Config { pub perms: Vec<String>, #[serde(default)] pub nostrconnect_url: Option<String>, + #[serde(default)] + pub nip89_identifier: Option<String>, + #[serde(default = "default_nip46_nip89_extra_tags")] + pub nip89_extra_tags: Vec<Vec<String>>, } impl Default for Nip46Config { @@ -49,6 +57,8 @@ impl Default for Nip46Config { session_ttl_secs: default_nip46_session_ttl_secs(), perms: default_nip46_perms(), nostrconnect_url: None, + nip89_identifier: None, + nip89_extra_tags: default_nip46_nip89_extra_tags(), } } } diff --git a/src/app/runtime.rs b/src/app/runtime.rs @@ -96,9 +96,9 @@ pub async fn run() -> Result<()> { let nip46_kind = RadrootsNostrKind::NostrConnect.as_u16() as u32; let handler_spec = RadrootsNostrApplicationHandlerSpec { kinds: vec![nip46_kind], - identifier: None, + identifier: nip46_config.nip89_identifier.clone(), metadata: Some(md.clone()), - extra_tags: Vec::new(), + extra_tags: nip46_config.nip89_extra_tags.clone(), relays, nostrconnect_url: nip46_config.nostrconnect_url.clone(), };