//Write your own contracts here. Currently compiles using solc v0.4.15+commit.bbb8e64f. pragma solidity ^0.4.19; contract AccessControl{ address public ceoAddress; address public cfoAddress; address public cooAddress; bool public paused = false; modifier onlyCEO(){ require(msg.sender == ceoAddress); _; } modifier onlyCFO(){ require(msg.sender == cfoAddress); _; } modifier onlyCOO() { require(msg.sender == cooAddress); _; } modifier onlyCLevel(){ require( msg.sender == cooAddress || msg.sender == ceoAddress || msg.sender == cfoAddress ); _; } function setCFO(address _newCFO) external onlyCEO { require(_newCFO != address(0)); cfoAddress = _newCFO; } function setCOO(address _newCOO) external onlyCEO { require(_newCOO != address(0)); cooAddress = _newCOO; } function setCEO(address _newCEO) external onlyCEO{ require(_newCEO != address(0)); ceoAddress = _newCEO; } modifier whenNotPaused(){ require(!paused); _; } modifier whenPaused(){ require(paused); _; } function pause() external onlyCLevel whenNotPaused{ paused = true; } function unpause() public onlyCEO whenPaused{ paused = false; } } contract SimpleStore { function set(uint _value) public onlyCEO{ value = _value; } function get() public constant returns (uint) { return value; } uint value; }
0.4.18