Error when calling Contract Function Call with ETH value 1

Hello Moralis Support team,
please help me regarding calling the smart contract function with ETH value.
I tried to call smart contract function with useWeb3Execution. but it fails.
Here is error message.


It worked correctly before. thatโ€™s weird.

Here is the code.

Thanks

it looks like it got a value as string instead of a number
you can use console.log to see what value it has

I tried with both string and number.
20000000000000000
itโ€™s the console.log result.
I tried with a number with this code.
const tokenPrice = new Bignumber(tokenDetails.price).toNumber();
but it sill fails.

in that error message, it shows a string that has letters

It seems the value passed is a string as @cryptokid mentioned as shown in the error.
You can try console.log(tokenPrice) to verify that .

You can also try hardcode the value to see if it works msgValue: Moralis.Units.ETH("1")

Same error.
Here is the code and error message


what is that itemID?

IbGx1tFeWV4waRF0K8yVNNFm
Here is itemID.
Screenshot_6

no reply for the last question?

Are you connected to the proper network ??

yes. of course. I am testing rinkeby test net.

No reply for this question?

it looks like it expects for that itemID to be a number, not that type of string with letters