Medium
The protocol relies entirely on USDC for payments without implementing any safeguards against USDC's administrative features. This creates serious operational risks where:
Blacklisted addresses would be unable to enroll, receive payments, or participate in the protocol
If USDC is paused, the entire school system would become non-functional
Users could lose funds or be unable to interact with the contract during USDC operational issues
Unlike regular ERC20 tokens, USDC has additional features controlled by Circle, including:
Blacklisting functionality: Circle can blacklist addresses, preventing them from sending or receiving USDC
Pause mechanism: Circle can pause all USDC transfers globally
Upgradeable contract: Circle can upgrade the USDC contract, potentially changing its behavior
The Hawk High School relies solely on USDC with no contingency plans for these scenarios:
Additionally, if Circle ever blacklists the contract address itself, the entire protocol would be permanently locked, with no way to recover funds.
Manual code review
Add chain-specific hardcoded USDC addresses for production environments:
Add emergency recovery mechanism for blacklisted contract scenarios:
Consider adding support for alternative stablecoins as a fallback:
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.