DecentralizedStableCoin is ERC20, and it can transfer to other and let other to liquidate.
Because liquidate just burn the msg.sender 's DecentralizedStableCoin. And if user A was liquidated, his collateral will transfer, but his DecentralizedStableCoin are still reserved, and he can forward them to others. And other can use it to call liquidate
liquidate call the _burnDsc and set the dscFrom is msg.sender,so the liquidator just need to have DecentralizedStableCoin to execute the liquidate
https://github.com/Cyfrin/2023-07-foundry-defi-stablecoin/blob/main/src/DSCEngine.sol#L274
And It check the msg.sender health if (totalDscMinted == 0) return type(uint256).max;.So if sender does not have the mint Dsc, he can call liquidate
https://github.com/Cyfrin/2023-07-foundry-defi-stablecoin/blob/main/src/DSCEngine.sol#L329
And if user A was liquidated, his collateral will transfer, but his DecentralizedStableCoin are still reserved, and he can forward them to others. And other can use it to call liquidate
vs code
I think it's a design issue and liquidator assets should be checked
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.