KVORUM
aaveSource: Aave governor v2 · #234

Caps Plus Risk Steward

executedMay 27, 2023, 11:06 AM UTCbyF70xf71f…1e02

01Summary

AISummary by Kvorumclaude-haiku-4-5

Grant the RISK_ADMIN role to CapsPlusRiskStewards smart contract on Aave v3 networks, enabling the RISK_COUNCIL (Gauntlet and Chaos Labs) to adjust asset borrow/supply caps upwards without full governance voting. Caps can only increase by up to 100% and only once every 5 days per asset.

Type
governance change

Key changes

  • Grant RISK_ADMIN role to CapsPlusRiskStewards contract across all Aave v3 networks(high)
  • Enable RISK_COUNCIL to unilaterally increase asset caps without governance overhead(high)
  • Implement safeguards: caps can only increase (not decrease), maximum 100% increase per adjustment, and 5-day cooldown between adjustments per asset(medium)

Notable concerns

  • Centralization of cap adjustment authority to risk providers through RISK_COUNCIL
  • Removal of community voting on cap increases despite historical unanimous support
  • Requires trust in Gauntlet and Chaos Labs decision-making for cap management
ContractsCapsPlusRiskStewards on ArbitrumCapsPlusRiskStewards on AvalancheCapsPlusRiskStewards on MainnetCapsPlusRiskStewards on MetisCapsPlusRiskStewards on OptimismCapsPlusRiskStewards on PolygonACL_MANAGER
Generated by Kvorum
model: claude-haiku-4-5
provider: anthropic
profile: anthropic-fast-v1
prompt: v1.0
generated: 2mo ago
Read the description ↗

02Description

342 words

Simple Summary

This governance proposal grants the RISK_ADMIN role to a CapsPlusRiskStewards smart contract on each network with an active instance of Aave v3. Once the CapsPlusRiskStewards has received the RISK_ADMIN role, the RISK_COUNCIL can adjust asset borrow/supply caps upwards without voting overhead. The RISK_COUNCIL is a Gnosis Safe controlled by the DAOs risk-providers (Gauntlet, Chaos Labs).

Motivation

During the last months, for the broad majority of proposals regarding caps updates, the support of the community has been almost unanimous, with 1 or 2 exceptions. The rationale of this is pretty clear: caps updates usually simply depend on the “green light” from the risk providers (Gauntlet, Chaos Labs) As both providers have historically been in agreement with the updates proposed, the community has just followed that recommendation by supporting on-chain.

Therefore, it seems that the community has important voting overhead in this scenario, which could be almost completely automated and simplified. It is quite common to have a proposal with unanimous support on day 1 of voting but given all other time considerations, execution is 3 to 5 days after.

This proposal gives the necessary RISK_ADMIN role to the CapsPlusRiskSteward introduced in this governance forum thread. After execution, the RISK_COUNCIL will be able to perform cap increases through the CapsPlusRiskStewards under the following conditions for each asset listed:

  • the cap can only be adjusted upwards
  • the cap can never be increased by more than 100%
  • the cap can only be adjusted once every 5 days

Specification

This proposal's payload executes ACL_MANAGER.addRiskAdmin(STEWARD) where STEWARD is the CapsPlusRiskStewards pre-deployed on the respective network.

Security procedures

The CapsPlusRiskStewards is unit tested.

The proposal execution is simulated within the tests.

Deployed Contracts

References

Copyright

Copyright and related rights waived via CC0.

03Mismatch analysis

AIMismatch analysis by Kvorumclaude-sonnet-5
Material discrepancy

I compared the six networks and payload/steward addresses explicitly named in the description's 'Deployed Contracts' section against the five decoded calldata actions. Actions 0-4 correctly correspond, by address, to the Mainnet, Polygon, Arbitrum, Optimism, and Metis payloads listed in the description (action 0 executes the Mainnet payload directly via fallback, while actions 1-4 route through bridge/executor contracts to the respective L2/sidechain payloads). All five matched addresses are consistent with what the description claims for those networks. However, the description states the RISK_ADMIN role will be granted to the CapsPlusRiskStewards contract on Avalanche as well, and even lists a specific deployed Avalanche steward and payload address, but no action in the provided calldata targets or references Avalanche in any way. This means the on-chain actions do not fully execute what the description promises — the Avalanche cap-increase capability described would not actually be enabled by this proposal's execution. This is a concrete, checkable gap between claimed scope and actual on-chain effect, so I classified it as a material discrepancy (extra claim in description not backed by calldata) rather than a severe one, since no funds or control are misdirected — one network's automation feature simply would not go live as claimed.

Discrepancies

  • mediumextra in description

    The description explicitly lists Avalanche as one of the six networks receiving the CapsPlusRiskStewards RISK_ADMIN grant, and provides both a deployed CapsPlusRiskSteward address (0xd2c92b...) and a corresponding Payload address (0x7e1f23bdfc7287af276f77b5a867e85cf0377a31) for Avalanche. However, none of the five decoded on-chain actions reference the Avalanche payload address or an Avalanche bridge/executor contract. The calldata only covers Mainnet, Polygon, Arbitrum, Optimism, and Metis — Avalanche is missing entirely.

    “grants the `RISK_ADMIN` role to a `CapsPlusRiskStewards` smart contract on each network with an active instance of Aave v3”

Generated by Kvorum
model: claude-sonnet-5
provider: anthropic
profile: anthropic-strong-v1
prompt: v1.0
generated: 2mo ago
Review the decoded actions ↗

04Actions

5 total
#0fallback()chain 0x1
Target
0x9012…3fd4
Value
0 wei
Function
fallback()
Arguments
{}
Calldata
#1execute(address)chain 0x1
Target
0x158a…d45b
Value
0 wei
Function
execute(address)
Arguments
{
  "0": "0x4C0633Bf70fB2bB984A9eEC5d9052BdEA451C70A"
}
Calldata
#2execute(address)chain 0x1
Target
0xd1b3…cfa3
Value
0 wei
Function
execute(address)
Arguments
{
  "0": "0xE79Ca44408Dae5a57eA2a9594532f1E84d2edAa4"
}
Calldata
#3execute(address)chain 0x1
Target
0x5f5c…6711
Value
0 wei
Function
execute(address)
Arguments
{
  "0": "0xA3e44d830440dF5098520F62Ebec285B1198c51E"
}
Calldata
#4execute(address)chain 0x1
Target
0x2fe5…c08f
Value
0 wei
Function
execute(address)
Arguments
{
  "0": "0xd91d1331db4F436DaF47Ec9Dd86deCb8EEF946B4"
}
Calldata

05Tally

Summed from votes

Voters0
VP participating0
Outcome (current)—
Current support—

06Voters

0 total
Filter:
VoterChoice% of totalRationale
320x329c…3ed4For231K0.00%—4y ago
620x62a4…816aFor82.4K0.00%—4y ago
B80xb83b…cf5cFor81K0.00%—4y ago
B90xb933…8dd1For41.7K0.00%—4y ago
180x1855…98baFor3K0.00%—4y ago
A00xa06c…61f7For678.80.00%—4y ago
EA0xea17…6676For39.60.00%—4y ago
F60xf614…a116For0.80.00%—4y ago
E40xe459…e666For0.50.00%—4y ago
8D0x8d52…6f34For0.10.00%—4y ago
450x45b7…e322For00.00%—4y ago
Showing 11

07Forum

AIForum synthesis by Kvorumclaude-sonnet-5
sentiment · favorablethread · constructive

Arguments for

  • A direct-to-AIP process for cap changes/FreezeReserve reduces governance delay and helps the protocol adapt quickly to market conditions.— MarcZeller
  • Introducing 'Risk Steward' smart contracts controlled by a 2-of-2 Gauntlet/Chaos Labs multisig would automate routine cap updates and cut voting overhead while speeding execution.— bgdlabs, MarcZeller, dtalwar, ChaosLabs, fig
  • Historical data shows cap-update proposals have been near-unanimously supported by the community, justifying automation of these routine decisions.— bgdlabs
  • Aave governance retains full sovereignty and can revoke Risk Steward permissions at any time, preserving ultimate DAO control.— bgdlabs, MarcZeller
  • A leaner, simpler governance structure for routine risk-parameter changes aligns with Aave's broader governance philosophy and improves efficiency.— fig

Arguments against

None surfaced.

Unresolved concerns

  • Decreasing supply/borrow caps could in some cases effectively freeze a reserve, and the community's view on allowing this outcome was not settled in the thread.— ChaosLabs
  • Whether the Risk Steward multisig should be expanded beyond Gauntlet and Chaos Labs to include entities like ACI, Llama, or governance coordinators remained an open question, with MarcZeller preferring to wait until the pilot matures.— fig, MarcZeller
  • The long-term solution of an elected Risk Council with broader risk-management authority was acknowledged as technically possible but still immature, leaving the Risk Steward as only a temporary measure.— MarcZeller

Notable participants

  • MarcZellerOriginal proposer of the Caps Update Framework and vocal supporter of the subsequent Risk Steward proposal, responding to community suggestions.
  • bgdlabsProposed the Risk Steward smart contract mechanism to automate cap changes via a Gauntlet/Chaos Labs multisig.
  • dtalwarRepresented Gauntlet, expressing support for reducing governance overhead through automation.
  • ChaosLabsRepresented Chaos Labs, supporting the proposal while flagging a concern about cap decreases effectively freezing reserves.
  • figRepresented Flipside, endorsing the leaner governance approach and suggesting future expansion of the multisig.
  • Kene_AnodeAgreed to incorporate the new framework into the broader Aave governance process documentation.
Generated by Kvorum
model: claude-sonnet-5
provider: anthropic
profile: anthropic-strong-v1
prompt: v1.0
generated: 2mo ago
Open the thread ↗