There is no capping mechanism in the WinningToken contract.
RockPaperScissors contract duplicates every token that is bet by players in a game, by storing the tokens while minting new ones for prizes or refunds.
WinningToken supply is not under control.
Increases exponentially with the number of games played.
Resulting in inflationary tokenomics.
Value of the WinningToken decreses over time.
Players lose interest in playing for small value prizes.
Manual Code Review
Add a burning mechanism.
Or
Use "transfer" WiningToken back to players(winners or refunded) instead of minting new tokens in the following functions:
_finishGame
_handleTie
_cancelGame
For example in _finishGame:
Code suggestions or observations that do not pose a direct security risk.
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.