Skip to content
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

Feat: Gho steward v2 #388

Merged
merged 29 commits into from
Mar 15, 2024
Merged

Feat: Gho steward v2 #388

merged 29 commits into from
Mar 15, 2024

Conversation

JoaquinBattilana
Copy link
Member

@JoaquinBattilana JoaquinBattilana commented Feb 9, 2024

Usage

Allows approved risk provider to change GHO and GSM parameters.

Steps from governance to work as intended

These roles must be assigned by DAO:

  • PoolAdmin in the Aave V3 Ethereum Pool
  • BucketManager in GHO Token
  • Configurator in every GSM asset that the DAO wants the risk council to manage

Owner of the contract (DAO) needs to add each facilitator (GHO AToken/GSM) to a controlled list in GhoStewardV2, with setControlledFacilitator method
FixedRateStrategyFactory must be deployed before deploying the Stewards contract, as its used for creating fixed rate strategies for updating the GHO borrow rate.

Limitations on calls and/or parameters:

General:

  • Methods that change facilitators, GSM or GHO parameters can only be called by approved risk provider
  • Those methods have a timelock of 2 days

Facilitators:

  • updateFacilitatorBucketCapacity:
    • The update changes up to 100% upwards
    • Facilitator must be in controlled list

GHO:

GSM:

  • updateGsmExposureCap:
    • The update changes up to 100% upwards
  • updateGsmFeeStrategy:
    • the update changes up to 0.5% upwards (in both buy and sell individually)
    • Asumes that strategy is FixedFeeStrategy, since there is no other way to limit the parameters.
    • Uses FixedFeeStrategy

Management:

  • controlFacilitator:
    • Only callable by owner

Considerations:

  • There is no expiration set for the contract, so DAO should remove roles in case that they want to deprecate the functionality or call setControlledFacilitator with false if they want to disable it for certain GSMs

Copy link

height bot commented Feb 9, 2024

This pull request has been linked to 1 task:

💡Tip: Add "Close T-19001" to the pull request title or description, to a commit message, or in a comment to mark this task as "Done" when the pull request is merged.

@JoaquinBattilana
Copy link
Member Author

Link T-19001

@JoaquinBattilana JoaquinBattilana changed the title Feat: Gho steward v2 [WIP] Feat: Gho steward v2 Feb 19, 2024
@miguelmtzinf
Copy link
Contributor

Thanks for the review @sakulstra . All changes are applied now.

@miguelmtzinf miguelmtzinf requested a review from sakulstra March 7, 2024 15:39
@miguelmtzinf miguelmtzinf requested a review from marczeller March 15, 2024 08:28
@marczeller
Copy link
Contributor

as the market conditions changed quite a lot governance is requesting a change in stewards params : https://governance.aave.com/t/arfc-gho-stewards-borrow-rate-update/16956

here's the detail:

Description Current Proposed
GHO Borrow Cap 50M 100M
Max GHO Borrow Rate Adjustment 0.50% 5.00%
Max GHO Borrow Rate 9.50% 25.00%
Minimum Frequency of Change 7-Days 2-Days

we suggest implementing these changes and then sync enforcement with vote result

using ReserveConfiguration for DataTypes.ReserveConfigurationMap;

/// @inheritdoc IGhoStewardV2
uint256 public constant GHO_BORROW_RATE_MAX = 0.0950e27; // 9.50%
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
uint256 public constant GHO_BORROW_RATE_MAX = 0.0950e27; // 9.50%
uint256 public constant GHO_BORROW_RATE_MAX = 0.2500e27; // 25.00%

uint256 public constant GHO_BORROW_RATE_MAX = 0.0950e27; // 9.50%

/// @inheritdoc IGhoStewardV2
uint256 public constant GHO_BORROW_RATE_CHANGE_MAX = 0.0050e27; // 0.50%
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
uint256 public constant GHO_BORROW_RATE_CHANGE_MAX = 0.0050e27; // 0.50%
uint256 public constant GHO_BORROW_RATE_CHANGE_MAX = 0.0500e27; // 5.0%

uint256 public constant GSM_FEE_RATE_CHANGE_MAX = 0.0050e4; // 0.50%

/// @inheritdoc IGhoStewardV2
uint256 public constant MINIMUM_DELAY = 7 days;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
uint256 public constant MINIMUM_DELAY = 7 days;
uint256 public constant MINIMUM_DELAY = 2 days;

@miguelmtzinf
Copy link
Contributor

as the market conditions changed quite a lot governance is requesting a change in stewards params : https://governance.aave.com/t/arfc-gho-stewards-borrow-rate-update/16956

here's the detail:

Description Current Proposed
GHO Borrow Cap 50M 100M
Max GHO Borrow Rate Adjustment 0.50% 5.00%
Max GHO Borrow Rate 9.50% 25.00%
Minimum Frequency of Change 7-Days 2-Days
we suggest implementing these changes and then sync enforcement with vote result

Changes applied per gov thread discussion

@miguelmtzinf miguelmtzinf merged commit 77dd627 into main Mar 15, 2024
30 checks passed
@miguelmtzinf miguelmtzinf deleted the feat/gho-steward-v2 branch March 15, 2024 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants