You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
654 B
37 lines
654 B
pragma solidity ^0.4.8;
|
|
|
|
|
|
import "../ownership/Ownable.sol";
|
|
|
|
|
|
/*
|
|
* Pausable
|
|
* Abstract contract that allows children to implement an
|
|
* emergency stop mechanism.
|
|
*/
|
|
contract Pausable is Ownable {
|
|
bool public stopped;
|
|
|
|
modifier stopInEmergency {
|
|
if (!stopped) {
|
|
_;
|
|
}
|
|
}
|
|
|
|
modifier onlyInEmergency {
|
|
if (stopped) {
|
|
_;
|
|
}
|
|
}
|
|
|
|
// called by the owner on emergency, triggers stopped state
|
|
function emergencyStop() external onlyOwner {
|
|
stopped = true;
|
|
}
|
|
|
|
// called by the owner on end of emergency, returns to normal state
|
|
function release() external onlyOwner onlyInEmergency {
|
|
stopped = false;
|
|
}
|
|
|
|
}
|
|
|