Some tokens such as USDC and USDT (two tokens that SPARKN intends to have whitelisted) implement a blacklist feature, which prevents addresses added to the blacklist from transferring or receiving any tokens. If one of the supporters addresses is on the blacklist, the entire distribution process can be DOS'd.
In Distributor#_distribute, tokens are sent to each winner using a for loop.
If any one winner is blacklisted, then the safeTransfer call will revert, and so too will the distribute transaction.
Organizer and owner would be unable to distribute tokens to winners.
Manual review
Wrap the call to safeTransfer in a try catch so the for loop executes even if one or more of the winners is blacklisted. The funds intended to be sent to them will instead go to the STADIUM_ADDRESS as commission, and the situation can be reevaluated between the relevant parties afterwards, while the rest of the winners receive their tokens.
Alternatively, use a pull over push pattern, allowing users to make a call to the contract to collect their own winnings rather than sending the tokens all at once in one transaction.
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.