Advertisement
DAG1

Untitled

Feb 19th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. pragma solidity ^0.5.0;
  2. contract MyToken{
  3.  
  4. uint totalsupply;
  5. mapping (address => uint) tokenOwners;
  6. address owner;
  7. uint sellingRate;
  8. uint eth;
  9.  
  10. constructor (uint _sellingRate) public{
  11. owner = msg.sender;
  12. if (_sellingRate == 0)
  13. {
  14. sellingRate = 1;
  15. }
  16. else
  17. {
  18. sellingRate = _sellingRate;
  19. }
  20. }
  21.  
  22. function totalSupply() public view returns (uint){
  23. return totalsupply;
  24. }
  25.  
  26. function changeRate(uint _sellingRate) public {
  27. require(msg.sender == owner);
  28. if (_sellingRate != 0)
  29. sellingRate = _sellingRate;
  30. else
  31. sellingRate = 1;
  32. }
  33.  
  34. function balanceOf(address tokenOwner) public view returns (uint balance){
  35. return balance = tokenOwners[tokenOwner];
  36. }
  37.  
  38. function transfer(address to, uint tokens) public returns (bool success){
  39. if (tokenOwners[msg.sender] >= tokens){
  40. tokenOwners[msg.sender] -= tokens;
  41. tokenOwners[to] += tokens;
  42. emit Transfer(msg.sender, to, tokens);
  43. return true;
  44. }
  45. else{
  46. return false;
  47. }
  48. }
  49.  
  50. function () external payable{
  51. totalsupply += msg.value / sellingRate;
  52. tokenOwners[msg.sender] = msg.value / sellingRate;
  53. eth += msg.value;
  54. }
  55.  
  56. function getETH() public{
  57. require(msg.sender == owner);
  58. (msg.sender).transfer(eth);
  59. eth = 0;
  60. }
  61.  
  62. event Transfer(address indexed from, address indexed to, uint tokens);
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement