Skip to content

Commit 8ddb0de

Browse files
chore: update agents md (#936)
* chore: update agents md * docs: update note * chore: fix from suggestion Co-authored-by: Ernesto Boado <[email protected]> * chore: fix lint * chore: update md grammar * chore: update discussion link --------- Co-authored-by: Ernesto Boado <[email protected]>
1 parent 7e54225 commit 8ddb0de

File tree

3 files changed

+64
-23
lines changed

3 files changed

+64
-23
lines changed

src/20251201_Multi_MigrateAutomatedRiskUpdateInfraToChaosAgents/AaveV3Ethereum_ReimburseLinkForRobot_20251201.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {CollectorUtils, ICollector} from 'aave-helpers/src/CollectorUtils.sol';
99
* @title Migrate automated risk update infra to chaos agents
1010
* @author BGD Labs (@bgdlabs)
1111
* - Snapshot: https://snapshot.org/#/s:aavedao.eth/proposal/0x9795f1b7057d2780b3382b9f67f309fbfead98e7357a88df4c309dbbfefcbeb7
12-
* - Discussion: https://governance.aave.com/t/arfc-chaos-risk-agents/23401
12+
* - Discussion: https://governance.aave.com/t/technical-maintenance-proposals/15274/122
1313
*/
1414
contract AaveV3Ethereum_ReimburseLinkForRobot_20251201 is IProposalGenericExecutor {
1515
using CollectorUtils for ICollector;

src/20251201_Multi_MigrateAutomatedRiskUpdateInfraToChaosAgents/MigrateAutomatedRiskUpdateInfraToChaosAgents.md

Lines changed: 62 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,98 @@
11
---
2-
title: "Migrate automated risk update infra to chaos agents"
2+
title: "AGRS (Risk Stewards) migration to Risk Agents"
33
author: "BGD Labs (@bgdlabs)"
4-
discussions: "https://governance.aave.com/t/arfc-chaos-risk-agents/23401"
4+
discussions: "https://governance.aave.com/t/technical-maintenance-proposals/15274/122"
55
snapshot: "https://snapshot.org/#/s:aavedao.eth/proposal/0x9795f1b7057d2780b3382b9f67f309fbfead98e7357a88df4c309dbbfefcbeb7"
66
---
77

88
## Simple Summary
99

10-
This proposal migrates all existing injector middleware infra used to perform automated risk updates to the new chaos agents system.
10+
Following the approval of [Risk Agents](https://governance.aave.com/t/technical-maintenance-proposals/15274/122), this proposal migrates all existing injector middleware infra used to perform automated risk updates to the new chaos agents system.
1111

1212
## Motivation
1313

14-
Currently, the AGRS in conjunction with the injector system is responsible for processing risk recommendations for a range of parameters including supply and borrow caps, interest rates, pendle pt e-mode collateral params and CAPO values across multiple assets and Aave instances. These updates are executed through the injector middleware which consume updates from the chaos risk oracles and inject updates onto the Aave protocol in real-time.
14+
Currently, the AGRS, in conjunction with the injector system, is responsible for processing highly constrained risk recommendations for a range of parameters, including supply and borrow caps, interest rates, pendle pt e-mode collateral params, and CAPO values across multiple assets and Aave instances. These updates are executed through the injector middleware, which consumes updates from the chaos risk oracles and injects updates onto the Aave protocol in real-time.
1515

1616
While the existing system has served Aave more than well, several limitations exist:
1717

18-
- Limited generalization: Almost every Risk Stewards activation requires ad-hoc replication of the entire architecture. This results in meaningful overhead for Aave SPs (e.g., ACI, Chaos Labs, BGD Labs).
18+
- Limited generalization: Almost every Risk Stewards activation requires ad-hoc replication of the entire architecture. This results in meaningful overhead for Aave SPs.
1919
- Limited infrastructure visibility: Tracking all active Risk Stewards, as well as their covered assets and constraints, can be challenging at times.
2020

2121
The Chaos Risk Agents framework generalizes and modularizes the process of ingesting Risk Oracle data within Aave. It eliminates redundant deployments, centralizes validation logic, and improves visibility across all risk automation layers. The result is a cleaner, more maintainable architecture that allows Aave to expand real-time risk management capabilities, ensuring consistent, verifiable execution of parameter updates.
2222

2323
## Specification
2424

25-
All the current automated risk param updates will be migrated from the old injector infra to the chaos-agent system including the following:
26-
27-
| Risk Param | Network Instance |
28-
| --------------------------------------------- | --------------------------------------------------------- |
29-
| Supply and Borrow Caps | Arbitrum, Avalanche, Base, BNB, Gnosis, Optimism, Polygon |
30-
| Pendle EMode Collateral Param | EthereumCore, Plasma |
31-
| Pendle Discount Rate | EthereumCore, Plasma |
32-
| Interest Rate: Base, Slope1, Slope2, uOptimal | EthereumPrime |
33-
| Interest Rate: Slope2 | EthereumCore, Linea |
34-
35-
The chaos agent contracts have not been pre-configured during deployment and all operations including the following will be done on the payload:
25+
All the current automated risk param updates will be migrated from the old injector infra to the chaos-agent system, including the following:
26+
27+
| Risk Param | Network Instance | Constrains |
28+
| --------------------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------------------- |
29+
| Supply and Borrow Caps | Arbitrum, Avalanche, Base, BNB, Gnosis, Optimism, Polygon | max 30% relative change / 3 days |
30+
| Pendle EMode Collateral Param | EthereumCore, Plasma | max 0.5% absolute change / 3 days for LT, LTV, LB |
31+
| Pendle Discount Rate | EthereumCore, Plasma | max 1% absolute change / 2 days |
32+
| Interest Rate: Base, Slope1, Slope2, uOptimal | EthereumPrime | max 3% uOpt, 0.5% base, 0.5% slope1, 5% slope2 absolute change / 1 day |
33+
| Interest Rate: Slope2 | EthereumCore, Linea | max 4% absolute change / 8 hours |
34+
35+
Whitelisted Assets / Markets configured by agent:
36+
37+
| | Whitelisted Assets / Markets |
38+
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
39+
| Arbitrum Supply / Borrow Caps | WETH, USDC, USDT, WBTC, DAI, weETH, ARB, USDC.e, GHO, LINK, wstETH, LUSD, FRAX, rETH, AAVE |
40+
| Avalanche Supply / Borrow Caps | WETHe, USDCe, USDTe, WBTCe, DAIe, LINKe, AAVEe, WAVAX, sAVAX, FRAX, MAI, BTCb, AUSD |
41+
| Base Supply / Borrow Caps | WETH, cbETH, USDC, USDbC, weETH, GHO, wstETH, cbBTC, LBTC, EURC |
42+
| BNB Supply / Borrow Caps | ETH, wstETH, BTCB, USDC, USDT, WBNB |
43+
| Gnosis Supply / Borrow Caps | WETH, wstETH, USDCe, sDAI, EURe, GNO |
44+
| Optimism Supply / Borrow Caps | WETH, wstETH, rETH, WBTC, USDC, USDT, OP |
45+
| Polygon Supply / Borrow Caps | WETH, wstETH, WBTC, USDC, USDC.e, USDT, DAI, AAVE, LINK, WPOL |
46+
| EthereumCore Pendle EMode Collateral | EMode Ids: 8, 9, 10, 12, 13, 14, 17, 18, 19, 20, 24, 25, 27, 28, 29, 30, 31, 32 |
47+
| Plasma Pendle EMode Collateral | EMode Ids: 5, 6, 7, 8, 13, 14, 15, 16 |
48+
| EthereumCore Pendle Discount Rate | PT_sUSDe_31JUL25, PT_USDe_31JUL25, PT_eUSDe_14AUG25, PT_sUSDe_25SEP25, PT_USDe_25SEP25, PT_sUSDe_27NOV25, PT_USDe_27NOV25, PT_sUSDe_5FEB26, PT_USDe_5FEB26 |
49+
| Plasma Pendle Discount Rate | PT_sUSDe_15JAN26, PT_USDe_15JAN26, PT_sUSDE_9APR26, PT_USDE_9APR26 |
50+
| EthereumPrime Interest Rate | WETH |
51+
| EthereumCore Slope2 Interest Rate | WETH, USDC, USDT, USDe |
52+
| Linea Slope2 Interest Rate | WETH, USDC, USDT |
53+
54+
_Please note: The whitelisted assets and the constraints are the same as previously on the AGRS injector infra. This proposal only migrates the existing automated AGRS system using injector infrastructure; there is no change to the manual AGRS system, and updates on it using the new infra will be applied at a different AIP._
55+
56+
The risk agent contracts have not been pre-configured during deployment, and all operations, will be done on the payload:
3657

3758
- Register new agents on the AgentHub contract by calling `registerAgent()`
3859
- Configure constrained ranges on the `RangeValidationModule` to strictly bound the risk param update from the Chaos Risk Oracle.
3960
- Give `RISK_ADMIN` role to the AgentContract which will be called by the Chaos Agent system to inject updates onto the Aave protocol.
40-
- Revoke `RISK_ADMIN` role from the previous injector contracts as this system will be unused.
41-
- Cancel previous injector automation and register new one's on the AgentHub Automation wrapper contract. This is done only on networks were we use chainlink automation, on Linea, Gnosis and Plasma networks this will be done off-chain using the DAO account on Gelato automation.
61+
- Revoke `RISK_ADMIN` role from the previous injector contracts, as this system will be unused.
62+
- Cancel previous injector automation and register new ones on the AgentHub Automation wrapper contract. This is done only on networks where we use Chainlink automation, on Linea, Gnosis, and Plasma networks, this will be done off-chain using the DAO account on Gelato automation.
4263
- Reimburse BGD Labs with 120 LINK by withdrawing aLINK from Collector on Ethereum, which was used to fund chainlink automation on BNB, Base networks as Collector did not have LINK on those networks.
4364

4465
All configurations used on the proposal payload could be found on the [AgentConfigLib](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/AgentConfigLib.sol).
4566

46-
More detailed specification can be found on the [chaos-agents-migration](https://github.com/bgd-labs/chaos-agents-migration) repo.
67+
More detailed specifications can be found on the [chaos-agents-migration](https://github.com/bgd-labs/chaos-agents-migration) repo.
68+
69+
### Security
70+
71+
Chaos Risk Agent contracts is independently audited by [Zellic](https://github.com/ChaosLabsInc/chaos-agents/blob/f02af714ef069e54bae577ac2d34bb3d57d6e1cd/audits/zellic/v1-zellic.pdf) and [Hexens](https://github.com/ChaosLabsInc/chaos-agents/blob/f02af714ef069e54bae577ac2d34bb3d57d6e1cd/audits/hexens/v1-hexens.pdf). In addition, the migration proposal payload and setup has been reviewed by Certora.
72+
73+
### Permissions
74+
75+
Detailed permissions post payload execution of the Chaos Risk Agent could be found on the [permissions-book](https://github.com/aave-dao/aave-permissions-book/compare/47474555dcf6a3d5ce45a0bab7de7bb6d87c1690..33e2307e063e4e21db2408d606ff9bb7a7885ddf), but to summarize (for all networks):
76+
77+
| Role | Entity |
78+
| ----------------------------------- | ------------------------- |
79+
| AgentHub Owner | Governance Executor Lvl 1 |
80+
| AgentHub ProxyAdmin owner | Governance Executor Lvl 1 |
81+
| Agent Admin | Governance Executor Lvl 1 |
82+
| RangeValidationModule Config Update | Governance Executor Lvl 1 |
83+
| `RISK_ADMIN` on ACL Manager | Each Agent contract |
84+
85+
### Addresses
86+
87+
All Agents Hub addresses per network can be found on [Aave Address Book](https://search.onaave.com/?q=agent%20hub).
4788

4889
## References
4990

5091
- Implementation: [BaseMigrationPayload](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/BaseMigrationPayload.sol), [AaveV3Ethereum](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/payloads/EthereumCoreMigrationPayload.sol), [AaveV3EthereumPrime](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/payloads/EthereumPrimeMigrationPayload.sol), [AaveV3Ethereum_ReimburseLinkForRobot](https://github.com/bgd-labs/aave-proposals-v3/blob/f1f657065c0b6689289710fd8d2e1ceb199a8a91/src/20251201_Multi_MigrateAutomatedRiskUpdateInfraToChaosAgents/AaveV3Ethereum_ReimburseLinkForRobot_20251201.sol), [AaveV3Polygon](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/payloads/PolygonMigrationPayload.sol), [AaveV3Avalanche](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/payloads/AvalancheMigrationPayload.sol), [AaveV3Optimism](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/payloads/OptimismMigrationPayload.sol), [AaveV3Arbitrum](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/payloads/ArbitrumMigrationPayload.sol), [AaveV3Base](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/payloads/BaseNetworkMigrationPayload.sol), [AaveV3Gnosis](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/payloads/GnosisMigrationPayload.sol), [AaveV3BNB](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/payloads/BNBMigrationPayload.sol), [AaveV3Linea](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/payloads/LineaMigrationPayload.sol), [AaveV3Plasma](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/src/contracts/payloads/PlasmaMigrationPayload.sol)
5192
- Tests: [BaseMigrationTest](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/tests/BaseMigrationPayload.t.sol), [AaveV3Ethereum](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/tests/payloads/EthereumCoreMigrationPayload.t.sol), [AaveV3EthereumPrime](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/tests/payloads/EthereumPrimeMigrationPayload.t.sol), [AaveV3Ethereum_ReimburseLinkForRobot](https://github.com/bgd-labs/aave-proposals-v3/blob/f1f657065c0b6689289710fd8d2e1ceb199a8a91/src/20251201_Multi_MigrateAutomatedRiskUpdateInfraToChaosAgents/AaveV3Ethereum_ReimburseLinkForRobot_20251201.t.sol), [AaveV3Polygon](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/tests/payloads/PolygonMigrationPayload.t.sol), [AaveV3Avalanche](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/tests/payloads/AvalancheMigrationPayload.t.sol), [AaveV3Optimism](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/tests/payloads/OptimismMigrationPayload.t.sol), [AaveV3Arbitrum](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/tests/payloads/ArbitrumMigrationPayload.t.sol), [AaveV3Base](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/tests/payloads/BNBMigrationPayload.t.sol), [AaveV3Gnosis](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/tests/payloads/GnosisMigrationPayload.t.sol), [AaveV3BNB](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/tests/payloads/BNBMigrationPayload.t.sol), [AaveV3Linea](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/tests/payloads/LineaMigrationPayload.t.sol), [AaveV3Plasma](https://github.com/bgd-labs/chaos-agents-migration/blob/88bb6f3c4e043960f8cb42741ebe13c46c73b944/tests/payloads/PlasmaMigrationPayload.t.sol)
5293
- [Snapshot](https://snapshot.org/#/s:aavedao.eth/proposal/0x9795f1b7057d2780b3382b9f67f309fbfead98e7357a88df4c309dbbfefcbeb7)
53-
- [Discussion](https://governance.aave.com/t/arfc-chaos-risk-agents/23401)
54-
- Github: [Chaos Agents](https://github.com/ChaosLabsInc/chaos-agents)
94+
- [Discussion](https://governance.aave.com/t/technical-maintenance-proposals/15274/122)
95+
- Github: [Chaos Agents](https://github.com/ChaosLabsInc/chaos-agents), [Aave Risk Agents](https://github.com/bgd-labs/aave-agents), [Migration Payload](https://github.com/bgd-labs/chaos-agents-migration)
5596

5697
## Copyright
5798

src/20251201_Multi_MigrateAutomatedRiskUpdateInfraToChaosAgents/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export const config: ConfigFile = {
1818
shortName: 'MigrateAutomatedRiskUpdateInfraToChaosAgents',
1919
date: '20251201',
2020
author: 'BGD Labs (@bgdlabs)',
21-
discussion: 'https://governance.aave.com/t/arfc-chaos-risk-agents/23401',
21+
discussion: 'https://governance.aave.com/t/technical-maintenance-proposals/15274/122',
2222
snapshot:
2323
'https://snapshot.org/#/s:aavedao.eth/proposal/0x9795f1b7057d2780b3382b9f67f309fbfead98e7357a88df4c309dbbfefcbeb7',
2424
votingNetwork: 'AVALANCHE',

0 commit comments

Comments
 (0)