The protocol currently uses any that has a chainlink price feed. Some tokens (e.g. USDC, USDT) have a contract level admin controlled address blacklist. If an address is blocked, then transfers to and from that address are forbidden.
In DSCEngine.sol we have liquidate() function:
USDC has a contract level admin controlled address blocklist, which will block transfer to/from these blocked addresses.
If a user uses collateral that is a blacklisted address by USDC, it cannot be liquidated. This is because the transfer functors in _redeemCollateral and _burnDsc() in liquidate() will revert.
As the protocol is not able to fully liquidate such USDC-blocked addresses, it will incur bad debts and suffer losses.
Visual Studio Code
Try to implement a try-catch solution where you skip certain funds whenever they cause the USDC transfer to revert or use pull over push model to transfer tokens.
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.