diff --git a/webapp/src/components/Vmpxswap/index.js b/webapp/src/components/Vmpxswap/index.js index e4ee704..74b03b0 100644 --- a/webapp/src/components/Vmpxswap/index.js +++ b/webapp/src/components/Vmpxswap/index.js @@ -45,7 +45,7 @@ const Vmpxswap = () => { const connectMetaMask = async () => { try { - const { ethereum } = window + const ethereum = window.ethereum || window.web3.currentProvider if (!ethereum) { showMessage({ @@ -59,23 +59,19 @@ const Vmpxswap = () => { // Detecta si el usuario está en un dispositivo móvil const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent) - if (isMobile) { - // Si el usuario está en un dispositivo móvil, abre la aplicación Metamask - window.location.href = 'metamask:' - } else { - // Si el usuario no está en un dispositivo móvil, procede como antes - await setSpecificChainMetaMask(ethereum) + if (isMobile) window.location.href = 'metamask:' - const accounts = await ethereum.request({ - method: 'eth_requestAccounts' - }) + await setSpecificChainMetaMask(ethereum) - showMessage({ - type: 'success', - content: `Connected to address: ${accounts[0]}` - }) - setState({ param: 'ethAccountAddress', ethAccountAddress: accounts[0] }) - } + const accounts = await ethereum.request({ + method: 'eth_requestAccounts' + }) + + showMessage({ + type: 'success', + content: `Connected to address: ${accounts[0]}` + }) + setState({ param: 'ethAccountAddress', ethAccountAddress: accounts[0] }) } catch (error) { if (error.message.includes('User rejected the request')) { console.log( @@ -89,24 +85,20 @@ const Vmpxswap = () => { const checkIfMetaMaskIsConnected = async () => { try { - const ethereum = window.ethereum + const ethereum = window.ethereum || window.web3.currentProvider if (ethereum) { // Detecta si el usuario está en un dispositivo móvil const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent) - if (isMobile) { - // Si el usuario está en un dispositivo móvil, abre la aplicación Metamask - window.location.href = 'metamask:' - } else { - // Si el usuario no está en un dispositivo móvil, procede como antes - await setSpecificChainMetaMask(ethereum) + if (isMobile) window.location.href = 'metamask:' - const accounts = await ethereum.enable() - const account = accounts[0] + await setSpecificChainMetaMask(ethereum) - setState({ param: 'ethAccountAddress', ethAccountAddress: account }) - } + const accounts = await ethereum.enable() + const account = accounts[0] + + setState({ param: 'ethAccountAddress', ethAccountAddress: account }) } else { showMessage({ type: 'warning',