interface IERC20ApproveTransfer { // brief interface for erc20 token tx
    function approve(address spender, uint256 amount) external returns (bool);
    function transfer(address recipient, uint256 amount) external returns (bool);
}
function approve(address spender, uint256 amount) external returns (bool);
// brief interface for erc20 token tx