-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add _setCollateralPaused function to Comptroller #19
Comments
Isn't this already covered by the below method and check? anchor/contracts/Comptroller.sol Lines 1012 to 1020 in 9c3239c
anchor/contracts/Comptroller.sol Lines 331 to 332 in 9c3239c
|
Different scenarios. The above case is enough if you want to pause borrowing a token completely. The issue requested a way to stop said token from being a collateral for new loans. E.g. |
Add a
_setCollateralPaused(CToken cToken, bool state) public returns (bool)
function the Comptroller that disables future borrows for all users using a cToken as collateralSimilar to the other guardian roles, the function can be called by either the
pauseGuardian
or theadmin
(governance). However, onlyadmin
can passstate
as false. Both can pass it as true.If
state
is passed as true, the Comptroller should prevent future borrows across all Anchor markets for any user that uses thecToken
as a collateral by checkingcheckMembership(address account, CToken cToken)
function. If passed as false, the effect should be reversed.The function should allow multiple cTokens to be paused as collateral at the same time.
Changes should be made to https://github.com/InverseFinance/anchor/blob/master/contracts/Comptroller.sol and its dependencies only.
The modified Comptroller will replace the existing Anchor Comptroller on Ethereum by executing a a proxy pattern upgrade on the Unitroller https://etherscan.io/address/0x4dcf7407ae5c07f8681e1659f626e114a7667339
Changes to the Comptroller must follow proxy pattern best practices in order to avoid an upgrade flaw
The text was updated successfully, but these errors were encountered: