In the transferReward function, the reward is deleted from rewardsOwned[msg.sender] using delete rewardsOwned[msg.sender][_index]. This does not shift the array, so the array will have gaps. This could lead to unintended behavior when interacting with the rewards array.
MysteryBox.sol/Line 76
Users might lose rewards or experience inconsistent behavior when trying to transfer or claim rewards due to empty array slots caused by the delete operation.
Foundry
Consider using array shifting or swapping the last element with the deleted one before removing it to ensure proper handling of the array.
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.