The TwentyOne.sol contract's README.md documentation contains conflicting information about wagering and payouts. One section claims that players can wager more than 1 ETH and double their wager upon winning, while another states that a player must deposit exactly 1 ETH to play, with a maximum payout capped at 2 ETH. The contract's implementation, specifically in the endGame() function, enforces the latter, potentially leading to mismatched user expectations.
The discrepancy lies between these statements in the README.md:
"Winning players double their wager, while losing players forfeit their initial bet."
"A player must deposit 1 ETH to play, with a maximum payout of 2 ETH upon winning."
However, in the contract's implementation, the startGame() function enforces a minimum bet of 1 ETH, and the endGame() function pays a fixed amount of 2 ETH to winning players, regardless of the wager amount. This implementation does not allow players who wager more than 1  ETH to double their actual wager, which will be unfair to the players who wage more than 1 ETH and also contradicts the first statement.
Mismatched User Expectations: Players may incorrectly assume that they can wager more than 1 ETH and double their specific wager upon winning, which is not supported by the contract.
Manual Code Review and protocol's Readme.md
Implement that a player starts a game by waging only 1 ETH and if they win, they will be rewarded 2 ETH and update the README.md to clearly state that the wager is fixed at 1 ETH and the maximum payout is 2 ETH upon winning.
Implement that a player starts a game by waging atleast 1 ETH and if they win, they will be rewarded twice their wager and update the README.md to state that the wager atleast 1 ETH and the payout is doubled upon winning.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.