BasicToken.sol 761 B

12345678910111213141516171819202122232425262728293031323334353637
  1. pragma solidity ^0.4.8;
  2. import './ERC20Basic.sol';
  3. import '../SafeMath.sol';
  4. /*
  5. * Basic token
  6. * Basic version of StandardToken, with no allowances
  7. */
  8. contract BasicToken is ERC20Basic {
  9. using SafeMath for uint;
  10. mapping(address => uint) balances;
  11. /*
  12. * Fix for the ERC20 short address attack
  13. */
  14. modifier onlyPayloadSize(uint size) {
  15. if(msg.data.length < size + 4) {
  16. throw;
  17. }
  18. _;
  19. }
  20. function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
  21. balances[msg.sender] = balances[msg.sender].sub(_value);
  22. balances[_to] = balances[_to].add(_value);
  23. Transfer(msg.sender, _to, _value);
  24. }
  25. function balanceOf(address _owner) constant returns (uint balance) {
  26. return balances[_owner];
  27. }
  28. }