function msgPassword() public returns (bytes32 result) { bytes memory msg_data = msg.data; if (msg_data.length == 0) { return 0x0; } assembly { result := mload(add(msg_data, add(0x20, 0x24))) } }
function setCountDownTimer(uint256 _deadline) public isOwner notExplodeYet { launcher_address.delegatecall(abi.encodeWithSignature("setdeadline(uint256)",_deadline)); } }
contract Launcher{ uint256 public deadline;
constructor() public { deadline = block.number + 100; }
function setdeadline(uint256 _deadline) public { deadline = _deadline; } }
contract Setup { EasyBomb public easyBomb;
constructor(bytes32 _password) public { easyBomb = new EasyBomb(address(new Launcher()), _password); }
function isSolved() public view returns (bool) { return easyBomb.power_state() == false; } }