KVORUM
compoundSource: Compound governor bravo · #348

Aera <> Compound Extension

canceledOct 20, 2024, 04:14 PM UTCby680x683a…6c02

01Summary

AISummary by Kvorumclaude-haiku-4-5

Compound DAO continues its partnership with Aera treasury management by deploying excess stablecoin reserves (15M DAI, 10M USDC) and 2,000 ETH into yield-generating strategies via Compound V3 lending markets. This extension aims to generate $1M+ in additional treasury revenue and drive $30M in new TVL, while updating the vault's objective function from volatility targeting to yield generation.

Type
treasury allocation

Key changes

  • Deploy 15M DAI from Compound V2 reserves into Aera vault for yield generation(high)
  • Deploy 10M USDC from Compound V2 reserves into Aera vault for yield generation(high)
  • Deploy 2,000 ETH (wrapped as WETH) from Compound Treasury into Aera vault for yield generation(high)
  • Update vault objective function from targeted volatility to yield generation for stablecoin reserves(high)
  • Add DAI and cWETHv3 Pricer as new vault assets(medium)
  • Accept ownership of new hooks module to bypass Governor Bravo 10-action limit(medium)

Notable concerns

  • Proposal uses a workaround (new hooks module at 0x8A216F2C84a3fE5a51Bf57B685864A065D14C53a) to circumvent Governor Bravo's 10-action limit, adding complexity to governance execution
  • Significant concentration of treasury assets (15M DAI, 10M USDC, 2,000 ETH) deployed to single yield strategy introduces counterparty and market risk
Contracts0xc7252fa289128597631eeca427cbde6e14559d330x3d6eef6a92b15361697698695334e98c5db91d6b0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20x5d3a536e4d6dbd6114cc1ead35777bab948e36430x6b175474e89094c44da98b954eedeac495271d0f0x39aa39c021dfbae8fac545936693ac917d5e75630xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Generated by Kvorum
model: claude-haiku-4-5
provider: anthropic
profile: anthropic-fast-v1
prompt: v1.0
generated: 2mo ago
Read the description ↗

02Description

341 words

Aera <> Compound Extension

Simple Summary

For over a year, the Compound DAO has used Aera for treasury management. This proposal builds upon prior work to further operationalize the DAO's treasury.

There is currently an excess of USDC and DAI reserves in Compound V2, which could be deployed in lending markets to generate yield for the treasury. Additionally, a portion of the ETH in the Compound Treasury can be utilized to generate yield.

This continuation of the existing programs will enable the DAO to drive a new yield source. The expected impact of this proposal is $30M~ in additional Compound V3 TVL and $1M+ in additional treasury revenue via yield generation.

Deployment details:

  • Compound Treasury (2,000 ETH)
  • Compound V2 Reserve Assets (15M DAI and 10M USDC)
  • The vault’s objective function will be updated from targeted volatility to yield generation. This ensures the stablecoin reserves do not get allocated to volatile assets.
  • The vault will continue to allocate into Compound V3 lending markets to generate yield on the underlying assets.

For more details, please refer to the Forum Post.

Specification

This proposal will:

  1. Add new assets to the vault: DAI and cWETHv3 Pricer, which prices the vault's WETH lending position
  2. Accept ownership of a new hooks module at address 0x8A216F2C84a3fE5a51Bf57B685864A065D14C53a. We need to deploy a new hooks module and have the Governor Bravo timelock accept ownership of it to get around a limitation in Governor Bravo that only 10 actions can be called in a single proposal. Without this workaround, adding the following function sighashes would put this proposal over that limit. This new hooks module already has all the existing hooks, plus the following new sighashes: cWETHv3 supply & withdraw, and DAI approve (needed to trade it for USDC)
  3. Wrap a portion of the ETH currently in the timelock into WETH
  4. _reduceReserves on both DAI and USDC V2 reserves
  5. Approve WETH, DAI, and USDC to be deposited into the Aera vault
  6. Deposit the assets into the Aera vault

