From f4e1df4c718a3755ffe50e99946996729f3504e9 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Tue, 22 Jul 2025 17:14:21 +0100 Subject: feat(pr): generate pr event > oversized patch but only for new proposals --- src/lib/client.rs | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'src/lib/client.rs') diff --git a/src/lib/client.rs b/src/lib/client.rs index 091d68d..3fe2b57 100644 --- a/src/lib/client.rs +++ b/src/lib/client.rs @@ -31,7 +31,7 @@ use indicatif::{MultiProgress, ProgressBar, ProgressDrawTarget, ProgressState, P use mockall::*; use nostr::{ Event, - event::{TagKind, TagStandard}, + event::{TagKind, TagStandard, UnsignedEvent}, filter::Alphabet, nips::{nip01::Coordinate, nip19::Nip19Coordinate}, signer::SignerBackend, @@ -814,6 +814,30 @@ pub async fn sign_event( } } +pub async fn sign_draft_event( + draft_event: UnsignedEvent, + signer: &Arc, + description: String, +) -> Result { + if signer.backend() == SignerBackend::NostrConnect { + let term = console::Term::stderr(); + term.write_line(&format!( + "signing event ({description}) with remote signer..." + ))?; + let event = signer + .sign_event(draft_event) + .await + .context("failed to sign event")?; + term.clear_last_lines(1)?; + Ok(event) + } else { + signer + .sign_event(draft_event) + .await + .context("failed to sign event") + } +} + pub async fn fetch_public_key(signer: &Arc) -> Result { if signer.backend() == SignerBackend::NostrConnect { let term = console::Term::stderr(); -- cgit v1.2.3