pragma solidity ^0.8; contract Lottery { address payable immutable owner = payable(msg.sender); uint constant min_bet = 0.001 ether; event Win(); event Loose(); function bet(uint heads_or_tails) external payable { require(msg.value >= min_bet, "min_bet"); if (_rand() == heads_or_tails) { payable(msg.sender).transfer(msg.value * 2 * 98 / 100); emit Win(); } else { emit Loose(); } } function sweep() external { owner.transfer(address(this).balance); } receive() external payable { } function _rand() internal view returns (uint) { return uint(block.timestamp) % 2; } }
0.4.18