If the protocol use USDT as accepted collateral asset, claimRewards will fail because the reward recipient is blocklisted in USDT.
claimRewards in liquidation pool contract serves as the final step in liquidation process wherein the pool holders will receive their allocated rewards in the form of discounted liquidated assets. However, this function can be reverted or fail in execution if rewards are in USDT and the recipient (pool holder) has been blocklisted to receive USDT token.
Please look at line 193 of code below where it calls the transfer of erc20 token (e.g. USDT) to msg.sender, the msg.sender is the destination address of the blocklisted recipient.
If the claimRewards will fail, the rewards in the form of USDT will be trapped inside the liquidity pool contract.
Therefore the proper recipient will also lost his rewards.
Manual review
Introduce an input parameter to specify the destination address for the ERC-20 USDT transfer in the claimRewards function.
This can give the msg.sender (reward recipient) the option to put another address which can receive USDT token.
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.