interface ERC20Interface
{
    //
    // Standard ERC-20 token interface
    //
    
    function totalSupply() external view returns(uint);
    function balanceOf(address tokenOwner) external view returns(uint);
    function allowance(address tokenOwner, address spender) external view returns(uint);
    function approve(address spender, uint tokens) external returns(bool);
    function transfer(address to, uint tokens) external returns(bool);
    function transferFrom(address from, address to, uint tokens) external returns(bool);

    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
    event Transfer(address indexed from, address indexed to, uint tokens);
}
function totalSupply() external view returns(uint);

//
// Standard ERC-20 token interface
//