03Mismatch analysis

AIMismatch analysis by Kvorumclaude-sonnet-5
Minor discrepancy

I compared each numbered step in the Specification and Deployment Details section against the ten decoded actions. All quantitative values line up after unit conversion: 2,000 ETH (actions 3,4,9), 15,000,000 DAI (actions 5,6,9), and 10,000,000 USDC (actions 7,8,9) match exactly. The two addAsset calls (actions 0,1) correspond to the described DAI and cWETHv3 pricer additions, and the setHooks call (action 2) targets the exact hooks module address quoted in the description. The reduceReserves, approve, and deposit sequence exactly mirrors the description's narrative of unwinding V2 reserves and depositing into the Aera vault. The only soft mismatch is that the description frames step 2 as the timelock 'accepting ownership' of the new hooks module, whereas the calldata only shows a setHooks() call with no ownership-transfer action — a phrasing looseness rather than a value or target error, and it does not change the practical effect (the vault will use the new hooks module). Given the otherwise complete and accurate alignment between narrative and calldata, this is a low-severity, cosmetic wording issue, not a material or financial risk. Overall, the proposal description is an honest and materially accurate representation of the on-chain actions, warranting only a minor-discrepancy rating with high confidence.

Discrepancies

  • lowmisleading phrasing

    The description states the proposal will 'accept ownership of a new hooks module', implying an ownership-transfer/acceptOwnership call. The decoded calldata only contains a setHooks(address) call on the vault pointing to the new hooks module; no acceptOwnership or ownership-transfer call appears among the listed actions. The functional outcome (vault now uses the new hooks module) matches the intent, but the specific mechanism described does not literally correspond to the action shown.

    “Accept ownership of a new hooks module at address `0x8A216F2C84a3fE5a51Bf57B685864A065D14C53a`”

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

04Actions

10 total
#0addAsset((address,uint256,bool,address))chain 0x1
Target
0xc725…9d33
Value
0 wei
Function
addAsset((address,uint256,bool,address))
Arguments
{
  "0": [
    "0x6B175474E89094C44Da98b954EedeAC495271d0F",
    "86400",
    false,
    "0x773616E4d11A78F511299002da57A0a94577F1f4"
  ]
}
Calldata
#1addAsset((address,uint256,bool,address))chain 0x1
Target
0xc725…9d33
Value
0 wei
Function
addAsset((address,uint256,bool,address))
Arguments
{
  "0": [
    "0x1722942DF424d1C27c6145a83AF195ceb1C60007",
    "86400",
    false,
    "0x1722942DF424d1C27c6145a83AF195ceb1C60007"
  ]
}
Calldata
#2setHooks(address)chain 0x1
Target
0x3d6e…1d6b
Value
0 wei
Function
setHooks(address)
Arguments
{
  "0": "0x8A216F2C84a3fE5a51Bf57B685864A065D14C53a"
}
Calldata
#3fallback()chain 0x1
Target
0xc02a…6cc2
Value
2000000000000000000000 wei
Function
fallback()
Arguments
{}
Calldata
#4approve(address,uint256)chain 0x1
Target
0xc02a…6cc2
Value
0 wei
Function
approve(address,uint256)
Arguments
{
  "0": "0x3D6eEf6A92b15361697698695334E98C5db91D6b",
  "1": "2000000000000000000000"
}
Calldata
#5_reduceReserves(uint256)chain 0x1
Target
0x5d3a…3643
Value
0 wei
Function
_reduceReserves(uint256)
Arguments
{
  "0": "15000000000000000000000000"
}
Calldata
#6approve(address,uint256)chain 0x1
Target
0x6b17…1d0f
Value
0 wei
Function
approve(address,uint256)
Arguments
{
  "0": "0x3D6eEf6A92b15361697698695334E98C5db91D6b",
  "1": "15000000000000000000000000"
}
Calldata
#7_reduceReserves(uint256)chain 0x1
Target
0x39aa…7563
Value
0 wei
Function
_reduceReserves(uint256)
Arguments
{
  "0": "10000000000000"
}
Calldata
#8approve(address,uint256)chain 0x1
Target
0xa0b8…eb48
Value
0 wei
Function
approve(address,uint256)
Arguments
{
  "0": "0x3D6eEf6A92b15361697698695334E98C5db91D6b",
  "1": "10000000000000"
}
Calldata
#9deposit((address,uint256)[])chain 0x1
Target
0x3d6e…1d6b
Value
0 wei
Function
deposit((address,uint256)[])
Arguments
{
  "0": [
    [
      "0x6B175474E89094C44Da98b954EedeAC495271d0F",
      "15000000000000000000000000"
    ],
    [
      "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
      "10000000000000"
    ],
    [
      "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
      "2000000000000000000000"
    ]
  ]
}
Calldata

