Description:
RapBattle.sol::_battle
requires that both bets must have the same value. The protocol design allows one battle at a time, so if the defender is too skilled and bets too much Cred, nobody will accept the challenge.
Impact:
Protocol will locked because the function will be blocked with a giant bet.
Proof of Concept:
After a big bet
If a user doesn't match the bet, the protocol will be blocked until someone matches
Recommendation:
Create a counter to control the battles
Create a struct to control the line-up
Create a mapping to keep track of battles
Redesign the RapBattle::goOnStageOrBattle
function into a RapBattle::credDefender
& RapBattle::credChallenger
functions
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.