aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2016-11-04 02:59:20 +0800
committerDan Finlay <dan@danfinlay.com>2016-11-04 02:59:20 +0800
commitbd2a429a85d27fc82e76115ec136640cbfecf9e1 (patch)
treea8f085a3ef359b69bc4f2f65e6c408514019c321
parent9ca3c57339571c43106306a6b4fadcfad40d3c19 (diff)
downloadtangerine-wallet-browser-bd2a429a85d27fc82e76115ec136640cbfecf9e1.tar.gz
tangerine-wallet-browser-bd2a429a85d27fc82e76115ec136640cbfecf9e1.tar.zst
tangerine-wallet-browser-bd2a429a85d27fc82e76115ec136640cbfecf9e1.zip
Fix account nicknaming bug
When nicknaming, we weren't normalizing the input, and so we were retrieving with differently formatted addresses than we were persisting.
-rw-r--r--app/scripts/keyring-controller.js5
-rw-r--r--app/scripts/lib/config-manager.js6
-rw-r--r--test/unit/keyring-controller-test.js11
3 files changed, 19 insertions, 3 deletions
diff --git a/app/scripts/keyring-controller.js b/app/scripts/keyring-controller.js
index 3bc9561e2..06c1e2761 100644
--- a/app/scripts/keyring-controller.js
+++ b/app/scripts/keyring-controller.js
@@ -250,7 +250,7 @@ module.exports = class KeyringController extends EventEmitter {
address,
name,
}
- this.saveAccountLabel(address, name)
+ return this.saveAccountLabel(address, name)
}
saveAccountLabel (account, label, cb) {
@@ -259,6 +259,8 @@ module.exports = class KeyringController extends EventEmitter {
configManager.setNicknameForWallet(address, label)
if (cb) {
cb(null, label)
+ } else {
+ return label
}
}
@@ -270,6 +272,7 @@ module.exports = class KeyringController extends EventEmitter {
data: k.serialize(),
}
})
+
return this.encryptor.encryptWithKey(this.key, serialized)
.then((encryptedString) => {
this.configManager.setVault(encryptedString)
diff --git a/app/scripts/lib/config-manager.js b/app/scripts/lib/config-manager.js
index 8f5590738..f50d95c12 100644
--- a/app/scripts/lib/config-manager.js
+++ b/app/scripts/lib/config-manager.js
@@ -269,13 +269,15 @@ ConfigManager.prototype.getWalletNicknames = function () {
}
ConfigManager.prototype.nicknameForWallet = function (account) {
+ const address = ethUtil.addHexPrefix(account.toLowerCase())
const nicknames = this.getWalletNicknames()
- return nicknames[account]
+ return nicknames[address]
}
ConfigManager.prototype.setNicknameForWallet = function (account, nickname) {
+ const address = ethUtil.addHexPrefix(account.toLowerCase())
const nicknames = this.getWalletNicknames()
- nicknames[account] = nickname
+ nicknames[address] = nickname
var data = this.getData()
data.walletNicknames = nicknames
this.setData(data)
diff --git a/test/unit/keyring-controller-test.js b/test/unit/keyring-controller-test.js
index 6656583e8..eed6af2c3 100644
--- a/test/unit/keyring-controller-test.js
+++ b/test/unit/keyring-controller-test.js
@@ -105,6 +105,17 @@ describe('KeyringController', function() {
})
})
+ describe('#saveAccountLabel', function() {
+ it ('sets the nickname', function() {
+ const account = addresses[0]
+ var nick = 'Test nickname'
+ const label = keyringController.saveAccountLabel(account, nick)
+ assert.equal(label, nick)
+
+ const persisted = keyringController.configManager.nicknameForWallet(account)
+ assert.equal(persisted, nick)
+ })
+ })
})