contract Lock { address owner; uint unlockTime; constructor(uint _t) payable { owner = msg.sender; unlockTime = _t; } function withdraw() public { require(block.timestamp >= unlockTime, "too early"); require(msg.sender == owner, "not owner"); payable(owner).transfer(address(this).balance); } }