upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYour Name <you@example.com>2026-05-27 16:59:08 +0530
committerYour Name <you@example.com>2026-05-27 16:59:08 +0530
commitcd7d6dd7975eff18b49665f6ebcabee78b204f76 (patch)
treed8ba012e4b324cb81868b3acdc426b8c2f007614 /src
parentd889b890f9e63815c178853ed98a1e31f6cec7f8 (diff)
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
Diffstat (limited to 'src')
-rw-r--r--src/git_mirror.rs2
-rw-r--r--src/nip46.rs32
2 files changed, 15 insertions, 19 deletions
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 {
78 ); 78 );
79 79
80 if let Some(ref event) = state_event { 80 if let Some(ref event) = state_event {
81 let relay_url = server.relay_url(); 81 let relay_url = server.relay_url.clone();
82 if let Ok(url) = RelayUrl::parse(&relay_url) { 82 if let Ok(url) = RelayUrl::parse(&relay_url) {
83 let urls = vec![url]; 83 let urls = vec![url];
84 if let Err(e) = nostr_client.send_event_to(urls, event.clone()).await { 84 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 {
95 let pairing_uri = Self::build_pairing_uri(&client_keys, &self.relays); 95 let pairing_uri = Self::build_pairing_uri(&client_keys, &self.relays);
96 96
97 self.db 97 self.db
98 .upsert_nip46_session(&pk_hex, &client_keys.secret_key()?.to_hex(), None, false) 98 .upsert_nip46_session(&pk_hex, &client_keys.secret_key().to_hex(), None, false)
99 .await?; 99 .await?;
100 100
101 Session { 101 Session {
@@ -190,7 +190,7 @@ impl Nip46Client {
190 }; 190 };
191 191
192 let decrypted = nip04::decrypt( 192 let decrypted = nip04::decrypt(
193 session.client_keys.secret_key()?, 193 session.client_keys.secret_key(),
194 &event.pubkey, 194 &event.pubkey,
195 &event.content, 195 &event.content,
196 ) 196 )
@@ -232,7 +232,7 @@ impl Nip46Client {
232 let _ = db 232 let _ = db
233 .upsert_nip46_session( 233 .upsert_nip46_session(
234 &pk_hex, 234 &pk_hex,
235 &session.client_keys.secret_key()?.to_hex(), 235 &session.client_keys.secret_key().to_hex(),
236 Some(&signer_hex), 236 Some(&signer_hex),
237 true, 237 true,
238 ) 238 )
@@ -307,13 +307,10 @@ impl Nip46Client {
307 let message_json = message.as_json(); 307 let message_json = message.as_json();
308 308
309 let encrypted = 309 let encrypted =
310 nip04::encrypt(session.client_keys.secret_key()?, &signer_pubkey, &message_json)?; 310 nip04::encrypt(session.client_keys.secret_key(), &signer_pubkey, &message_json)?;
311 311
312 let event_builder = EventBuilder::new( 312 let event_builder = EventBuilder::new(Kind::Custom(24133), &encrypted)
313 Kind::Custom(24133), 313 .tags([Tag::public_key(signer_pubkey)]);
314 &encrypted,
315 [Tag::public_key(signer_pubkey)],
316 );
317 let event = event_builder.sign_with_keys(&session.client_keys)?; 314 let event = event_builder.sign_with_keys(&session.client_keys)?;
318 315
319 let request_id = message.id().to_string(); 316 let request_id = message.id().to_string();
@@ -340,15 +337,14 @@ impl Nip46Client {
340 Err(_) => Err(anyhow::anyhow!("signing request channel dropped")), 337 Err(_) => Err(anyhow::anyhow!("signing request channel dropped")),
341 } 338 }
342 }) 339 })
343 .await 340 .await;
344 .map_err(|_| { 341
345 { 342 if result.is_err() {
346 let pending_id = request_id.clone(); 343 let mut pending = self.pending.write().await;
347 async move { 344 pending.remove(&request_id);
348 let mut pending = self.pending.write().await; 345 }
349 pending.remove(&pending_id); 346
350 } 347 result.map_err(|_| {
351 }
352 anyhow::anyhow!( 348 anyhow::anyhow!(
353 "NIP-46 signing request timed out after {}s", 349 "NIP-46 signing request timed out after {}s",
354 timeout.as_secs() 350 timeout.as_secs()