Advertisement
Guest User

Untitled

a guest
Mar 11th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.99 KB | None | 0 0
  1. pragma solidity ^0.5.4;
  2.  
  3. contract Contract {
  4.  
  5. struct item {
  6. string item_description;
  7. string item_status;
  8. uint item_price;
  9. string item_owner;
  10. address item_owner_address;
  11. }
  12.  
  13. struct user {
  14. string username;
  15. string password;
  16. uint balance;
  17. string first_name;
  18. string last_name;
  19. }
  20.  
  21. mapping (address => user) users;
  22. address[] public userTable;
  23.  
  24. mapping (address => item) items;
  25. address[] public itemTable;
  26.  
  27. //---------------------------------------------------
  28. //-----------------------Items-----------------------
  29. //---------------------------------------------------
  30.  
  31. function getAllItems() public view returns(address[] memory) {
  32. return itemTable;
  33. }
  34.  
  35. function getItemByAddress(address addr) public view returns (string memory ownerId, string memory descr, string memory status, uint price) {
  36. return(items[addr].item_owner, items[addr].item_description, items[addr].item_status, items[addr].item_price);
  37. }
  38.  
  39. function sellItem(address addr, string memory ownerId, string memory descr, string memory status, uint price) public {
  40. item storage table = items[addr];
  41.  
  42. table.item_owner = ownerId;
  43. table.item_description = descr;
  44. table.item_status = status;
  45. table.item_price = price;
  46.  
  47. itemTable.push(addr) -1;
  48. }
  49.  
  50. function buyItem(address itemAddr, address myAddr, address sellerAddr) public {
  51. users[myAddr].balance -= items[itemAddr].item_price;
  52.  
  53. users[sellerAddr].balance += items[itemAddr].item_price;
  54.  
  55. delete items[itemAddr];
  56. }
  57.  
  58. //--------------------------------------------------
  59. //-----------------------User-----------------------
  60. //--------------------------------------------------
  61.  
  62. function getAllUsers() public view returns(address[] memory) {
  63. return userTable;
  64. }
  65.  
  66. function getBalance(address addr) public view returns (uint balance) {
  67. return users[addr].balance;
  68. }
  69.  
  70. function getUserByAddress(address addr) public view returns (string memory username, string memory password, uint balance, string memory first_name, string memory last_name) {
  71. return(users[addr].username, users[addr].password, users[addr].balance, users[addr].first_name, users[addr].last_name);
  72. }
  73.  
  74. function deposit(address addr, uint amount) public {
  75. users[addr].balance += amount;
  76. }
  77.  
  78. function register(address addr, string memory username, string memory password, string memory first_name, string memory last_name) public {
  79. user storage table = users[addr];
  80.  
  81. table.username = username;
  82. table.password = password;
  83. table.balance = 500;
  84. table.first_name = first_name;
  85. table.last_name = last_name;
  86.  
  87. userTable.push(addr) -1;
  88. }
  89.  
  90. function unregister(address addr) public {
  91. delete users[addr];
  92. }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement