diff options
Diffstat (limited to 'test/compilationTests/zeppelin/ownership/DelayedClaimable.sol')
-rw-r--r-- | test/compilationTests/zeppelin/ownership/DelayedClaimable.sol | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/test/compilationTests/zeppelin/ownership/DelayedClaimable.sol b/test/compilationTests/zeppelin/ownership/DelayedClaimable.sol new file mode 100644 index 00000000..f5fee614 --- /dev/null +++ b/test/compilationTests/zeppelin/ownership/DelayedClaimable.sol @@ -0,0 +1,43 @@ +pragma solidity ^0.4.11; + + +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 { + if (_start > _end) + throw; + 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 { + if ((block.number > end) || (block.number < start)) + throw; + owner = pendingOwner; + pendingOwner = 0x0; + end = 0; + } + +} |