diff --git a/packages/app-accounts/src/Creator.tsx b/packages/app-accounts/src/Creator.tsx index 56fc5a74f1..de4ecac09c 100644 --- a/packages/app-accounts/src/Creator.tsx +++ b/packages/app-accounts/src/Creator.tsx @@ -85,7 +85,7 @@ function rawValidate (seed: string): boolean { function addressFromSeed (phrase: string, derivePath: string, pairType: KeypairType): string { return keyring - .createFromUri(`${phrase}${derivePath}`, {}, pairType) + .createFromUri(`${phrase.trim()}${derivePath}`, {}, pairType) .address(); } @@ -346,13 +346,17 @@ class Creator extends React.PureComponent { let address = prevState.address; const deriveError = deriveValidate(derivePath, pairType); const isNameValid = !!name; - const isSeedValid = seedType === 'raw' + const isPassValid = keyring.isPassValid(password); + let isSeedValid = seedType === 'raw' ? rawValidate(seed) : mnemonicValidate(seed); - const isPassValid = keyring.isPassValid(password); if (!deriveError && isSeedValid && (seed !== prevState.seed || derivePath !== prevState.derivePath || pairType !== prevState.pairType)) { - address = addressFromSeed(seed, derivePath, pairType); + try { + address = addressFromSeed(seed, derivePath, pairType); + } catch (error) { + isSeedValid = false; + } } return {