Guest User

Untitled

a guest
Jul 19th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. pragma solidity ^0.4.17;
  2.  
  3.  
  4. /// @title AccessManager contract
  5. contract AccessManager {
  6. // FIELDS
  7.  
  8. // fields that can be changed by constructor and functions
  9.  
  10. address public server; // Address, which the platform website uses.
  11. address public populous; // Address of the Populous bank contract.
  12.  
  13. // NON-CONSTANT METHODS
  14.  
  15. /** @dev Constructor that sets the server when contract is deployed.
  16. * @param _server The address to set as the server.
  17. */
  18. function AccessManager(address _server) public {
  19. server = _server;
  20. //guardian = _guardian;
  21. }
  22.  
  23. /** @dev Changes the server address that is set by the constructor.
  24. * @dev The method requires the message sender to be the set server.
  25. * @param _server The new address to be set as the server.
  26. */
  27. function changeServer(address _server) public {
  28. require(isServer(msg.sender) == true);
  29. server = _server;
  30. }
  31.  
  32. /** @dev Changes the guardian address that is set by the constructor.
  33. * @dev The method requires the message sender to be the set guardian.
  34. */
  35. /* function changeGuardian(address _guardian) public {
  36. require(isGuardian(msg.sender) == true);
  37. guardian = _guardian;
  38. } */
  39.  
  40. /** @dev Changes the populous contract address.
  41. * @dev The method requires the message sender to be the set server.
  42. * @param _populous The address to be set as populous.
  43. */
  44. function changePopulous(address _populous) public {
  45. require(isServer(msg.sender) == true);
  46. populous = _populous;
  47. }
  48.  
  49. // CONSTANT METHODS
  50.  
  51. /** @dev Checks a given address to determine whether it is the server.
  52. * @param sender The address to be checked.
  53. * @return bool returns true or false is the address corresponds to the server or not.
  54. */
  55. function isServer(address sender) public view returns (bool) {
  56. return sender == server;
  57. }
  58.  
  59. /** @dev Checks a given address to determine whether it is the guardian.
  60. * @param sender The address to be checked.
  61. * @return bool returns true or false is the address corresponds to the guardian or not.
  62. */
  63. /* function isGuardian(address sender) public view returns (bool) {
  64. return sender == guardian;
  65. } */
  66.  
  67. /** @dev Checks a given address to determine whether it is populous address.
  68. * @param sender The address to be checked.
  69. * @return bool returns true or false is the address corresponds to populous or not.
  70. */
  71. function isPopulous(address sender) public view returns (bool) {
  72. return sender == populous;
  73. }
  74.  
  75. }
Add Comment
Please, Sign In to add comment