Merge pull request #806 from 0xProject/feature/website/mobile-readable-web3-names

Add detection logic for Toshi and Cipher
This commit is contained in:
Brandon Millman
2018-07-02 18:26:16 -07:00
committed by GitHub
4 changed files with 11 additions and 0 deletions

View File

@@ -326,6 +326,7 @@ export const utils = {
getProviderType(provider: Provider): Providers | string {
const constructorName = provider.constructor.name;
let parsedProviderName = constructorName;
// https://ethereum.stackexchange.com/questions/24266/elegant-way-to-detect-current-provider-int-web3-js
switch (constructorName) {
case 'EthereumProvider':
parsedProviderName = Providers.Mist;
@@ -339,6 +340,10 @@ export const utils = {
parsedProviderName = Providers.Parity;
} else if ((provider as any).isMetaMask) {
parsedProviderName = Providers.Metamask;
} else if (!_.isUndefined(_.get(window, 'SOFA'))) {
parsedProviderName = Providers.Toshi;
} else if (!_.isUndefined(_.get(window, '__CIPHER__'))) {
parsedProviderName = Providers.Cipher;
}
return parsedProviderName;
},