mirror of
https://github.com/Routstr/routstr-core.git
synced 2026-08-09 02:54:37 +00:00
initialize() only filled npub when it was empty, so an existing node with a stale NSEC still lingering in its env/blob kept that value's derived npub even after the vault took ownership of a different nsec. The node then held the vault's private key but announced the old env key's public key — a split identity that anything reading settings.npub would broadcast. npub is a pure derivation of nsec and is never configured on its own, so derive it from the live (vault) nsec and override rather than only fill. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>