Skip to content

Liquidation Edge Cases #173

@mts1715

Description

@mts1715

Context

Implement comprehensive test coverage for complex liquidation edge cases including partial liquidation sequences, multi-collateral seizure logic, DEX liquidity constraints, competing liquidator scenarios, and bad debt handling to ensure the protocol remains secure and economically sound under adversarial and extreme market conditions.
Current Phase 1 test coverage addresses basic liquidation workflows — single-collateral positions, straightforward health factor transitions, and simple liquidator interactions. Production environments will expose the protocol to sophisticated liquidation dynamics involving multiple competing actors, fragmented collateral portfolios, volatile DEX conditions, and economic edge cases where liquidation incentives may be insufficient. This gap represents a critical risk for protocol solvency, liquidator participation, and fair loss distribution

Missing Test Coverage

  • Partial Liquidation Sequences

    • User creates 5+ positions with different collateral types
    • Position health = 0.95 (slightly unhealthy)
    • Liquidator 1 partially liquidates (health → 1.05)
    • Liquidator 2 attempts to liquidate (should fail, position now healthy)
    • Incremental liquidation to target health
  • Multi-Collateral Liquidations

    • Position has FLOW + USDC + WETH collateral
    • Liquidator can choose which collateral to seize
    • Optimal collateral selection for liquidator profit
    • Gas-efficient multi-asset seizure
  • DEX Liquidity Constraints

    • Liquidator needs to swap seized collateral
    • DEX has insufficient liquidity
    • Slippage exceeds acceptable threshold
    • Liquidation fails or partial execution
  • Liquidation Slippage Protection

    • Liquidator specifies maximum slippage
    • Price moves during liquidation execution
    • Slippage exceeds maximum, transaction reverts
    • Slippage within bounds, liquidation succeeds
  • Competing Liquidators (MEV)

    • Multiple liquidators see unhealthy position
    • Liquidator A submits transaction
    • Liquidator B front-runs with higher gas
    • First successful liquidation wins
    • Second liquidation fails (position now healthy)
  • Liquidation Incentive Calculations

    • Liquidator discount: 5% bonus on seized collateral
    • Protocol fee: 2% of liquidation
    • Verify correct splits
    • Incentive sufficient to cover gas costs
  • Bad Debt Handling

    • Position collateral value < debt value
    • Complete collateral seizure insufficient to cover debt
    • Bad debt recorded in protocol reserves
    • Socialized loss mechanism (if implemented)
  • High Gas Cost Environment

    • Gas costs exceed liquidation profit
    • Rational liquidators decline to liquidate
    • Protocol mechanisms to handle delayed liquidations
    • Liquidation incentive adjustment

Recommended Tests:

Test: Partial liquidation brings health from 0.95 to 1.05
Test: Liquidate position with 3 collateral types, liquidator chooses USDC
Test: DEX liquidity only 50% of needed, liquidation partially executes
Test: Liquidation slippage 3%, max allowed 2%, transaction reverts
Test: Two liquidators compete, first succeeds, second fails
Test: Liquidation bonus 5%, protocol fee 2%, validate splits
Test: Position value $900, debt $1000, all collateral seized, $100 bad debt
Test: Gas cost $10, liquidation profit $5, liquidator declines

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions