12345678910111213141516171819202122232425262728293031323334353637383940 |
- pragma solidity ^0.4.18;
- import "./Claimable.sol";
- /**
- * @title DelayedClaimable
- * @dev Extension for the Claimable contract, where the ownership needs to be claimed before/after
- * a certain block number.
- */
- contract DelayedClaimable is Claimable {
- uint256 public end;
- uint256 public start;
- /**
- * @dev Used to specify the time period during which a pending
- * owner can claim ownership.
- * @param _start The earliest time ownership can be claimed.
- * @param _end The latest time ownership can be claimed.
- */
- function setLimits(uint256 _start, uint256 _end) onlyOwner public {
- require(_start <= _end);
- end = _end;
- start = _start;
- }
- /**
- * @dev Allows the pendingOwner address to finalize the transfer, as long as it is called within
- * the specified start and end time.
- */
- function claimOwnership() onlyPendingOwner public {
- require((block.number <= end) && (block.number >= start));
- OwnershipTransferred(owner, pendingOwner);
- owner = pendingOwner;
- pendingOwner = address(0);
- end = 0;
- }
- }
|