MetaMask - Invalid amount in MetaMask app on iPhone

it looks like a problem from metamask:

What is the best alternative to MetaMask?

usually wallet connect is used on mobile

Hi Guys,

Just add gasPrice in your transaction parameters and it will work.

RBE

1 Like

Please be kind and give me example how I set this, since there is nothing about that in moralis documentation. Thanks.

Hello RBE again. I tried this and I still get “Invalid amount” error:

Try using ethers.js directly as you’ve tried before but with setting the gasPrice. You can’t set gasPrice in the options using Moralis, it won’t use it.

Here is my last code:

This works on desktop and on mobile.

Maybe Moralis team should add option for gasLimit and gasPrice, otherwise you can’t user moralis for ERC20 transactions…

4 Likes

Hi there,
is there a fix for that ?
Having the exact same pb using unity.
Using the code from the documentation, on iphone and android:

public async void transferToken()
    {
        string EIPTransferTokenABI = "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]";
         // change the contract address to transfer different tokens
        string DAIContractAddress = "0x6B175474E89094C44Da98b954EedeAC495271d0F";
        string FunctioName = "transfer";
        string receiverAddress = "0x0EF9...";
        BigInteger DAIInWei = UnitConversion.Convert.ToWei(5, 18);
        // params - toAddress, amount
       object[] inputParams = { receiverAddress, DAIInWei };
        HexBigInteger value = new HexBigInteger("0x0");
        HexBigInteger gas = new HexBigInteger("800000");
        HexBigInteger gasprice = new HexBigInteger("230000");
        try
        {
            string result = await Moralis.ExecuteContractFunction(contractAddress: DAIContractAddress, abi: EIPTransferTokenABI, functionName: FunctioName, args: inputParams, value: value, gas: gas, gasPrice: gasprice);
            Debug.Log("Txhash :" + result);
        }
        catch (Exception error)
        {
            Debug.Log("Error :" + error);
        }
    }

Yes a solution is to set gas manually. Are you still getting the same “Invalid amount” error? Try different gas values.

I am indeed getting this same error :frowning:
yes ser, tried different amounts from 23000 to 2300000 but no luck …

Really don’t know what to do here