aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/keyring-controller.js
diff options
context:
space:
mode:
authorKevin Serrano <kevgagser@gmail.com>2017-03-09 01:35:51 +0800
committerKevin Serrano <kevgagser@gmail.com>2017-03-09 01:35:51 +0800
commit6fd3d6e0d0887ac01760b436be5dfabc89e28960 (patch)
tree42c6db90a39fb691f26ec8443bd18114ee7cff4d /app/scripts/keyring-controller.js
parent21769a008ccc5fdc2ac5d23a37d401a1d2a20694 (diff)
parent86f71d504cc3acd758958f883520fe913903a2c2 (diff)
downloadtangerine-wallet-browser-6fd3d6e0d0887ac01760b436be5dfabc89e28960.tar
tangerine-wallet-browser-6fd3d6e0d0887ac01760b436be5dfabc89e28960.tar.gz
tangerine-wallet-browser-6fd3d6e0d0887ac01760b436be5dfabc89e28960.tar.bz2
tangerine-wallet-browser-6fd3d6e0d0887ac01760b436be5dfabc89e28960.tar.lz
tangerine-wallet-browser-6fd3d6e0d0887ac01760b436be5dfabc89e28960.tar.xz
tangerine-wallet-browser-6fd3d6e0d0887ac01760b436be5dfabc89e28960.tar.zst
tangerine-wallet-browser-6fd3d6e0d0887ac01760b436be5dfabc89e28960.zip
Merge branch 'i1144-moarrpc' of github.com:MetaMask/metamask-plugin into i1144-moarrpc
Diffstat (limited to 'app/scripts/keyring-controller.js')
-rw-r--r--app/scripts/keyring-controller.js23
1 files changed, 22 insertions, 1 deletions
diff --git a/app/scripts/keyring-controller.js b/app/scripts/keyring-controller.js
index e1b1c4335..72f613641 100644
--- a/app/scripts/keyring-controller.js
+++ b/app/scripts/keyring-controller.js
@@ -164,8 +164,11 @@ class KeyringController extends EventEmitter {
return keyring.getAccounts()
})
.then((accounts) => {
+ return this.checkForDuplicate(type, accounts)
+ })
+ .then((checkedAccounts) => {
this.keyrings.push(keyring)
- return this.setupAccounts(accounts)
+ return this.setupAccounts(checkedAccounts)
})
.then(() => this.persistAllKeyrings())
.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 you\'re are trying to import is a duplicate'))
+ default:
+ return Promise.resolve(newAccount)
+ }
+ })
+ }
+
+
// Add New Account
// @number keyRingNum
//