From cd7d6dd7975eff18b49665f6ebcabee78b204f76 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 May 2026 16:59:08 +0530 Subject: Fix compile errors: enable nip04/nip46 features, fix API mismatches - Cargo.toml: enable nip04 + nip46 features on nostr crate - nip46.rs: secret_key() returns &SecretKey not Result, remove ? operator - nip46.rs: EventBuilder::new takes 2 args, use .tags() for tags - nip46.rs: fix async block in timeout map_err - git_mirror.rs: relay_url is a field not a method --- src/git_mirror.rs | 2 +- src/nip46.rs | 32 ++++++++++++++------------------ 2 files changed, 15 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/git_mirror.rs b/src/git_mirror.rs index cdf853e..47b0efb 100644 --- a/src/git_mirror.rs +++ b/src/git_mirror.rs @@ -78,7 +78,7 @@ impl GitMirror { ); if let Some(ref event) = state_event { - let relay_url = server.relay_url(); + let relay_url = server.relay_url.clone(); if let Ok(url) = RelayUrl::parse(&relay_url) { let urls = vec![url]; if let Err(e) = nostr_client.send_event_to(urls, event.clone()).await { diff --git a/src/nip46.rs b/src/nip46.rs index c3b1e86..e115df6 100644 --- a/src/nip46.rs +++ b/src/nip46.rs @@ -95,7 +95,7 @@ impl Nip46Client { let pairing_uri = Self::build_pairing_uri(&client_keys, &self.relays); self.db - .upsert_nip46_session(&pk_hex, &client_keys.secret_key()?.to_hex(), None, false) + .upsert_nip46_session(&pk_hex, &client_keys.secret_key().to_hex(), None, false) .await?; Session { @@ -190,7 +190,7 @@ impl Nip46Client { }; let decrypted = nip04::decrypt( - session.client_keys.secret_key()?, + session.client_keys.secret_key(), &event.pubkey, &event.content, ) @@ -232,7 +232,7 @@ impl Nip46Client { let _ = db .upsert_nip46_session( &pk_hex, - &session.client_keys.secret_key()?.to_hex(), + &session.client_keys.secret_key().to_hex(), Some(&signer_hex), true, ) @@ -307,13 +307,10 @@ impl Nip46Client { let message_json = message.as_json(); let encrypted = - nip04::encrypt(session.client_keys.secret_key()?, &signer_pubkey, &message_json)?; + nip04::encrypt(session.client_keys.secret_key(), &signer_pubkey, &message_json)?; - let event_builder = EventBuilder::new( - Kind::Custom(24133), - &encrypted, - [Tag::public_key(signer_pubkey)], - ); + let event_builder = EventBuilder::new(Kind::Custom(24133), &encrypted) + .tags([Tag::public_key(signer_pubkey)]); let event = event_builder.sign_with_keys(&session.client_keys)?; let request_id = message.id().to_string(); @@ -340,15 +337,14 @@ impl Nip46Client { Err(_) => Err(anyhow::anyhow!("signing request channel dropped")), } }) - .await - .map_err(|_| { - { - let pending_id = request_id.clone(); - async move { - let mut pending = self.pending.write().await; - pending.remove(&pending_id); - } - } + .await; + + if result.is_err() { + let mut pending = self.pending.write().await; + pending.remove(&request_id); + } + + result.map_err(|_| { anyhow::anyhow!( "NIP-46 signing request timed out after {}s", timeout.as_secs() -- cgit v1.2.3