contract DelphyToken is StandardToken {
    /*
     *  Constants
     */

    string constant public name = "Delphy Token";
    string constant public symbol = "DPY";
    uint8 constant public decimals = 18;

    /// Delphy token total supply
    uint public constant TOTAL_TOKENS = 100000000 * 10**18; // 1e

    /*
     *  Public functions
     */

    /// @dev Initialization of the Delphy Token contract
    /// @param owners is the addresses of Delphy token distribution
    /// @param tokens is the token number of Delphy token distribution
    function DelphyToken(address[] owners, uint[] tokens)
        public
    {
        totalSupply = 0;

        for (uint i=0; i<owners.length; i++) {
            require (owners[i] != 0);

            balances[owners[i]] += tokens[i];
            Transfer(0, owners[i], tokens[i]);
            totalSupply += tokens[i];
        }

        require (totalSupply == TOTAL_TOKENS);
    }
}
/// @title Delphy Token contract
/// For Delphy ICO details: https://delphy.org/index.html#ICO
/// For Delphy Project: https://delphy.org
/// @author jsw@delphy.org
function DelphyToken(address[] owners, uint[] tokens)
    public
{
    totalSupply = 0;

    for (uint i=0; i<owners.length; i++) {
        require (owners[i] != 0);

        balances[owners[i]] += tokens[i];
        Transfer(0, owners[i], tokens[i]);
        totalSupply += tokens[i];
    }

    require (totalSupply == TOTAL_TOKENS);
}

/// @dev Initialization of the Delphy Token contract
/// @param owners is the addresses of Delphy token distribution
/// @param tokens is the token number of Delphy token distribution