//Write your own contracts here. Currently compiles using solc v0.4.15+commit.bbb8e64f. pragma solidity ^0.4.18; contract tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; } contract Somer883Token { string public version = '1.0'; string public name; string public symbol; uint8 public decimals; address public owner; uint256 public _totalSupply; mapping (address => uint256) public balances; mapping (address => mapping (address => uint256)) public allowances; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); function Somer883Token() public { balances[msg.sender] = 100000000000000; _totalSupply = 100000000000000; name = 'Somer883'; symbol = 'SMR'; decimals = 6; owner = msg.sender; } function balanceOf(address _owner) public constant returns (uint256 balance) { return balances[_owner]; } function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { return allowances[_owner][_spender]; } function totalSupply() public constant returns (uint256 supply) { return _totalSupply; } function approve(address _spender, uint256 _value) public returns (bool success) { allowances[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) { tokenRecipient spender = tokenRecipient(_spender); if (approve(_spender, _value)) { spender.receiveApproval(msg.sender, _value, this, _extraData); return true; } } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { if (_to == 0x0) return false; if (balances[_from] < _value) return false; if (balances[_to] + _value < balances[_to]) return false; if (_value > allowances[_from][msg.sender]) return false; balances[_from] -= _value; balances[_to] += _value; allowances[_from][msg.sender] -= _value; Transfer(_from, _to, _value); return true; } function transfer(address _to, uint256 _value) public returns (bool success) { if (_to == 0x0) return false; if (balances[msg.sender] < _value) return false; if (balances[_to] + _value < balances[_to]) return false; balances[msg.sender] -= _value; balances[_to] += _value; Transfer(msg.sender, _to, _value); return true; } }
0.4.18