Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Short Summary:
AaveStewardInjector
: new robot contract to fetch updates from risk oracle and inject into the risk steward.RiskSteward
: all keepCurrent values and same updates not allowedEdgeRiskSteward
: modified risk steward which only allows interest rate updates.Aave Steward Injector:
The AaveStewardsInjector is a chainlink automation compatible contract which checks if updates from the Edge Risk Oracle could be pushed to the Risk Steward, and if so it injects the update from the Edge Risk Oracle to the Risk Stewards. The
AaveStewardsInjector
should be set as theriskCouncil
on the Risk Steward contract so it can inject updates.Some important things to note about the
AaveStewardInjector
:AaveStewardInjector
will be triggered by chainlink automation nodes, but the method to inject the updateperformUpkeep()
is made permissionless by design to allow for manual trigger.WETH
asset and the update typeRateStrategyUpdate
will be whitelisted on the steward injector.AaveStewardInjector
will inject new updates from there if there will be any.Risk Steward:
The Aave Generalised Risk Steward does not allow updates which does not change the protocol state and instead reverts in those cases.
EngineFlags.KEEP_CURRENT
, we were not reverting before but it makes sense to revert as it does not change any risk params on the protocol and is simply a waste of gas.EngineFlags.KEEP_CURRENT
for a param update with no changes, we use the current param value which does not make much sense.