Core Contracts

Regnum Aurum Acquisition Corp
HardhatReal World AssetsNFT
77,280 USDC
View results
Submission Details
Severity: low
Valid

Missing incentive to initiate liquidation leads to bad debt in the protocol

Summary

The initiateLiquidation function in the LendingPool contract lacks economic incentives for liquidators to initiate the liquidation process. This design flaw could lead to delayed or missed liquidations of undercollateralized positions, putting the protocol's solvency at risk.

Vulnerability Details

The current implementation of the initiateLiquidationdoesn't incentivice the liquidator (caller) to trigger this process.

The liquidator who initiates the process:

  • Pays gas fees for the transaction

  • Receives no compensation for their service

There is no economical reason to call this function.

function initiateLiquidation(address userAddress) external nonReentrant whenNotPaused {
if (isUnderLiquidation[userAddress]) revert UserAlreadyUnderLiquidation();
// update state
ReserveLibrary.updateReserveState(reserve, rateData);
UserData storage user = userData[userAddress];
uint256 healthFactor = calculateHealthFactor(userAddress);
if (healthFactor >= healthFactorLiquidationThreshold) revert HealthFactorTooLow();
isUnderLiquidation[userAddress] = true;
liquidationStartTime[userAddress] = block.timestamp;
emit LiquidationInitiated(msg.sender, userAddress);
}

Impact

  • Delayed / No Liquidations

  • Positions that should be liquidated remain active longer than they should => creates bad debt or even solvency

  • The protocol needs to implement some kind of monitoring services to initiate liquidations which could fail

Tools Used

  • Manual review

Recommendations

Implement some kind of a liquidation incentive usually in the form of a liquidation “bonus” or “reward” based on the borrowers collateral value.

Updates

Lead Judging Commences

inallhonesty Lead Judge 3 months ago
Submission Judgement Published
Invalidated
Reason: Design choice
inallhonesty Lead Judge 3 months ago
Submission Judgement Published
Invalidated
Reason: Design choice

Appeal created

inallhonesty Lead Judge 3 months ago
Submission Judgement Published
Validated
Assigned finding tags:

No incentive to liquidate

Support

FAQs

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