From 762713692bb1e7fe18e34759a0cf329869e5b907 Mon Sep 17 00:00:00 2001 From: thesimplekid Date: Mon, 20 May 2024 11:46:16 +0100 Subject: [PATCH] feat: nostr_signing key as p2pk key --- crates/cdk/src/nuts/nut01/public_key.rs | 10 +++++++++- crates/cdk/src/wallet.rs | 7 +++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/crates/cdk/src/nuts/nut01/public_key.rs b/crates/cdk/src/nuts/nut01/public_key.rs index ad349d01..8615aca5 100644 --- a/crates/cdk/src/nuts/nut01/public_key.rs +++ b/crates/cdk/src/nuts/nut01/public_key.rs @@ -38,6 +38,14 @@ impl TryFrom for nostr_sdk::PublicKey { } } +#[cfg(feature = "nostr")] +impl TryFrom<&PublicKey> for nostr_sdk::PublicKey { + type Error = Error; + fn try_from(pubkey: &PublicKey) -> Result { + Ok(nostr_sdk::PublicKey::from_slice(&pubkey.to_bytes())?) + } +} + #[cfg(feature = "nostr")] impl TryFrom for PublicKey { type Error = Error; @@ -95,7 +103,7 @@ impl PublicKey { } #[inline] - pub fn x_only_pubkey(&self) -> XOnlyPublicKey { + pub fn x_only_public_key(&self) -> XOnlyPublicKey { self.inner.x_only_public_key().0 } diff --git a/crates/cdk/src/wallet.rs b/crates/cdk/src/wallet.rs index 82135b04..11f218ba 100644 --- a/crates/cdk/src/wallet.rs +++ b/crates/cdk/src/wallet.rs @@ -1176,7 +1176,7 @@ impl Wallet { let verifying_key = nostr_signing_key.public_key(); let nostr_pubkey = - nostr_sdk::PublicKey::from_hex(verifying_key.x_only_pubkey().to_string())?; + nostr_sdk::PublicKey::from_hex(verifying_key.x_only_public_key().to_string())?; let filter = match self .localstore @@ -1215,7 +1215,10 @@ impl Wallet { let mut total_received = Amount::ZERO; for token in tokens.iter() { - match self.receive(token, None, None).await { + match self + .receive(token, Some(vec![nostr_signing_key.clone()]), None) + .await + { Ok(amount) => total_received += amount, Err(err) => { tracing::error!("Could not receive token: {}", err);