Files
openzeppelin-contracts/contracts/lifecycle/Pausable.sol
Nicolás Venturo b7d60f2f9a Fix warnings (#1606)
* Bump required compiler version to 0.5.2.

* Fix shadowed variable warning in ERC20Migrator.

* Rename Counter to Counters.

* Add dummy state variable to SafeERC20Helper.

* Update changelog entry.

* Fix CountersImpl name.

* Improve changelog entry.
2019-01-17 15:59:30 -03:00

58 lines
1.3 KiB
Solidity

pragma solidity ^0.5.2;
import "../access/roles/PauserRole.sol";
/**
* @title Pausable
* @dev Base contract which allows children to implement an emergency stop mechanism.
*/
contract Pausable is PauserRole {
event Paused(address account);
event Unpaused(address account);
bool private _paused;
constructor () internal {
_paused = false;
}
/**
* @return true if the contract is paused, false otherwise.
*/
function paused() public view returns (bool) {
return _paused;
}
/**
* @dev Modifier to make a function callable only when the contract is not paused.
*/
modifier whenNotPaused() {
require(!_paused);
_;
}
/**
* @dev Modifier to make a function callable only when the contract is paused.
*/
modifier whenPaused() {
require(_paused);
_;
}
/**
* @dev called by the owner to pause, triggers stopped state
*/
function pause() public onlyPauser whenNotPaused {
_paused = true;
emit Paused(msg.sender);
}
/**
* @dev called by the owner to unpause, returns to normal state
*/
function unpause() public onlyPauser whenPaused {
_paused = false;
emit Unpaused(msg.sender);
}
}