Guest User

Untitled

a guest
Jan 16th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. pragma solidity ^0.5.0;
  2.  
  3.  
  4. contract SimpleEtherToken {
  5. string constant public name = "SimpleEtherToken";
  6. string constant public symbol = "SETH";
  7. uint8 constant public decimals = 18;
  8.  
  9. mapping (address => uint256) public balanceOf;
  10.  
  11. event Transfer(address indexed from, address indexed to, uint amount);
  12.  
  13. function () external payable {
  14. if (msg.value > 0) {
  15. balanceOf[msg.sender] += msg.value;
  16. emit Transfer(address(0), msg.sender, msg.value);
  17. } else {
  18. msg.sender.transfer(balanceOf[msg.sender]);
  19. balanceOf[msg.sender] = 0;
  20. emit Transfer(msg.sender, address(0), msg.value);
  21. }
  22. }
  23.  
  24. function transfer(address to, uint amount) public returns (bool) {
  25. require(balanceOf[msg.sender] >= amount);
  26. balanceOf[msg.sender] -= amount;
  27. balanceOf[to] += amount;
  28. emit Transfer(msg.sender, to, amount);
  29. return true;
  30. }
  31. }
Add Comment
Please, Sign In to add comment