TwentyOne
contract lacks access controls to manage funds like a deposit and withdraw function.
The contract is not sustainable if there is no way to deposit funds and withdraw funds because contract may run out of ether and there is no way for the owner to withdraw the funds from the contract.
Owner cannot access funds.
If a player wins a game and the contract has no funds the the transfer will revert and player will not get paid.
Manual code review
Add access controls where owner can deposit and withdraw funds.
Use Openzeppelin Ownable contract:
Add a depositFunds
function with onlyOwner
modifier:
Add a withdrawFunds
function with onlyOwner
modifier:
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.