Hi @DeusNexus,
I recommend having a look at the API documentation:
- https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#IERC20-approve-address-uint256-
- https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#ERC20-decreaseAllowance-address-uint256-
- https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#ERC20-increaseAllowance-address-uint256-
- https://docs.openzeppelin.com/contracts/3.x/api/token/erc20#ERC20-allowance-address-address-
Also see: Example on how to use ERC20 token in another contract
In addition you may also want to read through the EIP: https://eips.ethereum.org/EIPS/eip-20
I also suggest reading: Points to consider when creating a fungible token (ERC20, ERC777)