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: caps injector #29

Open
wants to merge 17 commits into
base: main
Choose a base branch
from

Conversation

brotherlymite
Copy link
Collaborator

@brotherlymite brotherlymite commented Jan 30, 2025

AaveStewardInjectorCaps

This PR adds the AaveStewardInjectorCaps contract to fetch cap updates from the edgeRiskOracle and inject them via the AaveRiskSteward into the protocol.

Changelog:

  • Adds the new AaveStewardInjectorCaps contract for cap update injection
  • Adds the EdgeRiskStewardCaps contract to only allow cap updates on the Steward to be used by the new injector.
  • Adds a method to pause / unpause the injector for all updates, this method can be called by the guardian.
  • Refactored the previous AaveStewardInjector for rates into a base contract which is now being inherited by AaveStewardInjectorCaps and AaveStewardInjectorRates contract.

Misc Considerations:

  • On the AaveStewardInjectorCaps contract, the owner / governance has access to update the markets for cap updates.
  • Automation infra, for ex. chainlink automation has limitation for the checker function which runs off-chain to consume a max gas 10m. If the number of assets / markets increases significantly the checker method can cross the max gas limit in theory. For the current use-case in practise, it has been checked and validated that the checker gas limit will not be crossed with significant margin even if quite a lot of markets / assets are added on the injector contract.

@brotherlymite brotherlymite marked this pull request as ready for review January 31, 2025 14:11
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.

1 participant