aboutsummaryrefslogtreecommitdiffstats
path: root/ui/lib
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2017-06-13 04:27:04 +0800
committerGitHub <noreply@github.com>2017-06-13 04:27:04 +0800
commit27220b7bcd5ea1ebdae3bc1b494d28d9c828918c (patch)
treec9385fba3d742ca9cbfb9f3b4c6c9ef29c4f4a1b /ui/lib
parent57d1a1f1860e50837104a10b7b9f86d398c795ec (diff)
parent8af41f1b0539e70cf4c6e1f4a9f4b10ad13656fc (diff)
downloadtangerine-wallet-browser-27220b7bcd5ea1ebdae3bc1b494d28d9c828918c.tar
tangerine-wallet-browser-27220b7bcd5ea1ebdae3bc1b494d28d9c828918c.tar.gz
tangerine-wallet-browser-27220b7bcd5ea1ebdae3bc1b494d28d9c828918c.tar.bz2
tangerine-wallet-browser-27220b7bcd5ea1ebdae3bc1b494d28d9c828918c.tar.lz
tangerine-wallet-browser-27220b7bcd5ea1ebdae3bc1b494d28d9c828918c.tar.xz
tangerine-wallet-browser-27220b7bcd5ea1ebdae3bc1b494d28d9c828918c.tar.zst
tangerine-wallet-browser-27220b7bcd5ea1ebdae3bc1b494d28d9c828918c.zip
Merge branch 'master' into i#1203MainNetSwitch
Diffstat (limited to 'ui/lib')
-rw-r--r--ui/lib/account-link.js9
-rw-r--r--ui/lib/contract-namer.js12
-rw-r--r--ui/lib/explorer-link.js10
-rw-r--r--ui/lib/icon-factory.js40
-rw-r--r--ui/lib/tx-helper.js4
5 files changed, 47 insertions, 28 deletions
diff --git a/ui/lib/account-link.js b/ui/lib/account-link.js
index 77db0851d..d061d0ad1 100644
--- a/ui/lib/account-link.js
+++ b/ui/lib/account-link.js
@@ -1,7 +1,6 @@
module.exports = function (address, network) {
const net = parseInt(network)
let link
-
switch (net) {
case 1: // main net
link = `http://etherscan.io/address/${address}`
@@ -10,7 +9,13 @@ module.exports = function (address, network) {
link = `http://morden.etherscan.io/address/${address}`
break
case 3: // ropsten test net
- link = `http://testnet.etherscan.io/address/${address}`
+ link = `http://ropsten.etherscan.io/address/${address}`
+ break
+ case 4: // rinkeby test net
+ link = `http://rinkeby.etherscan.io/address/${address}`
+ break
+ case 42: // kovan test net
+ link = `http://kovan.etherscan.io/address/${address}`
break
default:
link = ''
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/explorer-link.js b/ui/lib/explorer-link.js
index dc6be2984..e11249551 100644
--- a/ui/lib/explorer-link.js
+++ b/ui/lib/explorer-link.js
@@ -5,8 +5,14 @@ module.exports = function (hash, network) {
case 1: // main net
prefix = ''
break
- case 3: // morden test net
- prefix = 'testnet.'
+ case 3: // ropsten test net
+ prefix = 'ropsten.'
+ break
+ case 4: // rinkeby test net
+ prefix = 'rinkeby.'
+ break
+ case 42: // kovan test net
+ prefix = 'kovan.'
break
default:
prefix = ''
diff --git a/ui/lib/icon-factory.js b/ui/lib/icon-factory.js
index 82cc839d6..45be47b7a 100644
--- a/ui/lib/icon-factory.js
+++ b/ui/lib/icon-factory.js
@@ -1,4 +1,7 @@
var iconFactory
+const isValidAddress = require('ethereumjs-util').isValidAddress
+const toChecksumAddress = require('ethereumjs-util').toChecksumAddress
+const contractMap = require('eth-contract-metadata')
module.exports = function (jazzicon) {
if (!iconFactory) {
@@ -12,22 +15,12 @@ function IconFactory (jazzicon) {
this.cache = {}
}
-IconFactory.prototype.iconForAddress = function (address, diameter, imageify) {
- if (imageify) {
- return this.generateIdenticonImg(address, diameter)
- } else {
- return this.generateIdenticonSvg(address, diameter)
+IconFactory.prototype.iconForAddress = function (address, diameter) {
+ const addr = toChecksumAddress(address)
+ if (iconExistsFor(addr)) {
+ return imageElFor(addr)
}
-}
-
-// returns img dom element
-IconFactory.prototype.generateIdenticonImg = function (address, diameter) {
- var identicon = this.generateIdenticonSvg(address, diameter)
- var identiconSrc = identicon.innerHTML
- var dataUri = toDataUri(identiconSrc)
- var img = document.createElement('img')
- img.src = dataUri
- return img
+ return this.generateIdenticonSvg(address, diameter)
}
// returns svg dom element
@@ -49,12 +42,23 @@ IconFactory.prototype.generateNewIdenticon = function (address, diameter) {
// util
+function iconExistsFor (address) {
+ return (contractMap.address) && isValidAddress(address) && (contractMap[address].logo)
+}
+
+function imageElFor (address) {
+ const contract = contractMap[address]
+ const fileName = contract.logo
+ const path = `images/contract/${fileName}`
+ const img = document.createElement('img')
+ img.src = path
+ img.style.width = '100%'
+ return img
+}
+
function jsNumberForAddress (address) {
var addr = address.slice(2, 10)
var seed = parseInt(addr, 16)
return seed
}
-function toDataUri (identiconSrc) {
- return 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(identiconSrc)
-}
diff --git a/ui/lib/tx-helper.js b/ui/lib/tx-helper.js
index 2eefdff68..ec19daf64 100644
--- a/ui/lib/tx-helper.js
+++ b/ui/lib/tx-helper.js
@@ -4,7 +4,7 @@ module.exports = function (unapprovedTxs, unapprovedMsgs, personalMsgs, network)
log.debug('tx-helper called with params:')
log.debug({ unapprovedTxs, unapprovedMsgs, personalMsgs, network })
- const txValues = network ? valuesFor(unapprovedTxs).filter(tx => tx.txParams.metamaskNetworkId === network) : valuesFor(unapprovedTxs)
+ const txValues = network ? valuesFor(unapprovedTxs).filter(txMeta => txMeta.metamaskNetworkId === network) : valuesFor(unapprovedTxs)
log.debug(`tx helper found ${txValues.length} unapproved txs`)
const msgValues = valuesFor(unapprovedMsgs)
log.debug(`tx helper found ${msgValues.length} unsigned messages`)
@@ -13,5 +13,5 @@ module.exports = function (unapprovedTxs, unapprovedMsgs, personalMsgs, network)
log.debug(`tx helper found ${personalValues.length} unsigned personal messages`)
allValues = allValues.concat(personalValues)
- return allValues.sort(tx => tx.time)
+ return allValues.sort(txMeta => txMeta.time)
}