// File: test.sol



// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9;



interface IERC20 {
    
    function totalSupply() external view returns (uint);
    function balanceOf(address account) external view returns (uint);
    function transfer(address recipient, uint amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint amount) external returns (bool);
    function decimals() external view returns (uint8);
    function transferFrom(
        address sender,
        address recipient,
        uint amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}


contract MyContract {
    IERC20  public  token;
    address public swap = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    function tokenDecimal(address _token)external view returns (uint8){
        return IERC20(_token).decimals();
    }
    function tokenAllowence(address _token,address sender)external view returns (uint){
        return IERC20(_token).allowance(sender,swap);
    }
    function tokenAllow(address _token,uint amount)external  returns (bool){
        return IERC20(_token).approve(swap,amount);
    }

}