Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. pragma solidity ^0.5.6;
  2.  
  3. import "./erc20.sol";
  4.  
  5. contract AccessLog {
  6.  
  7. address public owner; // Trader wallet
  8. address public manager;
  9. AccessToken[] public deployedAccessToken;
  10.  
  11. modifier onlyManager() {
  12. require(msg.sender == manager, "Only visible for tokens owners");
  13.  
  14. _;
  15. }
  16.  
  17. constructor(address _owner) public {
  18. manager = msg.sender;
  19. owner = _owner;
  20.  
  21. AccessToken newAccessToken = new TradToken("TRC", "Access Token");
  22.  
  23. ERC20Interface(AccessToken).transfer(manager, 1);
  24. ERC20Interface(AccessToken).transfer(owner, 1);
  25. }
  26.  
  27. function enableAccountAccess(address _account) private onlyManager {
  28. require(ERC20Interface(AccessToken).balanceOf(_account) == 0, "Duplicated account");
  29.  
  30. ERC20Interface(AccessToken).transfer(_account, 1);
  31. }
  32.  
  33. function doIHaveAccess() view public {
  34. require(ERC20Interface(AccessToken).balanceOf(msg.sender) == 1, "You don't have access");
  35. }
  36.  
  37. function disableAccountAccess(address _account) private onlyManager {
  38. require(_account != owner, "Owner cannot disable the account");
  39. require(_account != manager, "Manager cannot disable the account");
  40.  
  41. require(ERC20Interface(AccessToken).balanceOf(_account) > 0, "Disabled account");
  42.  
  43. ERC20Interface(AccessToken).transferFrom(_account, address(this), ERC20Interface(AccessToken).balanceOf(_account));
  44. }
  45.  
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement