I have a website that works fine on desktop chrome.
Website provides you a possibility to transfer BUSD in BSC Mainnet to some accounts with Metamask.
For mobile i use walletconnect in browser and Metamask android app. It is possible to login. But transaction cannot be ran.
const Web3Modal = window.Web3Modal.default;
const WalletConnectProvider = window.WalletConnectProvider.default;
const providerOptions = {
walletconnect: {
package: WalletConnectProvider,
options: {
infuraId: "8043bb2cf99347b1bfadfb233c5325c0",
}
}
};
const detectProvider = async () => {
let provider;
if (window.ethereum) {
provider = window.ethereum;
console.log(provider);
await provider.enable();
} else if (window.web3) {
provider = window.web3.currentProvider;
await provider.request({ method: 'eth_requestAccounts' });
} else {
const web3Modal = new Web3Modal({
cacheProvider: false,
providerOptions,
disableInjectedProvider: false,
});
provider = await web3Modal.connect();
}
return provider;
};
Afterall, when i get provider and create Contract examplar, i call BUSD method to transfer coins:
const res = await contract.methods.transfer(toAddress, amount).send({ from: selectedAccount });
This works perfectly on desktop, but on mobile there isn't even exception, the execution of code just stops at that line.
How to solve it? Any one stumbled upon similar issue?