The BriVault contract has no function to withdraw the assets in case there is no winner for the tournament.
When the tournament starts and ends with no users who bet on the winner country, the funds get stuck in the contract with no ways of withdrawing them, not even for the admin. This is inconsistency in design.
Likelihood:
This happens when no user wins the tournament.
Impact:
I consider the impact as medium because the users were not exploited, they just lost the bet, but also the funds are stuck in the contract with no means to withdraw them even for the admin.
Add this test to briVault.t.sol and run forge test --mt testFundsGetStuckIfThereIsNoUserWhoWins -vvvv
Add an onlyOwner function to refund a percentage of assets back to users whenever there are no users who win the tournament.
When no one bet on the winning team, making totalWinnerShares = 0, causing division by zero in withdraw and preventing any withdrawals.
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.