function distributeAssets(ILiquidationPoolManager.Asset[] memory _assets, uint256 _collateralRate, uint256 _hundredPC) external payable {
...
for (uint256 j = 0; j < holders.length; j++) {
...
}
if (burnEuros > 0) IEUROs(EUROs).burn(address(this), burnEuros);
returnUnpurchasedNative(_assets, nativePurchased);
}```
The function iterates over the `holders` array. However, as `holders` grows, the iteration becomes increasingly gas-intensive, potentially leading to an 'out of gas' error.
Since `distributeAssets` is used in `runLiquidation`, if a revert occurs, the liquidation will not be possible.
## Impact
`runLiquidation` will revert and make bad debt.
## Tools Used
VS Code
## Recommendations
Due to the structure, it's hard to prevent the problem from happening at all.
The best solution is to limit the length of holder.