aboutsummaryrefslogblamecommitdiffstats
path: root/ui/lib/contract-namer.js
blob: a94c62b620e5749f226e2e7dd461f88763767857 (plain) (tree)
1
2
3
4
5
6
7
8
9
10






                                           
                                              

                    
                                                   


                                            


                                                                       
                                          
                   
                                 
                                      
   

               
 
                                    

                                    
 
/* CONTRACT NAMER
 *
 * Takes an address,
 * Returns a nicname if we have one stored,
 * otherwise returns null.
 */

// Nickname keys must be stored in lower case.
const nicknames = {}

module.exports = function (addr, identities = {}) {
  const address = addr.toLowerCase()
  const ids = hashFromIdentities(identities)

  return addrFromHash(address, ids) || addrFromHash(address, nicknames)
}

function hashFromIdentities (identities) {
  const result = {}
  for (const key in identities) {
    result[key] = identities[key].name
  }
  return result
}

function addrFromHash (addr, hash) {
  const address = addr.toLowerCase()
  return hash[address] || null
}