mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Fix parsing of seed phrases on import and restore (#8721)
This commit is contained in:
parent
c6b77c9734
commit
b9028397cb
@ -31,23 +31,7 @@ export default class ImportWithSeedPhrase extends PureComponent {
|
|||||||
termsChecked: false,
|
termsChecked: false,
|
||||||
}
|
}
|
||||||
|
|
||||||
parseSeedPhrase = (seedPhrase) => {
|
parseSeedPhrase = (seedPhrase) => (seedPhrase || '').trim().toLowerCase().match(/\w+/gu)?.join(' ') || ''
|
||||||
if (!seedPhrase) {
|
|
||||||
return ''
|
|
||||||
}
|
|
||||||
|
|
||||||
const trimmed = seedPhrase.trim()
|
|
||||||
if (!trimmed) {
|
|
||||||
return ''
|
|
||||||
}
|
|
||||||
|
|
||||||
const words = trimmed.toLowerCase().match(/\w+/g)
|
|
||||||
if (!words) {
|
|
||||||
return ''
|
|
||||||
}
|
|
||||||
|
|
||||||
return words.join(' ')
|
|
||||||
}
|
|
||||||
|
|
||||||
UNSAFE_componentWillMount () {
|
UNSAFE_componentWillMount () {
|
||||||
this._onBeforeUnload = () => this.context.metricsEvent({
|
this._onBeforeUnload = () => this.context.metricsEvent({
|
||||||
@ -73,7 +57,7 @@ export default class ImportWithSeedPhrase extends PureComponent {
|
|||||||
|
|
||||||
if (seedPhrase) {
|
if (seedPhrase) {
|
||||||
const parsedSeedPhrase = this.parseSeedPhrase(seedPhrase)
|
const parsedSeedPhrase = this.parseSeedPhrase(seedPhrase)
|
||||||
const wordCount = parsedSeedPhrase.split(new RegExp('\\s')).length
|
const wordCount = parsedSeedPhrase.split(/\s/u).length
|
||||||
if (wordCount % 3 !== 0 || wordCount > 24 || wordCount < 12) {
|
if (wordCount % 3 !== 0 || wordCount > 24 || wordCount < 12) {
|
||||||
seedPhraseError = this.context.t('seedPhraseReq')
|
seedPhraseError = this.context.t('seedPhraseReq')
|
||||||
} else if (!validateMnemonic(parsedSeedPhrase)) {
|
} else if (!validateMnemonic(parsedSeedPhrase)) {
|
||||||
|
@ -33,16 +33,12 @@ class RestoreVaultPage extends Component {
|
|||||||
confirmPasswordError: null,
|
confirmPasswordError: null,
|
||||||
}
|
}
|
||||||
|
|
||||||
parseSeedPhrase = (seedPhrase) => {
|
parseSeedPhrase = (seedPhrase) => (seedPhrase || '').trim().toLowerCase().match(/\w+/gu)?.join(' ') || ''
|
||||||
return seedPhrase
|
|
||||||
.match(/\w+/g)
|
|
||||||
.join(' ')
|
|
||||||
}
|
|
||||||
|
|
||||||
handleSeedPhraseChange (seedPhrase) {
|
handleSeedPhraseChange (seedPhrase) {
|
||||||
let seedPhraseError = null
|
let seedPhraseError = null
|
||||||
|
|
||||||
const wordCount = this.parseSeedPhrase(seedPhrase).split(new RegExp('\\s')).length
|
const wordCount = this.parseSeedPhrase(seedPhrase).split(/\s/u).length
|
||||||
if (seedPhrase && (wordCount % 3 !== 0 || wordCount < 12 || wordCount > 24)) {
|
if (seedPhrase && (wordCount % 3 !== 0 || wordCount < 12 || wordCount > 24)) {
|
||||||
seedPhraseError = this.context.t('seedPhraseReq')
|
seedPhraseError = this.context.t('seedPhraseReq')
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user