mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
fix issue where account import allows for duplicates
This commit is contained in:
parent
f162a11585
commit
3e8b584c98
@ -164,8 +164,11 @@ class KeyringController extends EventEmitter {
|
|||||||
return keyring.getAccounts()
|
return keyring.getAccounts()
|
||||||
})
|
})
|
||||||
.then((accounts) => {
|
.then((accounts) => {
|
||||||
|
return this.checkForDuplicate(type, accounts)
|
||||||
|
})
|
||||||
|
.then((checkedAccounts) => {
|
||||||
this.keyrings.push(keyring)
|
this.keyrings.push(keyring)
|
||||||
return this.setupAccounts(accounts)
|
return this.setupAccounts(checkedAccounts)
|
||||||
})
|
})
|
||||||
.then(() => this.persistAllKeyrings())
|
.then(() => this.persistAllKeyrings())
|
||||||
.then(() => this.fullUpdate())
|
.then(() => this.fullUpdate())
|
||||||
@ -175,6 +178,24 @@ class KeyringController extends EventEmitter {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For now just checks for simple key pairs
|
||||||
|
// but in the future
|
||||||
|
// should possibly add HD and other types
|
||||||
|
//
|
||||||
|
checkForDuplicate (type, newAccount) {
|
||||||
|
return this.getAccounts()
|
||||||
|
.then((accounts) => {
|
||||||
|
switch (type) {
|
||||||
|
case 'Simple Key Pair':
|
||||||
|
let isNotIncluded = !accounts.find((key) => key === newAccount[0] || key === ethUtil.stripHexPrefix(newAccount[0]))
|
||||||
|
return (isNotIncluded) ? Promise.resolve(newAccount) : Promise.reject(new Error('The account your are trying to import is a duplicate'))
|
||||||
|
default:
|
||||||
|
return Promise.resolve(newAccount)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Add New Account
|
// Add New Account
|
||||||
// @number keyRingNum
|
// @number keyRingNum
|
||||||
//
|
//
|
||||||
|
Loading…
Reference in New Issue
Block a user