From acfe5a7faa1d798b995dfacec419a7fe28d2b487 Mon Sep 17 00:00:00 2001 From: philippe-ftx <62417741+philippe-ftx@users.noreply.github.com> Date: Wed, 11 Nov 2020 11:33:14 +0100 Subject: [PATCH] Logout (#31) * Logout ability * Logout for private key imports Co-authored-by: armaniferrante --- src/components/NavigationFrame.js | 8 ++++++++ src/utils/wallet-seed.js | 11 +++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/components/NavigationFrame.js b/src/components/NavigationFrame.js index 46a4963..e7e7dc8 100644 --- a/src/components/NavigationFrame.js +++ b/src/components/NavigationFrame.js @@ -9,9 +9,11 @@ import Menu from '@material-ui/core/Menu'; import MenuItem from '@material-ui/core/MenuItem'; import { clusterApiUrl } from '@solana/web3.js'; import { useWalletSelector } from '../utils/wallet'; +import { forgetWallet } from '../utils/wallet-seed'; import ListItemIcon from '@material-ui/core/ListItemIcon'; import CheckIcon from '@material-ui/icons/Check'; import AddIcon from '@material-ui/icons/Add'; +import ExitToApp from '@material-ui/icons/ExitToApp'; import AccountIcon from '@material-ui/icons/AccountCircle'; import Divider from '@material-ui/core/Divider'; import Hidden from '@material-ui/core/Hidden'; @@ -210,6 +212,12 @@ function WalletSelector() { Add Account + + + + + Logout + ); diff --git a/src/utils/wallet-seed.js b/src/utils/wallet-seed.js index c6e19be..91e45b5 100644 --- a/src/utils/wallet-seed.js +++ b/src/utils/wallet-seed.js @@ -130,3 +130,14 @@ function deriveImportsEncryptionKey(seed) { return bip32.fromSeed(Buffer.from(seed, 'hex')).derivePath("m/10016'/0") .privateKey; } + +export function forgetWallet() { + localStorage.removeItem('walletIndex'); + localStorage.removeItem('walletCount'); + localStorage.removeItem('walletPrivateKeyImports'); + localStorage.removeItem('locked'); + localStorage.removeItem('unlocked'); + sessionStorage.removeItem('unlocked'); + unlockedMnemonicAndSeed = { mnemonic: null, seed: null, importsEncryptionKey: null }; + walletSeedChanged.emit('change', unlockedMnemonicAndSeed); +}