I am new to Solidity. I have deployed a smart contract for a multi-sig wallet on the Rinkeby Testnet. Here I used the IERC20.sol file by Openzeppelin for deposit, withdrawal and checking balances of ERC20 tokens. But when I use it via the Etherscan website, whichever functions make use of IERC20, the gas cost is too high like it's about 0.02 to 0.2 ETH and still it doesn't get through. I am not able to understand what I did that is making the gas cost so high. I am including the gist of the code here. Please help me out.
https://gist.github.com/Shivam78288/ace74df23a3575ca8a214bd4a6e2fc2a
Contract Address on Rinkeby is 0x84B82fCE8d1e13F1944ed58855f1D89D9EE697F8 https://rinkeby.etherscan.io/address/0x84B82fCE8d1e13F1944ed58855f1D89D9EE697F8#code