Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. pragma solidity ^0.4.24;
  2.  
  3. interface AlarmWakeUp {
  4. function callback() public;
  5. }
  6.  
  7. contract AlarmService {
  8. mapping(uint => address[]) private _events;
  9.  
  10. function set(uint _time) public returns (bool) {
  11. _events[_time].push(msg.sender);
  12. }
  13.  
  14. function call(uint _time) public {
  15. address[] addresses = _events[_time];
  16.  
  17. for(uint i=0; i<addresses.length; i++) {
  18. AlarmWakeUp(addresses[i]).callback();
  19. }
  20. }
  21. }
  22.  
  23. contract AlarmTrigger is AlarmWakeUp {
  24. AlarmService private _alarmService;
  25.  
  26. function AlarmTrigger() {
  27. _alarmService = new AlarmService();
  28. }
  29.  
  30. function callback() public {
  31. // Do something
  32. }
  33.  
  34. function setAlarm() public {
  35. _alarmService.set(block.timestamp + 60);
  36. }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement