//Write your own contracts here. Currently compiles using solc v0.4.15+commit.bbb8e64f. pragma solidity <0.9.0; contract Swap is ERC20 { } contract ERC20 { using SafeMath for uint256; string public name = "REE-Token"; string public symbol = "REE"; uint256 public totalSupply = 0; uint8 public decimals = 18; event Transfer( address indexed _from, address indexed _to, uint256 _value ); event Approval( address indexed _owner, address indexed _spender, uint256 _value ); mapping(address => uint256) public balanceOf; mapping(address => mapping(address => uint256)) public allowance; constructor() { balanceOf[msg.sender] = totalSupply; } function transfer(address _to, uint256 _value) public returns (bool success) { require(_to != address(0), "ERC20: transfer from the zero address"); require(balanceOf[msg.sender] >= _value, "ERC20: transfer amount exceeds balance"); balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value); balanceOf[_to] = balanceOf[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } function approve(address _spender, uint256 _value) public returns (bool success) { allowance[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require(_value <= balanceOf[_from], "ERC20: transfer amount exceeds balance"); require(_value <= allowance[_from][msg.sender], "ERC20: transfer amount exceeds allowance"); balanceOf[_from] = balanceOf[_from].sub(_value); balanceOf[_to] = balanceOf[_to].add(_value); allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } function _mint(address account, uint256 amount) internal { require(account != address(0), "ERC20: mint to the zero address"); totalSupply = totalSupply.add(amount); balanceOf[account] = balanceOf[account].add(amount); emit Transfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal { require(account != address(0), "ERC20: burn from the zero address"); require(balanceOf[account] >= amount, "ERC20: not enough token to burn"); balanceOf[account] = balanceOf[account].sub(amount); totalSupply = totalSupply.sub(amount); emit Transfer(account, address(0), amount); } }
0.4.18