import { WalletConnectConnector } from "@web3-react/walletconnect-connector"; He usado esto para conectar walletconnect a través del código QR y usé useWeb3React para conectarme a wallet.
La extensión Metamask funciona bien pero no puede usar walletconnect para transacciones.
const alchemyKey = process.env.REACT_APP_ALCHEMY_KEY; const { createAlchemyWeb3 } = require("@alch/alchemy-web3"); var web3 = createAlchemyWeb3(alchemyKey); const transactionParameters = [ { method: "eth_sendTransaction", params: [ { to: contractAddress, // Required except during contract publications. from: acct, // must match user's active address. data: window.contract.methods.mintNFT(acct, tokenURI).encodeABI(), //make call to NFT smart contract }, ], }, ]; await web3.eth .sendTransaction(transactionParameters) .on("receipt", (receipt) => { console.log(receipt, "receipt"); }) .on("transactionHash", (hash) => { console.log(hash, "hash"); }) .on("error", (err) => { console.log(err, "error"); });Lo anterior funciona bien con la extensión metamask pero no con Walletconnect .
Creo que el problema es con su proveedor web3. Intente obtener el proveedor web3 de useWeb3React.
p.ej:
const provider = connector.getProvider(); const web3 = new Web3(provider)