With the addition of WBTC collateral, many people have been talking about putting up more safeguards to avoid total loss in an infimint situation. While without migrating WBTC to a new cToken, I don’t think a supply cap is possible, but blck and I thought it’d be beneficial if we implement borrow limits for each cToken to reduce potential losses.
For example, ETH is rarely borrowed, so why should it be possible to borrow the whole supply when the only possible situation for that happening will be a compromised collateral infimint?
Borrow limits will be set by the admin or guardian and borrows will gracefully fail if the borrow amount brings total borrow above the set limit. The limits will be set high enough to enable normal usage but minimize loss of funds. I still believe that a supply cap is a much better solution and this restriction can be disabled if a supply cap is implemented in the future.
I have submitted a PR on GitHub with the code. A preliminary version is currently the Comptroller on Kovan. It has a borrow limit of 10,000 * 1e18 underlying for all assets. Currently, I am working on writing tests for the new patch.
This is a preliminary idea for starting borrow limits. These numbers are mostly random to help start discussion on what they should be. Setting the borrow limits will be successive calls in the same governance proposal after setting the new comptroller.
Things to discuss: what should the initial borrow limits be for each asset, does this comptroller patch need to be professionally audited, do we like this idea, should the guardian have full reign over the borrow limit?