diff options
Diffstat (limited to 'responsive-ui/lib/icon-factory.js')
-rw-r--r-- | responsive-ui/lib/icon-factory.js | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/responsive-ui/lib/icon-factory.js b/responsive-ui/lib/icon-factory.js deleted file mode 100644 index 27a74de66..000000000 --- a/responsive-ui/lib/icon-factory.js +++ /dev/null @@ -1,65 +0,0 @@ -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) { - iconFactory = new IconFactory(jazzicon) - } - return iconFactory -} - -function IconFactory (jazzicon) { - this.jazzicon = jazzicon - this.cache = {} -} - -IconFactory.prototype.iconForAddress = function (address, diameter) { - const addr = toChecksumAddress(address) - if (iconExistsFor(addr)) { - return imageElFor(addr) - } - - return this.generateIdenticonSvg(address, diameter) -} - -// returns svg dom element -IconFactory.prototype.generateIdenticonSvg = function (address, diameter) { - var cacheId = `${address}:${diameter}` - // check cache, lazily generate and populate cache - var identicon = this.cache[cacheId] || (this.cache[cacheId] = this.generateNewIdenticon(address, diameter)) - // create a clean copy so you can modify it - var cleanCopy = identicon.cloneNode(true) - return cleanCopy -} - -// creates a new identicon -IconFactory.prototype.generateNewIdenticon = function (address, diameter) { - var numericRepresentation = jsNumberForAddress(address) - var identicon = this.jazzicon(diameter, numericRepresentation) - return identicon -} - -// 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 = '75%' - return img -} - -function jsNumberForAddress (address) { - var addr = address.slice(2, 10) - var seed = parseInt(addr, 16) - return seed -} - |