On the following dApp code, where someone can sell a token for eth (using BSC testnet right now cause its faster). When I go to call the function from the dapp, I approve the approval via metamask, second screen I get approve for the transfer, with this: "Transaction Error. Exception thrown in contract code" along with a crazy 0.285BNB suggested gas fee.
However, the function works fine and goes through.
SOLDITY:
function sellToken(uint256 _amount) external {
token.transferFrom(msg.sender, address(this), _amount);
React JS:
const sellToken = (amount) => {
setUpdateState(true)
token.methods.approve(spender._address, amount).send({from: account}).on('transactionHash', (hash) => {
spender.methods.sellToken(amount).send({from: account}).on('transactionHash', (hash) => {
})
})
}
This is just the approve from the dapp -> transfer from the spender smart contract part, now sure why I keep getting this high gas error. Is it perhaps in the way this is being called from react?