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.