pragma solidity 0.4.20; import 'libraries/token/ERC20Basic.sol'; import 'libraries/math/SafeMathUint256.sol'; /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMathUint256 for uint256; uint256 internal supply; mapping(address => uint256) internal balances; /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public returns(bool) { return internalTransfer(msg.sender, _to, _value); } /** * @dev allows internal token transfers * @param _from The source address * @param _to The destination address */ function internalTransfer(address _from, address _to, uint256 _value) internal returns (bool) { balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(_from, _to, _value); onTokenTransfer(_from, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } function totalSupply() public view returns (uint256) { return supply; } // Subclasses of this token generally want to send additional logs through the centralized Augur log emitter contract function onTokenTransfer(address _from, address _to, uint256 _value) internal returns (bool); }