123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- pragma solidity ^0.4.8;
- import "../ownership/Ownable.sol";
- /**
- * @title Pausable
- * @dev Abstract contract that allows children to implement an emergency stop mechanism.
- */
- contract Pausable is Ownable {
- event Pause();
- event Unpause();
- bool public paused = false;
- /**
- * @dev modifier to allow actions only when the contract IS paused
- */
- modifier whenNotPaused() {
- if (paused) throw;
- _;
- }
- /**
- * @dev modifier to allow actions only when the contract IS NOT paused
- */
- modifier whenPaused {
- if (!paused) throw;
- _;
- }
- /**
- * @dev called by the owner to pause, triggers stopped state
- */
- function pause() onlyOwner whenNotPaused returns (bool) {
- paused = true;
- Pause();
- return true;
- }
- /**
- * @dev called by the owner to unpause, returns to normal state
- */
- function unpause() onlyOwner whenPaused returns (bool) {
- paused = false;
- Unpause();
- return true;
- }
- }
|