From f0386cee96cccc1f4359fcedfd87b790c320ac88 Mon Sep 17 00:00:00 2001 From: Kelvin Jayanoris Date: Fri, 29 Jan 2021 11:44:05 +0300 Subject: [PATCH] Add support for array format in account import and export (#74) --- src/components/AddAccountDialog.js | 8 ++++++-- src/components/ExportAccountDialog.js | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/components/AddAccountDialog.js b/src/components/AddAccountDialog.js index 1ae67fe..a1d1abe 100644 --- a/src/components/AddAccountDialog.js +++ b/src/components/AddAccountDialog.js @@ -8,7 +8,6 @@ import FormControlLabel from '@material-ui/core/FormControlLabel'; import FormGroup from '@material-ui/core/FormGroup'; import Switch from '@material-ui/core/Switch'; import { Account } from '@solana/web3.js'; -import * as bs58 from 'bs58'; import DialogForm from './DialogForm'; export default function AddAccountDialog({ open, onAdd, onClose }) { @@ -83,9 +82,14 @@ export default function AddAccountDialog({ open, onAdd, onClose }) { ); } +/** + * Returns an account object when given the private key + * + * @param {string} privateKey - the private key in array format + */ function decodeAccount(privateKey) { try { - const a = new Account(bs58.decode(privateKey)); + const a = new Account(JSON.parse(privateKey)); return a; } catch (_) { return undefined; diff --git a/src/components/ExportAccountDialog.js b/src/components/ExportAccountDialog.js index fe8956e..0b05829 100644 --- a/src/components/ExportAccountDialog.js +++ b/src/components/ExportAccountDialog.js @@ -6,13 +6,13 @@ import DialogContent from '@material-ui/core/DialogContent'; import TextField from '@material-ui/core/TextField'; import FormControlLabel from '@material-ui/core/FormControlLabel'; import Switch from '@material-ui/core/Switch'; -import * as bs58 from 'bs58'; import DialogForm from './DialogForm'; import { useWallet } from '../utils/wallet'; export default function ExportAccountDialog({ open, onClose }) { const wallet = useWallet(); const [isHidden, setIsHidden] = useState(true); + const keyOutput = `[${Array.from(wallet.provider.account.secretKey)}]`; return ( @@ -24,7 +24,7 @@ export default function ExportAccountDialog({ open, onClose }) { type={isHidden && 'password'} variant="outlined" margin="normal" - value={bs58.encode(wallet.provider.account.secretKey)} + value={keyOutput} />