A challenger can create two address staking a nft with one address to increase challengerRapperSkill and Transferring the tokens to the second address once he unstake, and since the challenger does not need to transfer his tokens to RapBattle contract. he just then can call goOnStageOrBattle(uint256 _tokenId, uint256 _credBet), On winning he can receive the tokens from _defender and on losing the _defender will receive 0 creds.
Place this code code in your OneShotTest.t.sol, to see the sequence.
The defender will gain nothing for the RapBattle contract is not handling the scenario by first transfering the tokens from the user.
Transfer the tokens from msg.sender which is the challenger to the contract RapBattle so as it can be efficient.
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.