The TwentyOne contract lacks a mechanism to fund the contract with Ether, which can lead to insufficient balance to pay out winnings. Without a way to add funds, winning players may not receive their expected payouts.
No Funding Function:
Contract has no functions to deposit Ether into its balance
Current balance can only decrease as players win
No way to replenish funds when balance gets low
Failed Payouts:
If balance falls below 2 ETH, contract cannot pay winning players
No check to ensure sufficient balance before starting new games
Contract may be unable to pay winners
Players lose trust when payouts fail
Game becomes inoperable when funds are depleted
Manual Code Review
Add owner funding function:
Add initial funding requirement in contract constructor
Consider monitoring and alerts for low balance
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.