BasicToken.sol 731 B

12345678910111213141516171819202122232425262728293031323334
  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, SafeMath {
  9. mapping(address => uint) balances;
  10. /*
  11. * Fix for the ERC20 short address attack
  12. */
  13. modifier onlyPayloadSize(uint size) {
  14. assert(msg.data.length >= size + 4);
  15. _;
  16. }
  17. function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
  18. balances[msg.sender] = safeSub(balances[msg.sender], _value);
  19. balances[_to] = safeAdd(balances[_to], _value);
  20. Transfer(msg.sender, _to, _value);
  21. }
  22. function balanceOf(address _owner) constant returns (uint balance) {
  23. return balances[_owner];
  24. }
  25. }