{"version":3,"sources":["../src/index.ts","../src/context/WalletProvider.tsx","../src/connectors/metaMask.ts","../src/connectors/network.ts","../src/chains.ts","../src/connectors/walletConnect.ts","../src/hooks/useWallets.ts","../src/types/index.ts"],"sourcesContent":["import WalletProvider, { SUPPORTED_WALLETS } from './context/WalletProvider'\nimport { useWeb3React } from '@web3-react/core'\nimport { useWallets } from './hooks/useWallets'\nimport { Wallet } from './types'\nimport { getAddChainParametersfromNetworkName, getAddChainParameters } from './chains'\n\nexport {\n  WalletProvider,\n  SUPPORTED_WALLETS,\n  useWeb3React,\n  Wallet,\n  useWallets,\n  getAddChainParametersfromNetworkName,\n  getAddChainParameters,\n}\n","import { Web3ReactHooks, Web3ReactProvider } from '@web3-react/core'\nimport { MetaMask } from '@web3-react/metamask'\nimport { Network } from '@web3-react/network'\nimport { WalletConnect } from '@web3-react/walletconnect'\nimport React, { useMemo, useEffect, useState } from 'react'\nimport { Wallet } from '..'\nimport { hooks as metaMaskHooks, metaMask } from '../connectors/metaMask'\nimport { hooks as networkHooks, network } from '../connectors/network'\nimport { hooks as walletConnectHooks, walletConnect } from '../connectors/walletConnect'\nimport { WalletInfo } from '../types'\n\nexport const initialConnectors: [MetaMask | WalletConnect | Network, Web3ReactHooks][] = [\n  [network, networkHooks],\n  [metaMask, metaMaskHooks],\n  [walletConnect, walletConnectHooks],\n]\n\nexport const SUPPORTED_WALLETS: { [key: string]: WalletInfo } = {\n  METAMASK: {\n    connector: metaMask,\n    hooks: metaMaskHooks,\n    wallet: Wallet.METAMASK,\n    name: 'MetaMask',\n  },\n  WALLET_CONNECT: {\n    connector: walletConnect,\n    hooks: walletConnectHooks,\n    wallet: Wallet.WALLET_CONNECT,\n    name: 'WalletConnect',\n    mobile: true,\n  },\n}\nexport interface IWalletContext {\n  setSelectedWallet: (Wallet: Wallet) => void\n  selectedWallet: Wallet | undefined\n}\n\nexport const WalletContext = React.createContext<IWalletContext>({\n  setSelectedWallet: () => {},\n  selectedWallet: undefined,\n})\n\nexport default function ProviderExample({ children }: any) {\n  const [selectedWallet, setSelectedWallet] = useState<Wallet>()\n  const connectors = useMemo(() => {\n    if (!selectedWallet) return initialConnectors\n\n    const connectorList: [MetaMask | WalletConnect | Network, Web3ReactHooks][] = []\n    if (selectedWallet) {\n      const wallet = SUPPORTED_WALLETS[selectedWallet]\n      connectorList.push([wallet.connector, wallet.hooks])\n    }\n    Object.keys(SUPPORTED_WALLETS)\n      .filter((wallet) => wallet !== selectedWallet)\n      .forEach((ele) => {\n        const wallet = SUPPORTED_WALLETS[ele]\n        connectorList.push([wallet.connector, wallet.hooks])\n      })\n    connectorList.push([network, networkHooks])\n    return connectorList\n  }, [selectedWallet])\n\n  useEffect(() => {\n    network.activate()\n  }, [])\n\n  return (\n    <WalletContext.Provider value={{ selectedWallet, setSelectedWallet }}>\n      <Web3ReactProvider connectors={connectors}>{children}</Web3ReactProvider>\n    </WalletContext.Provider>\n  )\n}\n","import { initializeConnector } from '@web3-react/core'\nimport { MetaMask } from '@web3-react/metamask'\n\nexport const [metaMask, hooks] = initializeConnector<MetaMask>((actions) => new MetaMask({ actions }))\n","import { initializeConnector } from '@web3-react/core'\nimport { Network } from '@web3-react/network'\nimport { URLS } from '../chains'\n\nexport const [network, hooks] = initializeConnector<Network>((actions) => new Network({ actions, urlMap: URLS }))\n","import type { AddEthereumChainParameter } from '@web3-react/types'\n\nconst INFURA_KEY = process.env.REACT_APP_INFURA_KEY ? process.env.REACT_APP_INFURA_KEY : process.env.INFURA_KEY\n\nconst ALCHEMY_KEY = process.env.REACT_APP_ALCHEMY_KEY ? process.env.REACT_APP_ALCHEMY_KEY : process.env.ALCHEMY_KEY\n\nconst ETH: AddEthereumChainParameter['nativeCurrency'] = {\n  name: 'Ether',\n  symbol: 'ETH',\n  decimals: 18,\n}\n\nconst MATIC: AddEthereumChainParameter['nativeCurrency'] = {\n  name: 'Matic',\n  symbol: 'MATIC',\n  decimals: 18,\n}\nconst AVAX: AddEthereumChainParameter['nativeCurrency'] = {\n  name: 'Avax',\n  symbol: 'AVAX',\n  decimals: 18,\n}\nconst BNB: AddEthereumChainParameter['nativeCurrency'] = {\n  name: 'Binance Coin',\n  symbol: 'BNB',\n  decimals: 18,\n}\n\nconst GLMR: AddEthereumChainParameter['nativeCurrency'] = {\n  name: 'Glimmer',\n  symbol: 'GLMR',\n  decimals: 18,\n}\nconst MOVR: AddEthereumChainParameter['nativeCurrency'] = {\n  name: 'Moonriver',\n  symbol: 'MOVR',\n  decimals: 18,\n}\nconst METIS: AddEthereumChainParameter['nativeCurrency'] = {\n  name: 'Metis',\n  symbol: 'METIS',\n  decimals: 18,\n}\ninterface BasicChainInformation {\n  urls: (string | undefined)[]\n  name: string\n}\n\nexport enum NetworkName {\n  ETHEREUM = 'ethereum',\n  AVALANCHE = 'avalanche',\n  BINANCE = 'bsc',\n  MOONBEAM = 'moonbeam',\n  MOONRIVER = 'moonriver',\n  METIS = 'metis',\n  OPTIMISM = 'optimism',\n  POLYGON = 'polygon',\n}\n\ninterface ExtendedChainInformation extends BasicChainInformation {\n  nativeCurrency: AddEthereumChainParameter['nativeCurrency']\n  blockExplorerUrls: AddEthereumChainParameter['blockExplorerUrls']\n}\n\nfunction isExtendedChainInformation(\n  chainInformation: BasicChainInformation | ExtendedChainInformation,\n): chainInformation is ExtendedChainInformation {\n  return !!(chainInformation as ExtendedChainInformation).nativeCurrency\n}\n\nexport function getAddChainParameters(chainId: number): AddEthereumChainParameter | number {\n  const chainInformation = CHAINS[chainId]\n  if (isExtendedChainInformation(chainInformation)) {\n    return {\n      chainId,\n      chainName: chainInformation.name,\n      nativeCurrency: chainInformation.nativeCurrency,\n      rpcUrls: chainInformation.urls as any,\n      blockExplorerUrls: chainInformation.blockExplorerUrls,\n    }\n  } else {\n    return chainId\n  }\n}\n\nconst NetworkChainMap: { [key in NetworkName]: number } = {\n  ethereum: 1,\n  avalanche: 43114,\n  bsc: 56,\n  moonbeam: 1284,\n  moonriver: 1285,\n  metis: 1088,\n  optimism: 10,\n  polygon: 137,\n}\n\nexport const CHAINS: { [chainId: number]: BasicChainInformation | ExtendedChainInformation } = {\n  1: {\n    urls: [\n      INFURA_KEY ? `https://mainnet.infura.io/v3/${INFURA_KEY}` : undefined,\n      ALCHEMY_KEY ? `https://eth-mainnet.alchemyapi.io/v2/${ALCHEMY_KEY}` : undefined,\n      'https://cloudflare-eth.com',\n    ].filter((url) => url !== undefined),\n    name: 'Mainnet',\n  },\n  3: {\n    urls: [INFURA_KEY ? `https://ropsten.infura.io/v3/${INFURA_KEY}` : undefined].filter((url) => url !== undefined),\n    name: 'Ropsten',\n  },\n  4: {\n    urls: [INFURA_KEY ? `https://rinkeby.infura.io/v3/${INFURA_KEY}` : undefined].filter((url) => url !== undefined),\n    name: 'Rinkeby',\n  },\n  5: {\n    urls: [INFURA_KEY ? `https://goerli.infura.io/v3/${INFURA_KEY}` : undefined].filter((url) => url !== undefined),\n    name: 'Görli',\n  },\n  42: {\n    urls: [INFURA_KEY ? `https://kovan.infura.io/v3/${INFURA_KEY}` : undefined].filter((url) => url !== undefined),\n    name: 'Kovan',\n  },\n  // Optimism\n  10: {\n    urls: [\n      INFURA_KEY ? `https://optimism-mainnet.infura.io/v3/${INFURA_KEY}` : undefined,\n      'https://mainnet.optimism.io',\n    ].filter((url) => url !== undefined),\n    name: 'Optimism',\n    nativeCurrency: ETH,\n    blockExplorerUrls: ['https://optimistic.etherscan.io'],\n  },\n  69: {\n    urls: [\n      INFURA_KEY ? `https://optimism-kovan.infura.io/v3/${INFURA_KEY}` : undefined,\n      'https://kovan.optimism.io',\n    ].filter((url) => url !== undefined),\n    name: 'Optimism Kovan',\n    nativeCurrency: ETH,\n    blockExplorerUrls: ['https://kovan-optimistic.etherscan.io'],\n  },\n  // Arbitrum\n  42161: {\n    urls: [\n      INFURA_KEY ? `https://arbitrum-mainnet.infura.io/v3/${INFURA_KEY}` : undefined,\n      'https://arb1.arbitrum.io/rpc',\n    ].filter((url) => url !== undefined),\n    name: 'Arbitrum One',\n    nativeCurrency: ETH,\n    blockExplorerUrls: ['https://arbiscan.io'],\n  },\n  421611: {\n    urls: [\n      INFURA_KEY ? `https://arbitrum-rinkeby.infura.io/v3/${INFURA_KEY}` : undefined,\n      'https://rinkeby.arbitrum.io/rpc',\n    ].filter((url) => url !== undefined),\n    name: 'Arbitrum Testnet',\n    nativeCurrency: ETH,\n    blockExplorerUrls: ['https://testnet.arbiscan.io'],\n  },\n  // Polygon\n  137: {\n    urls: [\n      INFURA_KEY ? `https://polygon-mainnet.infura.io/v3/${INFURA_KEY}` : undefined,\n      'https://polygon-rpc.com',\n    ].filter((url) => url !== undefined),\n    name: 'Polygon Mainnet',\n    nativeCurrency: MATIC,\n    blockExplorerUrls: ['https://polygonscan.com'],\n  },\n  80001: {\n    urls: [INFURA_KEY ? `https://polygon-mumbai.infura.io/v3/${INFURA_KEY}` : undefined].filter(\n      (url) => url !== undefined,\n    ),\n    name: 'Polygon Mumbai',\n    nativeCurrency: MATIC,\n    blockExplorerUrls: ['https://mumbai.polygonscan.com'],\n  },\n  43114: {\n    urls: ['https://api.avax.network/ext/bc/C/rpc'].filter((url) => url !== undefined),\n    name: 'Avalanche',\n    nativeCurrency: AVAX,\n    blockExplorerUrls: ['https://snowtrace.io'],\n  },\n\n  56: {\n    urls: ['https://bsc-dataseed.binance.org'].filter((url) => url !== undefined),\n    name: 'Binance',\n    nativeCurrency: BNB,\n    blockExplorerUrls: ['https://bscscan.com'],\n  },\n  1284: {\n    urls: ['https://rpc.api.moonbeam.network'].filter((url) => url !== undefined),\n    name: 'Glimmer',\n    nativeCurrency: GLMR,\n    blockExplorerUrls: ['https://moonbeam.moonscan.io'],\n  },\n  1285: {\n    urls: ['https://rpc.moonriver.moonbeam.network'].filter((url) => url !== undefined),\n    name: 'Moonriver',\n    nativeCurrency: MOVR,\n    blockExplorerUrls: ['https://moonriver.moonscan.io'],\n  },\n  1088: {\n    urls: ['https://andromeda.metis.io/?owner=1088'].filter((url) => url !== undefined),\n    name: 'Metis',\n    nativeCurrency: METIS,\n    blockExplorerUrls: ['https://andromeda-explorer.metis.io'],\n  },\n}\n\nexport const URLS: { [chainId: number]: string[] } = Object.keys(CHAINS).reduce<{ [chainId: number]: string[] }>(\n  (accumulator, chainId) => {\n    const validURLs: string[] = CHAINS[Number(chainId)].urls as any\n\n    if (validURLs.length) {\n      accumulator[Number(chainId)] = validURLs\n    }\n\n    return accumulator\n  },\n  {},\n)\nexport const getAddChainParametersfromNetworkName = (network: NetworkName): AddEthereumChainParameter | number => {\n  const chainId = NetworkChainMap[network]\n  return getAddChainParameters(chainId)\n}\n","import { initializeConnector } from '@web3-react/core'\nimport { WalletConnect } from '@web3-react/walletconnect'\nimport { URLS } from '../chains'\n\nexport const [walletConnect, hooks] = initializeConnector<WalletConnect>(\n  (actions) =>\n    new WalletConnect({\n      actions,\n      options: {\n        rpc: URLS,\n      },\n    }),\n)\n","import { useContext } from 'react'\nimport { WalletContext } from '../context/WalletProvider'\n\nexport function useWallets() {\n  const context = useContext(WalletContext)\n  if (context === undefined) {\n    throw new Error('useWallet must be used within a useWalletsProvider')\n  }\n  return context\n}\n","import { Web3ReactHooks } from '@web3-react/core'\nimport { MetaMask } from '@web3-react/metamask'\nimport { Network } from '@web3-react/network'\nimport { WalletConnect } from '@web3-react/walletconnect'\n\nexport enum Wallet {\n  INJECTED = 'INJECTED',\n  METAMASK = 'METAMASK',\n  COINBASE_WALLET = 'COINBASE_WALLET',\n  WALLET_CONNECT = 'WALLET_CONNECT',\n  FORTMATIC = 'FORTMATIC',\n  NETWORK = 'NETWORK',\n  GNOSIS_SAFE = 'GNOSIS_SAFE',\n}\n\nexport interface WalletInfo {\n  connector: MetaMask | WalletConnect | Network\n  hooks: Web3ReactHooks\n  wallet: Wallet\n  name: string\n  mobile?: true\n}\n"],"mappings":"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","names":[]}