diff options
author | kumavis <kumavis@users.noreply.github.com> | 2017-05-27 03:19:51 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-27 03:19:51 +0800 |
commit | 5e9274d4d507a555020765954e05cbf7c6ed8aa2 (patch) | |
tree | 4a684ff7245d75d008f417fb2bbd836497c42206 | |
parent | 3b253649a433f1f38fd86e0478f0b12592006776 (diff) | |
parent | 9d2844c7128c79314529e163b473353d42200e9c (diff) | |
download | tangerine-wallet-browser-5e9274d4d507a555020765954e05cbf7c6ed8aa2.tar tangerine-wallet-browser-5e9274d4d507a555020765954e05cbf7c6ed8aa2.tar.gz tangerine-wallet-browser-5e9274d4d507a555020765954e05cbf7c6ed8aa2.tar.bz2 tangerine-wallet-browser-5e9274d4d507a555020765954e05cbf7c6ed8aa2.tar.lz tangerine-wallet-browser-5e9274d4d507a555020765954e05cbf7c6ed8aa2.tar.xz tangerine-wallet-browser-5e9274d4d507a555020765954e05cbf7c6ed8aa2.tar.zst tangerine-wallet-browser-5e9274d4d507a555020765954e05cbf7c6ed8aa2.zip |
Merge pull request #1507 from MetaMask/AddContractIconMap
Add contract name map
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | package.json | 2 | ||||
-rw-r--r-- | ui/lib/contract-namer.js | 12 | ||||
-rw-r--r-- | ui/lib/icon-factory.js | 7 |
4 files changed, 14 insertions, 8 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index ca9cc6f5a..e050a7509 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - Now enforce 95% of block's gasLimit to protect users. - Removing provider-engine from the inpage provider. This fixes some error handling inconsistencies introduced in 3.7.0. - Some contracts will now display logos instead of jazzicons. +- Some contracts will now have names displayed in the confirmation view. ## 3.7.0 2017-5-23 diff --git a/package.json b/package.json index 9f47d76cb..9efba3866 100644 --- a/package.json +++ b/package.json @@ -62,11 +62,11 @@ "end-of-stream": "^1.1.0", "ensnare": "^1.0.0", "eth-bin-to-ops": "^1.0.1", + "eth-contract-metadata": "^1.0.0", "eth-hd-keyring": "^1.1.1", "eth-query": "^2.1.1", "eth-sig-util": "^1.1.1", "eth-simple-keyring": "^1.1.1", - "ethereum-contract-icons": "^1.0.0", "ethereumjs-tx": "^1.3.0", "ethereumjs-util": "ethereumjs/ethereumjs-util#ac5d0908536b447083ea422b435da27f26615de9", "ethereumjs-wallet": "^0.6.0", diff --git a/ui/lib/contract-namer.js b/ui/lib/contract-namer.js index a94c62b62..f05e770cc 100644 --- a/ui/lib/contract-namer.js +++ b/ui/lib/contract-namer.js @@ -5,14 +5,18 @@ * otherwise returns null. */ -// Nickname keys must be stored in lower case. -const nicknames = {} +const contractMap = require('eth-contract-metadata') +const ethUtil = require('ethereumjs-util') module.exports = function (addr, identities = {}) { + const checksummed = ethUtil.toChecksumAddress(addr) + if (contractMap[checksummed] && contractMap[checksummed].name) { + return contractMap[checksummed].name + } + const address = addr.toLowerCase() const ids = hashFromIdentities(identities) - - return addrFromHash(address, ids) || addrFromHash(address, nicknames) + return addrFromHash(address, ids) } function hashFromIdentities (identities) { diff --git a/ui/lib/icon-factory.js b/ui/lib/icon-factory.js index 4aed9109b..45be47b7a 100644 --- a/ui/lib/icon-factory.js +++ b/ui/lib/icon-factory.js @@ -1,7 +1,7 @@ var iconFactory const isValidAddress = require('ethereumjs-util').isValidAddress const toChecksumAddress = require('ethereumjs-util').toChecksumAddress -const iconMap = require('ethereum-contract-icons') +const contractMap = require('eth-contract-metadata') module.exports = function (jazzicon) { if (!iconFactory) { @@ -43,11 +43,12 @@ IconFactory.prototype.generateNewIdenticon = function (address, diameter) { // util function iconExistsFor (address) { - return (address in iconMap) && isValidAddress(address) + return (contractMap.address) && isValidAddress(address) && (contractMap[address].logo) } function imageElFor (address) { - const fileName = iconMap[address] + const contract = contractMap[address] + const fileName = contract.logo const path = `images/contract/${fileName}` const img = document.createElement('img') img.src = path |