commit 3c3d9442b4f10407cd241dff865ffc78c57b7b6a
parent 68a299cb9752e6e4dbb71edddf67ce7d1b9ba4d3
Author: triesap <tyson@radroots.org>
Date: Sun, 12 Apr 2026 16:53:53 +0000
radrootsd: reconcile runtime repo fallout
Diffstat:
3 files changed, 33 insertions(+), 20 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
@@ -1813,6 +1813,7 @@ dependencies = [
"hex",
"nostr",
"radroots_identity",
+ "radroots_nostr",
"radroots_nostr_connect",
"radroots_runtime",
"serde",
diff --git a/src/transport/jsonrpc/methods/bridge/shared.rs b/src/transport/jsonrpc/methods/bridge/shared.rs
@@ -174,11 +174,16 @@ pub(super) async fn resolve_actor_bridge_signer(
"{command} requires signer_session_id for actor-authored bridge writes"
))
})?;
- let session = ctx.state.nip46_sessions.get(session_id).await.ok_or_else(|| {
- RpcError::Unauthorized(format!(
- "{command} signer_session_id `{session_id}` was not found"
- ))
- })?;
+ let session = ctx
+ .state
+ .nip46_sessions
+ .get(session_id)
+ .await
+ .ok_or_else(|| {
+ RpcError::Unauthorized(format!(
+ "{command} signer_session_id `{session_id}` was not found"
+ ))
+ })?;
nip46_session::require_sign_event_permission(&session, event_kind).map_err(|error| {
RpcError::Unauthorized(format!(
"{command} signer_session_id `{session_id}` {}",
@@ -186,7 +191,9 @@ pub(super) async fn resolve_actor_bridge_signer(
))
})?;
require_signer_authority(&session, signer_authority).map_err(|reason| {
- RpcError::Unauthorized(format!("{command} signer_session_id `{session_id}` {reason}"))
+ RpcError::Unauthorized(format!(
+ "{command} signer_session_id `{session_id}` {reason}"
+ ))
})?;
Ok(BridgeSignerSelection::Nip46Session {
session_id: session_id.to_string(),
@@ -397,9 +404,9 @@ mod tests {
match resolve_actor_bridge_signer(&ctx, None, None, 30402, "bridge.listing.publish")
.await
{
- Ok(_) => panic!("expected missing session to fail"),
- Err(err) => err,
- };
+ Ok(_) => panic!("expected missing session to fail"),
+ Err(err) => err,
+ };
assert!(err.to_string().contains("requires signer_session_id"));
}
diff --git a/src/transport/jsonrpc/methods/nip46/connect.rs b/src/transport/jsonrpc/methods/nip46/connect.rs
@@ -44,15 +44,20 @@ struct Nip46ConnectResponse {
pub fn register(m: &mut RpcModule<RpcContext>, registry: &MethodRegistry) -> Result<()> {
registry.track("nip46.connect");
m.register_async_method("nip46.connect", |params, ctx, _| async move {
- let Nip46ConnectParams {
- url,
- client_secret_key,
- signer_authority,
- } = params
- .parse()
- .map_err(|e| RpcError::InvalidParams(e.to_string()))?;
- let response =
- connect_nip46(ctx.as_ref().clone(), url, client_secret_key, signer_authority).await?;
+ let Nip46ConnectParams {
+ url,
+ client_secret_key,
+ signer_authority,
+ } = params
+ .parse()
+ .map_err(|e| RpcError::InvalidParams(e.to_string()))?;
+ let response = connect_nip46(
+ ctx.as_ref().clone(),
+ url,
+ client_secret_key,
+ signer_authority,
+ )
+ .await?;
Ok::<Nip46ConnectResponse, RpcError>(response)
})?;
Ok(())
@@ -64,8 +69,8 @@ async fn connect_nip46(
client_secret_key: Option<String>,
signer_authority: Option<Nip46SessionAuthority>,
) -> Result<Nip46ConnectResponse, RpcError> {
- let signer_authority = Nip46Session::normalize_authority(signer_authority)
- .map_err(RpcError::InvalidParams)?;
+ let signer_authority =
+ Nip46Session::normalize_authority(signer_authority).map_err(RpcError::InvalidParams)?;
let info = parse_connect_url(&url)?;
match info.mode {
Nip46ConnectMode::Bunker => connect_bunker(ctx, info, signer_authority).await,