web3.js - get current provider
getProviderName = () => {
    let providerName = "UNKNOWN"
    if(window.web3.currentProvider.constructor.name === "MetamaskInpageProvider")        
        providerName = "METAMASK"
    else if(window.web3.currentProvider.constructor.name === "EthereumProvider")        
        providerName = "MIST"
    else if(window.web3.currentProvider.constructor.name === "o")        
        providerName = "PARITY"
    else if(window.web3.currentProvider.host.indexOf("infura")!==-1) 
        providerName = "INFURA"      
    else if(window.web3.currentProvider.host.indexOf("localhost")!==-1)  
        providerName ="LOCALHOST"
    return providerName
}
// via https://ethereum.stackexchange.com/questions/24266/elegant-way-to-detect-current-provider-int-web3-js