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).