From d3898cf900962bab6ba33e742cc66d40e59ff9fd Mon Sep 17 00:00:00 2001 From: Moody Salem Date: Thu, 6 May 2021 10:09:41 -0400 Subject: [PATCH] fix(wallet): workaround for coinbase wallet / fortmatic --- src/utils/getLibrary.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/utils/getLibrary.ts b/src/utils/getLibrary.ts index 07eac27ebd..6d0e5674c5 100644 --- a/src/utils/getLibrary.ts +++ b/src/utils/getLibrary.ts @@ -1,14 +1,17 @@ import { Web3Provider } from '@ethersproject/providers' +import { Web3ReactContextInterface } from '@web3-react/core/dist/types' -export default function getLibrary(provider: any): Web3Provider { +export default function getLibrary( + provider: any, + connector?: Required['connector'] +): Web3Provider { + // todo: need to add types to this function and fix the issue with latest version of ethers not able to detect network if we pass in 'any' + const chainId = + provider?.chainId ?? connector?.supportedChainIds?.length === 1 ? connector?.supportedChainIds?.[0] : undefined // latest ethers version tries to detect the network which fails const library = new Web3Provider( provider, - typeof provider.chainId === 'number' - ? provider.chainId - : typeof provider.chainId === 'string' - ? parseInt(provider.chainId) - : 'any' + typeof chainId === 'number' ? chainId : typeof chainId === 'string' ? parseInt(chainId) : 'any' ) library.pollingInterval = 15000 return library