UNPKG

autsequi

Version:

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

48 lines (43 loc) 1.21 kB
import { IAbstractConnectorOptions, getChainId } from '../../helpers'; export interface IWalletConnectConnectorOptions extends IAbstractConnectorOptions { infuraId?: string; rpc?: { [chainId: number]: string }; bridge?: string; qrcode?: boolean; } const ConnectToWalletConnect = ( WalletConnectProvider: any, opts: IWalletConnectConnectorOptions ) => { return new Promise(async (resolve, reject) => { let bridge = 'https://bridge.walletconnect.org'; let qrcode = true; let infuraId = ''; let rpc = undefined; let chainId = 1; console.log('wallet connect'); // todo remove dev item if (opts) { bridge = opts.bridge || bridge; qrcode = typeof opts.qrcode !== 'undefined' ? opts.qrcode : qrcode; infuraId = opts.infuraId || ''; rpc = opts.rpc || undefined; chainId = opts.network && getChainId(opts.network) ? getChainId(opts.network) : 1; } const provider = new WalletConnectProvider({ bridge, qrcode, infuraId, rpc, chainId, }); try { await provider.enable(); resolve(provider); } catch (e) { reject(e); } }); }; export default ConnectToWalletConnect;