aboutsummaryrefslogtreecommitdiffstats
path: root/test/compilationTests/zeppelin/ownership/DelayedClaimable.sol
diff options
context:
space:
mode:
Diffstat (limited to 'test/compilationTests/zeppelin/ownership/DelayedClaimable.sol')
-rw-r--r--test/compilationTests/zeppelin/ownership/DelayedClaimable.sol43
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;
+ }
+
+}