From b81f60398a367414d513ba54000c14db9308909f Mon Sep 17 00:00:00 2001 From: Janek Rahrt Date: Thu, 2 Dec 2021 17:39:36 +0100 Subject: [PATCH] fix: resets --- packages/extension/src/background/index.ts | 3 ++- packages/extension/src/background/keys/l1.ts | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/extension/src/background/index.ts b/packages/extension/src/background/index.ts index 841b6a290..9818000cc 100644 --- a/packages/extension/src/background/index.ts +++ b/packages/extension/src/background/index.ts @@ -11,6 +11,7 @@ import { existsL1, getL1, getWallets, + resetAll, setKeystore, validatePassword, } from "./keys/l1" @@ -116,7 +117,7 @@ async function main() { } case "RESET_ALL": { - return browser.storage.local.clear() + return resetAll() } case "ADD_WHITELIST": { diff --git a/packages/extension/src/background/keys/l1.ts b/packages/extension/src/background/keys/l1.ts index 64a28c980..26f5ff120 100644 --- a/packages/extension/src/background/keys/l1.ts +++ b/packages/extension/src/background/keys/l1.ts @@ -32,7 +32,7 @@ export async function validatePassword(password: string) { let rawWalletTimeoutPid: number | undefined let rawWallet: ethers.Wallet | undefined -function setRawWallet(wallet: ethers.Wallet) { +function setRawWallet(wallet: ethers.Wallet | undefined) { rawWallet = wallet rawWalletTimeoutPid = setTimeout(() => { rawWallet = undefined @@ -40,6 +40,7 @@ function setRawWallet(wallet: ethers.Wallet) { } export async function setKeystore(keystore: string) { + setRawWallet(undefined) await store.setItem("encKeystore", keystore) } @@ -67,6 +68,7 @@ async function generateL1(): Promise { let recoverPromise: Promise | undefined export async function getL1(password: string): Promise { + console.log("getL1", rawWallet, await existsL1()) if (rawWallet) { return rawWallet } else if (await existsL1()) { @@ -74,6 +76,7 @@ export async function getL1(password: string): Promise { const recoveredWallet = await recoverPromise setRawWallet(recoveredWallet) const encKeyPair = JSON.parse((await store.getItem("encKeystore")) || "{}") + console.log("Set wallets", encKeyPair) store.setItem("wallets", encKeyPair.wallets ?? []) if ( (await selectedWalletStore.getItem("SELECTED_WALLET")).address === "" && @@ -169,3 +172,8 @@ export async function createAccount(password: string, networkId: string) { wallets, } } + +export async function resetAll() { + setRawWallet(undefined) + await browser.storage.local.clear() +}