BUSD Deprecation - Forced Liquidations

Venus Dev team proposes the following:

Goals

  • Enable “forced liquidations” in the BUSD market
  • Allow, only, an authorized account (authorized via VIP) to liquidate the BUSD positions
  • Send (almost) 100% of the liquidations incentive to the Venus Treasury contract. It will be used to repay the BUSD shortfall in the future
    • The “almost” term is because we should compensate the operator of the BUSDLiquidator contract. If this operator gets the BUSD funds from a flash swap, they will have to pay a fee, that should be covered with part of the liquidation incentive.

Proposal

  • Deploy a contract BUSDLiquidator with a function to perform liquidations.
    • Params:
      • User address of the borrower to liquidate
      • Market address of the collateral to seize
      • Amount of BUSD to repay (optional, if it’s not provided 100% of the BUSD position will be liquidated)
    • The sequence of actions (ignoring the needed checks):
      • Transfer BUSD from the sender to the BUSDLiquidator (the sender should allow beforehand the BUSDLiquidator to transfer the BUSD tokens to the BUSDLiquidator contract)
      • Enable liquidations on the BUSD market
      • Invoke Liquidator.liquidateBorrow, hardcoding the BUSD market address, to perform the liquidation
      • Split the seized tokens:
        • 5/105 should be transferred to the Venus Treasury
        • 100/105 should be transferred to the sender
          • it should transfer the sender more than 100/105, assuming they will use a flash swap, there should be some margin to repay the liquidity provider fee
      • Pause liquidations on the BUSD market
    • Anyone would be authorized to invoke this function
    • The invoker should be able to do a flash swap
  • VIP:
    • Pause liquidations on the BUSD market
    • Authorize the BUSDLiquidator to resume and pause liquidations
    • Enable “forced liquidations” in the BUSD market
    • Set to zero the Interest rate in the BUSD market, to stop accruing interest on the bad debt

The following diagram shows the main transfers of tokens: