Collateral Auction Throttler
1. Summary
The CollateralAuctionThrottler
is meant to recompute the onAuctionSystemCoinLimit
for the LiquidationEngine
according to the latest global debt supply.
The throttler inherits functionality from the IncreasingTreasuryReimbursement.
2. Contract Variables & Functions
Variables
updateDelay
- minimum **** delay between updatesbackupUpdateDelay
- delay since the last update time after whichbackupLimitRecompute
can be calledglobalDebtPercentage
- percentage of global debt taken into account in order to setLiquidationEngine.onAuctionSystemCoinLimit
minAuctionLimit
- the minimum value that can be set foronAuctionSystemCoinLimit
lastUpdateTime
- last timestamp when theonAuctionSystemCoinLimit
was updatedliquidationEngine
- theLiquidationEngine
contractsafeEngine
- theSAFEEngine
contractsurplusHolders
- list of surplus holders taken into account when recomputing theonAuctionSystemCoinLimit
Functions
modifyParameters
- modify contract parametersrecomputeOnAuctionSystemCoinLimit(feeReceiver: address)
- recompute and set the newonAuctionSystemCoinLimit
backupRecomputeOnAuctionSystemCoinLimit()
- backup function for recomputing theonAuctionSystemCoinLimit
in case of a severe delay since the last update
3. Walkthrough
recomputeOnAuctionSystemCoinLimit
is the core function used to periodically recompute the onAuctionSystemCoinLimit
and set it in the liquidationEngine
. Anyone can call this function as long as at least updateDelay
seconds have passed since the last update. The function rewards the caller with surplus coming from the treasury
.
backupRecomputeOnAuctionSystemCoinLimit
is a backup function that can be called if at least backupUpdateDelay
seconds have passed since the lastUpdateTime
. As the name mentions, it is meant to work as a backup in case recomputeOnAuctionSystemCoinLimit
hasn't been called in a long time (e.g because of bugs).