function totalSupply(IERC20 token) external;
function balanceOf(IERC20 token, address account) external;
function allowance(IERC20 token, address owner, address spender) external;
function name(IERC20Metadata token) external;
function symbol(IERC20Metadata token) external;
function decimals(IERC20Metadata token) external;
event ERC20TotalSupply(IERC20 token, uint256 totalSupply);
event ERC20BalanceOf(IERC20 token, address account, uint256 balanceOf);
event ERC20Allowance(IERC20 token, address owner, address spender, uint256 allowance);
event ERC20Name(IERC20Metadata token, string name);
event ERC20Symbol(IERC20Metadata token, string symbol);
event ERC20Decimals(IERC20Metadata token, uint8 decimals);