Challenger may refuse to pay credToken via not approve 'transferFrom()'
Defender starts one battle, challenger participates this battle without approve(). If challenger lose, when function _battle() tries to transfer challenger's credToken to defenders, fail to transfer because of non-approval.
eg.
Alice as one defender, starts one battle with 100 credToken through calling goOnStageOrBattle().
Bob as one challenger, participate this battle. After calculation, Bob fails.
smart contract tries to transfer bob's 100 credToken to Alice. Failed.
Defender cannot gain profit when win.
Manual
Challenger should still need to transfer credToken to smart contract in battle. And smart contract transfer related tokens to the winner.
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.