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; }