Liquidate the under collateralized positions and auction off the asset
Liquidator's main job is to check if equity or debt position is under collateralized and if true, liquidate the position. When a debt position is liquidated, the collateral asset will be auction off to covered off to cover the debt position and debt penalty fee. Auction for debt position will only sell to raise the debt amount + penalty fee, any extra asset will be returned to the owner.
When a equity position is liquidated, the stablecoin created by those position will be removed and the asset (minus penalty amount) will be returned to the position holder. The asset in the penalty amount will be auctioned off and the proceed will go to system reserve pool.
Note: if treasury doesn't have enough stablecoin to liquidate the equity position, the process will fail.
function assets(bytes32 assetId)
return the Asset struct for provided assetId
function initAsset(bytes32 assetId, AuctioneerLike auctioneer)
Initialize a new asset type of
function updatePenalties(bytes32 assetId, uint256 debtPenalty, uint256 equityPenalty)
Update the Penalties for a particular asset
function updateAuctioneer(bytes32 assetId, AuctioneerLike newAuctioneer)
Update auctioneer address for an asset
function reduceAuctionDebt(uint256 amount) onlyBy("auctioneer")
Reduces auction debt on reserve pool contract, only callable by
function liquidateVault(bytes32 assetId, address user)
Check if an position is under collateralized and if true, start an auction to sell the asset.