title: issue when interacting with Trust Wallet
body: <p>I'm developing a dApp using web3 library. In some case the user has to decide how they want to connect, either MetaMask or WalletConnect.</p>
  <p>So, when the user decides to connect with WalletConnect there is no problem with the connection itself but I have an issue when I want to interact with Smart Contract. Suppose I want to approve to user amount for stake or check the balance.</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>export const schooseProvider = provider =&gt; {
  // debugger
  console.log("schooseProvider: ", provider );
      if(provider === "MetaMask"){ 
          console.log("Selected Provider: ", window.ethereum)
          W3 = new Web3(window.ethereum) 
      }
      else if(provider === "WalletConnect"){
         const provider = new WalletConnectProvider({
          infuraId: '20c6beb49cd1402db84120a858bc74af',
          bridge: 'https://bridge.walletconnect.org',
          supportedChainIds,
          rpc: {
              3: 'https://ropsten.infura.io/v3/20c6beb49cd1402db84120a858bc74af'
              }
          })
          console.log("Selected Provider: ", provider)
          W3 = new Web3(provider)
      }
  }
  
  export const approve = async (account) =&gt; {
      try{
          store.dispatch(updateAproveButtonsLoader(true))
          await contract.methods.approve(stakeAddress,'10000000000000000000000000000000000000000000000000').send({from: account})
          .once('receipt', function(receipt){
              store.dispatch(updateApproveButtonsLoader(false))
              store.dispatch(updateApproved(true))
              checkAllowence(account)
          })
          .on('error', () =&gt; {
              store.dispatch(updateApproveButtonsLoader(false))
          })
      }
      catch(error){
          store.dispatch(updateApproveButtonsLoader(false))
          console.log(error)
      }
  }</code></pre>
  </div>
  </div>
  </p>