05Tally

Summed from votes

Voters0
VP participating0
Outcome (current)—
Current support—

06Voters

0 total

No votes recorded yet.

07Forum

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

Arguments for

  • The proposal lets the DAO put idle, non-yielding USDC/DAI reserves and treasury ETH to productive use, generating an estimated $1M+ in annual yield and $30M+ in additional V3 TVL.— Aera, PGov, pennblockchain, AranaDigital
  • Aera's non-custodial vault design keeps assets fully controlled by the Compound Governor Timelock, allowing withdrawal at any time, so the DAO retains custody and reserves are not truly depleted.— Aera, cylon, AranaDigital
  • Prior Aera programs (Reserves Vault and Vendor Payment Vault) have a track record of success—reallocating long-tail assets, generating ~4% yield, and reducing COMP sell pressure—supporting extending the partnership.— Aera, EventHorizonDAO, cylon, pennblockchain
  • Gauntlet's risk simulations show Compound V2's Value at Risk is currently $0 and reserve ratios remain healthy even post-withdrawal, indicating minimal risk to protocol solvency.— Aera, AranaDigital
  • The service is free during the pilot phase with no fees to Aera or Guardians, making the upside essentially risk-free from a cost perspective.— PGov, AranaDigital, pennblockchain
  • The proposal does not conflict with or foreclose a potential future Compound Staking Program, since sufficient assets remain outside Aera and Aera assets remain flexible.— Aera
  • Diversifying and actively managing treasury assets improves protocol robustness during weak price action and helps offset COMP sell pressure from vendor payments.— EventHorizonDAO

Arguments against

None surfaced.

Unresolved concerns

  • Reserves are being pulled from the V2 reserve fund, so the DAO must ensure reserves never fall below a safe threshold covering liabilities and should proactively top up if risk metrics deteriorate.— AranaDigital
  • Request for other delegates to voice any additional risks they see before the on-chain vote, which does not appear to have been followed up on in the thread.— AranaDigital
  • A bug in the solc compiler/via-ir flag prevented verification of an oracle contract on Etherscan, forcing cancellation and redeployment of the original proposal.— Aera

Notable participants

  • AeraProposer who outlined the plan, answered questions, managed proposal revisions/cancellations due to a compiler bug, and reported on-chain execution progress.
  • PGovEarly supporter who highlighted the yield and TVL benefits and suggested future fee-sharing possibilities.
  • EventHorizonDAODelegate offering broad support citing treasury robustness and COMP sell-pressure mitigation.
  • AranaDigitalSupportive delegate who raised the main risk-management concern about reserve fund depletion and requested ongoing monitoring.
  • cylonOpenZeppelin representative expressing personal support based on security review experience with Aera's vault system.
  • pennblockchainDelegate expressing support and framing the $1M yield target as a benchmark for evaluating Gauntlet's performance.
  • jbass-ozShared OpenZeppelin's formal security review of the on-chain proposal, noting one low-severity issue.
Generated by Kvorum
model: claude-sonnet-5
provider: anthropic
profile: anthropic-strong-v1
prompt: v1.0
generated: 2mo ago
Open the thread ↗