UNPKG

autsequi

Version:

Web3modal's provider layer abstraction for simple implementation of web3 wallet connections

44 lines (37 loc) 1.21 kB
import { IAbstractConnectorOptions, getChainId } from '../../helpers'; export interface IMewConnectConnectorOptions extends IAbstractConnectorOptions { infuraId?: string; rpc?: { [chainId: number]: string }; } const ConnectToMewConnect = ( MewConnectProvider: any, opts: IMewConnectConnectorOptions ) => { return new Promise(async (resolve, reject) => { let infuraId = ''; let rpc = undefined; let chainId = 1; if (opts) { infuraId = opts.infuraId || ''; rpc = opts.rpc || undefined; if (opts.infuraId && !rpc) { rpc = `wss://mainnet.infura.io/ws/v3/${infuraId}`; } chainId = opts.network && getChainId(opts.network) ? getChainId(opts.network) : 1; } if (!MewConnectProvider.Provider.isConnected) { const mewConnect = new MewConnectProvider.Provider(); const provider = mewConnect.makeWeb3Provider(chainId, rpc, true); mewConnect.on('disconnected', () => {}); try { const address = await mewConnect.enable(); console.log(address); // todo remove dev item resolve(provider); } catch (e) { reject(e); } } }); }; export default ConnectToMewConnect;