DeFiFoundry
60,000 USDC
View results
Submission Details
Severity: medium
Invalid

LiquidationFee is not proportional, which disincentivize small positions

Summary

The LiquidationFee is not proportional to the position size, which will end up sending too much and even the entire remaining part of the position to the liquidationFeeRecipient, leaving the Zaros protocol with nothing.

Vulnerability Details

When a position is liquidated, a liquidation fee is applied, but if the position.size is small enough, the fee can be very high for it, as it is always constant.

ctx.liquidationFeeUsdX18 = ud60x18(globalConfiguration.liquidationFeeUsdX18)

Impact

Users with large and small positions will pay the same fee, which is not fair.

Tools Used

Manual Review

Recommendations

Consider applying a proportional liquidation fee based on position size, as in Synthetix - https://github.com/Synthetixio/synthetix/blob/e2243e8afc37d481003ecd9b4eb44dcb804185e9/contracts/PerpsV2MarketBase.sol#L361-L378

Updates

Lead Judging Commences

inallhonesty Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Design choice

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.