contract Token is Owned {

    /// Общее кол-во токенов
    uint256 public totalSupply;

    /// @param _owner адрес, с которого будет получен баланс
    /// @return Баланс
    function balanceOf(address _owner) constant returns (uint256 balance);

    /// @notice Отправить кол-во `_value` токенов на адрес `_to` с адреса `msg.sender`
    /// @param _to Адрес получателя
    /// @param _value Кол-во токенов для отправки
    /// @return Была ли отправка успешной или нет
    function transfer(address _to, uint256 _value) returns (bool success);

    /// @notice Отправить кол-во `_value` токенов на адрес `_to` с адреса `_from` при условии что это подтверждено отправителем `_from`
    /// @param _from Адрес отправителя
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success);

    /// @notice Вызывающий функции `msg.sender` подтверждает что с адреса `_spender` спишется `_value` токенов
    /// @param _spender Адрес аккаунта, с которого возможно списать токены
    /// @param _value Кол-во токенов к подтверждению для отправки
    /// @return Было ли подтверждение успешным или нет
    function approve(address _spender, uint256 _value) returns (bool success);

    /// @param _owner Адрес аккаунта владеющего токенами
    /// @param _spender Адрес аккаунта, с которого возможно списать токены
    /// @return Кол-во оставшихся токенов разрешённых для отправки
    function allowance(address _owner, address _spender) constant returns (uint256 remaining);

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
// Абстрактный контракт для токена стандарта ERC 20
// https://github.com/ethereum/EIPs/issues/20
function allowance(address _owner, address _spender) constant returns (uint256 remaining);

/// @param _owner Адрес аккаунта владеющего токенами
/// @param _spender Адрес аккаунта, с которого возможно списать токены
/// @return Кол-во оставшихся токенов разрешённых для отправки