Governance
Governance is managed by a multisig requiring a 60% signer threshold.
Some governance actions have a timelock: a period of time after the approval of a governance proposal during which the proposal cannot be executed, giving users a buffer period to review the governance proposal and react accordingly. Actions that update governance or protocol variables are time locked so that users may withdraw funds before the action is executed, if desired. The timelock period is set to 24 hours.
Governance can perform the following actions:
update-governance
Update governance contract used by the State Contract
Time locked
freeze-upgrades
Freeze contract upgrades - enabling this means that no contracts can be upgraded, the protocol is fully immutable
Time locked
set-deposit-asset-flag
Disable/enable depositing market assets by the LPs
N/A
set-withdraw-asset-flag
Disable/enable withdrawing market assets by the LPs Used to selectively restart market functions (if necessary) after a pause
N/A
set-add-collateral-flag
Action to disable adding collateral to market by the borrowers Used to selectively restart market functions (if necessary) after a pause
N/A
set-remove-collateral-flag
Action to disable/enable removing collateral from market. by the borrowers Used to selectively restart market functions (if necessary) after a pause
N/A
set-borrow-flag
Action to disable/enable Borrow
N/A
set-repay-flag
Action to disable/enable Repay
N/A
set-liquidation-flag
Action to disable/enable Liquidation
N/A
pause-market
Action to pause market
N/A
unpause-market
Action to unpause market
N/A
update-collateral-settings
Action to update collateral settings or add new collateral to market. Collateral setting include max-ltv, liquidation-ltv, liquidation-premium
Time locked
deposit-to-reserve
Action to deposit funds from Governance contract into Market reserve balance in the State contract
N/A
withdraw-from-reserve
Action to withdraw from Market reserve balance in the State contract. Withdrawal would withdraw into the governance contract; would be used in conjunction with transfer-funds
.
Time locked
set-allowed-contract
Action to update Allowed contract list
Time locked
remove-allowed-contract
Action to remove allowed contract list
Time locked
add-guardians
Action to add guardians
Time locked
remove-guardians
Action to remove guardians
N/A
update-interest-rate-params
Action to update interest rate params
Time locked
update-protocol-reserve-percentage
Action to update protocol reserve percentage
Time locked
update-asset-cap
Action to update asset cap on market
N/A
transfer-funds
Action transfer funds from the governance contract to a specific recipient; would be used in conjunction with withdraw-from-reserve
.
N/A
remove-collateral
Action to remove collateral from protocol. Removing a collateral means borrowers cannot interact with the collateral and liquidations would be stopped, and collateral value would not be counted in position value.
This would be used after a pause()
if there is an oracle price attack, to protect against invalid withdraws or deposits
Can re-enable using update-collateral
later
Time locked
set-interest-accrual-flag
Action to enable/disable interest accrual
N/A
update-reward-rate-params
Action to update staking reward rate params
Time locked
update-withdrawal-finalization-period
Action to update withdrawal finalization period
Time locked
update-pyth-token-feed
Action to update pyth token feed
N/A
reconcile-staking-lp-balance
Action to reconcile staking lp balance In case somebody transfers lp tokens to the staking contract without actually staking them - this would stake these LP tokens as a donation to the current stakers
N/A
set-staking flag
Action to enable or disable staking
N/A
update-pyth-time-delta
Action to update pyth time delta
N/A
set-lp-cap
Action to set lp cap
Time locked
set-debt-cap
Action to set debt cap
Time locked
set-collateral-cap
Action to set collateral cap
Time locked
set-cap-time-window
Action to set withdrawal caps time window
Time locked
Last updated