The redeemMemorabilia function in the FestivalPass contract violates the Checks-Effects-Interactions (CEI) pattern by performing external calls before updating state variables. While this doesn't create an exploitable reentrancy vulnerability in the current implementation (since BeatToken uses standard ERC20 without hooks), it represents poor coding practices that could become problematic if the token contract is upgraded or replaced.
Likelihood:
This is a deviation from the accepted pattern
Impact:
Code quality and maintainability concerns
Deviation from security best practices
BeatToken is a standard ERC20 implementation using OpenZeppelin contracts
The burnFrom function only calls _burn(from, amount) with no hooks or callbacks
No reentrancy vector exists in the current token implementation
Consider adding a reentrancy guard using OpenZeppelin's ReentrancyGuard
Ensure all functions follow the CEI pattern consistently.
Add comprehensive testing for reentrancy scenarios
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.