Merge pull request #1506 from 0xProject/feature/instant/opera-followups

[instant] Implement logging and friendly wallet name for Opera
This commit is contained in:
Francesco Agosti 2019-01-10 10:48:06 -08:00 committed by GitHub
commit 749312c0e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 3 deletions

View File

@ -74,5 +74,6 @@ export const PROVIDER_TYPE_TO_NAME: { [key in ProviderType]: string } = {
[ProviderType.CoinbaseWallet]: 'Coinbase Wallet',
[ProviderType.Parity]: 'Parity',
[ProviderType.TrustWallet]: 'Trust Wallet',
[ProviderType.Opera]: 'Opera Wallet',
[ProviderType.Fallback]: 'Fallback',
};

View File

@ -183,6 +183,7 @@ export enum ProviderType {
CoinbaseWallet = 'COINBASE_WALLET',
Cipher = 'CIPHER',
TrustWallet = 'TRUST_WALLET',
Opera = 'OPERA',
Fallback = 'FALLBACK',
}

View File

@ -42,18 +42,21 @@ export const envUtil = {
}
},
getProviderType(provider: Provider): ProviderType | undefined {
const anyProvider = provider as any;
if (provider.constructor.name === 'EthereumProvider') {
return ProviderType.Mist;
} else if ((provider as any).isTrust) {
} else if (anyProvider.isTrust) {
return ProviderType.TrustWallet;
} else if ((provider as any).isParity) {
} else if (anyProvider.isParity) {
return ProviderType.Parity;
} else if ((provider as any).isMetaMask) {
} else if (anyProvider.isMetaMask) {
return ProviderType.MetaMask;
} else if (!_.isUndefined(_.get(window, 'SOFA'))) {
return ProviderType.CoinbaseWallet;
} else if (!_.isUndefined(_.get(window, '__CIPHER__'))) {
return ProviderType.Cipher;
} else if (envUtil.getBrowser() === Browser.Opera && !anyProvider.isMetaMask) {
return ProviderType.Opera;
}
return;
},