It is possible for an attacker to fill the LiquidationPool.Holders() array with holders, causing a DOS attack on all functions in both LiquidationPool andLiquidationPoolManager.
We can render the functions LiquidationPool.increasePosition(), LiquidationPool.decreasePosition(), LiquidationPool.distributeFees(), LiquidationPool.distributeAssets(), LiquidationPoolManager.distributeFees(), and LiquidationPoolManager.runLiquidation() useless, leaving users practically only with LiquidationPool.claimRewards(). This could be achieved by filling the LiquidationPool.holders() array with dummy addresses.
It is possible to render the LiquidationPooland LiquidationPoolManager contracts useless, locking the funds of the holders and leading to a loss of funds.
Hardhat
Change the approach to how data is stored and use mappings to resolve most calls in O(1) time complexity.
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.