diff options
author | Dan Finlay <dan@danfinlay.com> | 2016-11-04 02:59:20 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2016-11-04 02:59:20 +0800 |
commit | bd2a429a85d27fc82e76115ec136640cbfecf9e1 (patch) | |
tree | a8f085a3ef359b69bc4f2f65e6c408514019c321 | |
parent | 9ca3c57339571c43106306a6b4fadcfad40d3c19 (diff) | |
download | tangerine-wallet-browser-bd2a429a85d27fc82e76115ec136640cbfecf9e1.tar tangerine-wallet-browser-bd2a429a85d27fc82e76115ec136640cbfecf9e1.tar.gz tangerine-wallet-browser-bd2a429a85d27fc82e76115ec136640cbfecf9e1.tar.bz2 tangerine-wallet-browser-bd2a429a85d27fc82e76115ec136640cbfecf9e1.tar.lz tangerine-wallet-browser-bd2a429a85d27fc82e76115ec136640cbfecf9e1.tar.xz 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.js | 5 | ||||
-rw-r--r-- | app/scripts/lib/config-manager.js | 6 | ||||
-rw-r--r-- | test/unit/keyring-controller-test.js | 11 |
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) + }) + }) }) |