aboutsummaryrefslogtreecommitdiffstats
path: root/packages/instant/src/util/injected_provider.ts
blob: 40f9e2da5858f03a49e6c45e4228a676a9643c00 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import { Provider } from 'ethereum-types';
import * as _ from 'lodash';

export const getInjectedProvider = (): Provider => {
    const injectedProviderIfExists = (window as any).ethereum;
    if (!_.isUndefined(injectedProviderIfExists)) {
        // TODO: call enable here when implementing wallet connection flow
        return injectedProviderIfExists;
    }
    const injectedWeb3IfExists = (window as any).web3;
    if (!_.isUndefined(injectedWeb3IfExists.currentProvider)) {
        return injectedWeb3IfExists.currentProvider;
    } else {
        throw new Error(`No injected web3 found`);
    }
};