diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2025-07-22 17:14:21 +0100 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2025-07-22 17:14:21 +0100 |
| commit | f4e1df4c718a3755ffe50e99946996729f3504e9 (patch) | |
| tree | 9d3d83f42d4d9cf7f18c5451d524a7b995d8053b /src/lib/client.rs | |
| parent | d1283a6b55826175423bd382a859928e0f92ffe7 (diff) | |
feat(pr): generate pr event > oversized patch
but only for new proposals
Diffstat (limited to 'src/lib/client.rs')
| -rw-r--r-- | src/lib/client.rs | 26 |
1 files changed, 25 insertions, 1 deletions
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 | |||
| 31 | use mockall::*; | 31 | use mockall::*; |
| 32 | use nostr::{ | 32 | use nostr::{ |
| 33 | Event, | 33 | Event, |
| 34 | event::{TagKind, TagStandard}, | 34 | event::{TagKind, TagStandard, UnsignedEvent}, |
| 35 | filter::Alphabet, | 35 | filter::Alphabet, |
| 36 | nips::{nip01::Coordinate, nip19::Nip19Coordinate}, | 36 | nips::{nip01::Coordinate, nip19::Nip19Coordinate}, |
| 37 | signer::SignerBackend, | 37 | signer::SignerBackend, |
| @@ -814,6 +814,30 @@ pub async fn sign_event( | |||
| 814 | } | 814 | } |
| 815 | } | 815 | } |
| 816 | 816 | ||
| 817 | pub async fn sign_draft_event( | ||
| 818 | draft_event: UnsignedEvent, | ||
| 819 | signer: &Arc<dyn NostrSigner>, | ||
| 820 | description: String, | ||
| 821 | ) -> Result<nostr::Event> { | ||
| 822 | if signer.backend() == SignerBackend::NostrConnect { | ||
| 823 | let term = console::Term::stderr(); | ||
| 824 | term.write_line(&format!( | ||
| 825 | "signing event ({description}) with remote signer..." | ||
| 826 | ))?; | ||
| 827 | let event = signer | ||
| 828 | .sign_event(draft_event) | ||
| 829 | .await | ||
| 830 | .context("failed to sign event")?; | ||
| 831 | term.clear_last_lines(1)?; | ||
| 832 | Ok(event) | ||
| 833 | } else { | ||
| 834 | signer | ||
| 835 | .sign_event(draft_event) | ||
| 836 | .await | ||
| 837 | .context("failed to sign event") | ||
| 838 | } | ||
| 839 | } | ||
| 840 | |||
| 817 | pub async fn fetch_public_key(signer: &Arc<dyn NostrSigner>) -> Result<nostr::PublicKey> { | 841 | pub async fn fetch_public_key(signer: &Arc<dyn NostrSigner>) -> Result<nostr::PublicKey> { |
| 818 | if signer.backend() == SignerBackend::NostrConnect { | 842 | if signer.backend() == SignerBackend::NostrConnect { |
| 819 | let term = console::Term::stderr(); | 843 | let term = console::Term::stderr(); |