import { useWeb3React } from '@web3-react/core'; import { providers } from 'ethers'; import { useContext, useMemo } from 'react'; import { MultichainContext } from '../../../contexts/MultichainProvider'; export default function useJsonRpcProvider(chainId?: number) { const { providers: multichainProviders } = useContext(MultichainContext); const { library, chainId: walletChainId } = useWeb3React(); return useMemo( () => (!chainId || walletChainId === chainId) && library ? new providers.Web3Provider(library.currentProvider) : multichainProviders[chainId], [library, chainId, walletChainId, multichainProviders] ); }