contract SingularityNetToken is PausableToken, BurnableToken {

    string public constant name = "SingularityNET Token";
    string public constant symbol = "AGI";
    uint8 public constant decimals = 8;
    uint256 public constant INITIAL_SUPPLY = 1000000000 * 10**uint256(decimals);
    
    /**
    * @dev SingularityNetToken Constructor
    */

    function SingularityNetToken() {
        totalSupply = INITIAL_SUPPLY;   
        balances[msg.sender] = INITIAL_SUPPLY;
    }

    function transferTokens(address beneficiary, uint256 amount) onlyOwner returns (bool) {
        require(amount > 0);

        balances[owner] = balances[owner].sub(amount);
        balances[beneficiary] = balances[beneficiary].add(amount);
        Transfer(owner, beneficiary, amount);

        return true;
    }
}
function SingularityNetToken() {
    totalSupply = INITIAL_SUPPLY;   
    balances[msg.sender] = INITIAL_SUPPLY;
}

/**
 * @dev SingularityNetToken Constructor
 */