From 6be6b59b6f2a4b98898aea36e0b0c97e059227ca Mon Sep 17 00:00:00 2001 From: thePR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> Date: Tue, 1 Jul 2025 14:50:56 -0400 Subject: [PATCH] fix nostr client seed decrypt --- src/nostr/client.py | 8 +++++--- src/password_manager/manager.py | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/nostr/client.py b/src/nostr/client.py index d4872b9..e8fb4ce 100644 --- a/src/nostr/client.py +++ b/src/nostr/client.py @@ -46,15 +46,17 @@ class NostrClient: encryption_manager: EncryptionManager, fingerprint: str, relays: Optional[List[str]] = None, + parent_seed: Optional[str] = None, ) -> None: self.encryption_manager = encryption_manager self.fingerprint = fingerprint self.fingerprint_dir = self.encryption_manager.fingerprint_dir + if parent_seed is None: + parent_seed = self.encryption_manager.decrypt_parent_seed() + # Use our project's KeyManager to derive the private key - self.key_manager = KeyManager( - self.encryption_manager.decrypt_parent_seed(), fingerprint - ) + self.key_manager = KeyManager(parent_seed, fingerprint) # Create a nostr-sdk Keys object from our derived private key private_key_hex = self.key_manager.keys.private_key_hex() diff --git a/src/password_manager/manager.py b/src/password_manager/manager.py index 030c9e2..f0da803 100644 --- a/src/password_manager/manager.py +++ b/src/password_manager/manager.py @@ -370,6 +370,7 @@ class PasswordManager: self.nostr_client = NostrClient( encryption_manager=self.encryption_manager, fingerprint=self.current_fingerprint, + parent_seed=getattr(self, "parent_seed", None), ) logging.info( f"NostrClient re-initialized with seed profile {self.current_fingerprint}." @@ -756,6 +757,7 @@ class PasswordManager: encryption_manager=self.encryption_manager, fingerprint=self.current_fingerprint, relays=relay_list, + parent_seed=getattr(self, "parent_seed", None), ) logger.debug("Managers re-initialized for the new fingerprint.") @@ -1360,6 +1362,7 @@ class PasswordManager: encryption_manager=self.encryption_manager, fingerprint=self.current_fingerprint, relays=relay_list, + parent_seed=getattr(self, "parent_seed", None), ) print(colored("Master password changed successfully.", "green"))