I think there is a problem with moralis walletconnect or maybe am not doing something right

Step one: GO to a non ethereum browser
2: Connect with wallet connect
3: try to call a contract
4: it does not work

i also tried what you gave in the link it still doesnt work
I taught you tested it on your own side

The only time it works is when am using it in a wallet dapp like alpha wallet

but doesnt work on meta mask

Do you mean it doesn’t work with Metamask if you use it from WalletConnect?

yes sir , i doesnt work

Thank you. I’ll let you know when it gets fixed.

Hi did you found a solution for this ?
Because I’m creating an NFT marketplace on moralis.
But the major issue I’m facing is calling contract send methods.
Only approve seem to work . Other than that signature or any other method doesn’t work on wallet connect mobile

Hi @ZainHasan

It’s already fixed. Do you still have this bug on the latest versions?

What do you mean? Please provide us more info

I have done the enable Web3 for both desktop and WallectConnect. Now the issue is that When I trigger Contract Methods Like Sell NFT or Auction or creating a signature(web.eth.personal). It first gives option among wallets and on opening it just waits there no transaction pops up. Also Approve method comes atonce but I have written signature inside of Approve but that doesnt works as well. After Approve is done it doesnt returns to browser for further progress. Any solutions ?

Im using moralis “0.0.109”,

Hi So I did the Moralis.Execute Funtion. Its wokring in the desktop but again in mobile. Its not waiting for the callback. Any suggestions ?

executeFunction now also has a awaitReceipt param so that you can use it with events when you set it to false:

      .on('transactionHash', hash => {
     
      })
      .on('receipt', receipt => {
     
      })
      .on('confirmation', (confirmationNumber, receipt) => {
     
      })
      .on('error', error => {
     
      });

but in mobile browser it doesnt continues back from the transaction.

const options = {
          contractAddress: MARKETPLACE_CONTRACT_ADDRESS,
          functionName: "redeemOffer",
          abi: Kraft_MarketPlace,
          params: {
            _offer: carddescription.hash,
            _amount: quantityOfNFTS,
            _signature: carddescription.signature
          },
          msgValue: carddescription.price * quantityOfNFTS,
          awaitReceipt: false
        }

        const tx = await Moralis.executeFunction(options);
        tx.on("transactionHash", (hash) => { })
          .on("receipt", (receipt) => { })
          .on("confirmation", (confirmationNumber, receipt) => {
            console.log(carddescription)
            debugger
            var objectId = "";
            var tokenid1 = "";})
 .on('error', error => {
     
      });

So generally im using it like this here. Working perfectly in desktop but in mobile browser not getting back to browser to process ahead

Where should I exactly write the code which should be called after transaction is done? can you check this out and let me know if im doing anything wrong ?

if you write something on those two callbacks do you get anything?

I get response from both in desktop. Where as in mobile get only transactionHash alert. but not the receipt.

Thanks. ITs working in receipt. Thankyou.Do you have any Idea how can I implement web3.eth.personal.sign ? in moralis wallet Connect ?

Not sure on what are you referring with implementing web3.eth.personal.sign, what part doesn’t work?

afterSignature. callback issues

it looks like Moralis SDK also uses web3.eth.personal.sign for authentication:
const signature = await web3.eth.personal.sign(data, ethAddress, '');
if it works there then it should work in other place too