Rewards are sent to LiquidationPool when an asset distribution occurs. Liquidation::claimRewards allows callers to claim rewards if they have any, but it enforce to claim all of their rewards. If the transfer of at least one of this rewards fails, no rewards will be claimable.
If a bug exploit one asset reard distribution (as one of the issue reported during this audit that affects only ETH), the caller is a smart contract with a wrong implementation of receive function, a whitelisted asset has a blocklist or pause mechanism (like USDC, USDT or PAXG) then non of the rewards will be claimable
Blacklist of holder from a whitelisted token or if a whitelisted token is paused DOS claiming of rest of whitelisted tokens.
USDC and ETH are whitelisted by Token Manager
Alice deposit (TST: 10000, EUR: 10000).
1 ETH at a valuation of 1100 EUR is distributed, given that Alice is the only staker she is now enable to claim 1 ETH
USDC blacklist Alice address
Bob call LiquidationPool:distributeAsset to distribute 1 USDC, this is also paid with Alice EUR position and now she is enforced to claim it when she calls Liquidation::claimRewards
When Alice calls Liquidation::claimRewards function reverts given that she is blacklisted from USDC, she cannot even claim her 1 ETH
LiquidationPool::claimRewardsThe 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.