From 319cc2e6af11b66c17317087ceb110bb6b5d5d90 Mon Sep 17 00:00:00 2001 From: Danny Morabito Date: Thu, 20 Feb 2025 17:54:13 +0100 Subject: [PATCH] automatically restore from seed if a seed exists --- utils.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/utils.ts b/utils.ts index a42341e..1ec0095 100644 --- a/utils.ts +++ b/utils.ts @@ -40,9 +40,13 @@ export function randomTimeUpTo2DaysInThePast() { export async function getCCNPubkey(): Promise { const ccnPubPath = await getEveFilePath("ccn.pub"); + const seedPath = await getEveFilePath("ccn.seed"); const doWeHaveKey = await exists(ccnPubPath); if (doWeHaveKey) return Deno.readTextFileSync(ccnPubPath); - const ccnSeed = Deno.env.get("CCN_SEED") || nip06.generateSeedWords(); + const ccnSeed = Deno.env.get("CCN_SEED") || + ((await exists(seedPath)) + ? Deno.readTextFileSync(seedPath) + : nip06.generateSeedWords()); const ccnPrivateKey = nip06.privateKeyFromSeedWords(ccnSeed); const ccnPublicKey = nostrTools.getPublicKey(ccnPrivateKey); const encryptedPrivateKey = encryptUint8Array(ccnPrivateKey, encryptionKey); @@ -52,7 +56,7 @@ export async function getCCNPubkey(): Promise { await getEveFilePath("ccn.priv"), encodeBase64(encryptedPrivateKey), ); - Deno.writeTextFileSync(await getEveFilePath("ccn.seed"), ccnSeed); + Deno.writeTextFileSync(seedPath, ccnSeed); return ccnPublicKey; }