KVORUM
aaveSource: Aave governor v2 · #249

Treasury Management - Acquire B-80BAL-20WETH

canceledJun 23, 2023, 08:22 PM UTCby550x55b1…f262

01Summary

AISummary by Kvorumclaude-haiku-4-5

Aave DAO will convert its BAL, aBAL, aEthBAL holdings (310,485.35 BAL units) and 326.88 wETH into approximately 156,134.72 B-80BAL-20WETH tokens (valued at ~$1.96M) using CoW Swap with Milkman MEV protection. This positions Aave in the top 15 B-80BAL-20WETH holders and enables future conversion to veBAL for supporting GHO liquidity, Aave collateral gauges, and Safety Module initiatives.

Type
treasury allocation
Funding
$1961052.08

Key changes

  • Convert 300,000 BAL + 10,054.76 aBAL + 430.59 aEthBAL + 326.88 wETH to B-80BAL-20WETH via CoW Swap with Milkman(high)
  • Deploy COWTrader.sol contract to handle token approvals, transfers, and execution of two separate trades for BAL and wETH conversion(high)
  • Implement dynamic slippage protection via Milkman instances with onchain price checking against oracle parameters(high)
  • Enable trade cancellation by Aave Governance or Llama multi-sig with automatic token return to Collector if needed(medium)

Notable concerns

  • Trade remains open in perpetuity until settled or cancelled
  • Implementation depends on CoW Swap matching and Milkman price checker parameters being met
  • Conversion to veBAL will occur via separate proposal
Contracts0x464C71f6c2F760DdA6093dCB91C24c39e5d6e18c0xc002fecedd712ca0178d90083e702efccf639c42
Generated by Kvorum
model: claude-haiku-4-5
provider: anthropic
profile: anthropic-fast-v1
prompt: v1.0
generated: 2mo ago
Read the description ↗

02Description

667 words

Summary

This proposal will convert Aave DAO's aBAL, aEthBAL, and BAL holdings, along with 326.88 wETH, on Ethereum to B-80BAL-20WETH.

Abstract

Aave DAO will swap BAL and wETH for B-80BAL-20WETH via CoW Swap leveraging Milkman to protect the DAO from MEV exploits, incurring bad slippage and against reentrancy risk.

The methodology and payload have been developed and tested in collaboration with Yearn Finance, CoW Swap, and Bored Ghosts Developing.

Aave DAO will convert 326.88 wETH plus all BAL, aBAL, and aEthBAL held within the Collector contract to B-80BAL-20WETH. Conversion of B-80BAL-20WETH to veBAL will occur via a separate proposal.

Motivation

Aave DAO can utilize a veBAL holding in several ways, some of which are listed below:

  • Support GHO liquidity pools with BAL emissions
  • Direct BAL emissions to gauges where the BPT is listed as Collateral on Aave Protocol.
  • Direct BAL emissions to the B-80AAVE-20WSTETH gauge, and others, in support of the Safety Module.

The proposed B-80BAL-20WETH holding, when converted to veBAL is to support all the initiatives listed above. Aave DAO retains the ability to add to the veBAL position over time as the DAO determines its longer-term strategy.

Details of events to date can be found below:

For an in-depth overview of the implementation, please see this forum post.

At the time of writing Aave DAO owns 310,485.35 equivalent units of BAL at $4.50 for a total of $1,397,184.08.

A total of 326.88 wETH is to be converted to B-80BAL-20wETH. The wETH is valued at $563,868.00 based upon a $1,725 wETH price.

The estimated total value of the B-80BAL-20WETH holding is $1,961,052.08.

1 B-80BAL-20WETH = $12.56

Aave DAO can expect to receive approximately 156,134.72 units of B-80BAL-20WETH, minus price impact, etc. This places Aave DAO within the top 15 B-80BAL-20WETH holders. When converted to veBAL, this is equivalent to 1.63% of the current veBAL supply.

Specification

We will be leveraging Milkman to do a contract-to-contract interaction. This allows the DAO to avoid the need to interact with the CoW Swap API offchain and allows for onchain enforceable dynamic slippage protection. In other words, the trade will execute only if the buy amount is higher than the minimum defined by the Milkman contract instance.

The highest profile trade to date using Milkman is the ENS trade.

The payload will do the following:

  1. Handle approvals and transfers from the Collector contract onto a newly deployed COWTrader.sol contract a. Withdraw aBAL b. Withdraw aEthBAL c. Transfer all BAL now held in Collector to COWTrader.sol d. Transfer specified wETH quantity to COWTrader.sol
  2. The COWTrader contract has one function to execute two trades using Milkman, utilizing its balance of wETH and BAL respectively. Both trades take the held token for B-80-BAL-20-WETH BPT.
  3. Milkman creates a new instance per trade, which will then hold the funds until the trades are settled via CoW Swap. Under the hood, Milkman approves CoW Swap's Settlement contract so it can transfer funds once there is a match.
  4. Once there is a match, the dynamic price checker will protect Aave's funds against a bad quote. If it passes our specified parameters, then the trade will go through and the Collector contract will receive B-80-BAL-20-WETH.

If everything goes well and the number of tokens to be received matches our parameters (slippage, price against our oracle) then the Collector contract will receive the BPT.

The trade can remain open in perpetuity until it is canceled or settled. The trade can be cancelled by either Aave Governance or an allowed Llama multi-sig. If cancelled, the tokens are sent automatically back to the collector.

Implementation

A list of relevant links for this proposal:

The proposal Payload was reviewed by Bored Ghost Developing.

Copyright

Copyright and related rights waived via CC0.

03Mismatch analysis

AIMismatch analysis by Kvorumlow confidenceclaude-sonnet-5
Consistent

The decoded calldata consists of a single top-level call: execute() on what appears to be an Aave V2 payload contract (0xc002fe...). This is the standard Aave governance execution pattern, where the actual multi-step logic (withdrawals, transfers, Milkman/CoW Swap trade initiation) is implemented inside the payload contract via delegatecall and is not visible in the top-level decoded action. Because only one opaque action is exposed, I cannot directly verify the specific amounts, addresses, or step-by-step behavior described in the proposal (e.g., 326.88 wETH transfer, aBAL/aEthBAL withdrawal, BAL/wETH swap via COWTrader). However, this pattern is consistent with how Aave governance proposals are typically structured, and there is no evidence in the available data of a mismatch, extra action, or omitted action — the single execute() call is exactly what one would expect to see for a proposal that implements a complex payload as described. Given the lack of visibility into the internal payload logic, I cannot fully confirm value-level correctness (e.g., exact wETH amount, target token), so confidence is low. No specific discrepancy can be identified from the calldata provided, and nothing in the visible action list contradicts the description.

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

04Actions

1 total
#0fallback()chain 0x1
Target
0xc002…9c42
Value
0 wei
Function
fallback()
Arguments
{}
Calldata

05Tally

Summed from votes

Voters0
VP participating0
Outcome (current)—
Current support—

06Voters

0 total
Filter:
VoterChoice% of totalRationale
320x329c…3ed4For231.8K0.00%—3y ago
070x0703…961bFor108.9K0.00%—3y ago
620x62a4…816aFor82.8K0.00%—3y ago
130x13bd…8548For81.8K0.00%—3y ago
B80xb83b…cf5cFor81.4K0.00%—3y ago
B90xb933…8dd1For41.7K0.00%—3y ago
180x1855…98baFor3K0.00%—3y ago
A00xa06c…61f7For678.80.00%—3y ago
EA0xea17…6676For238.40.00%—3y ago
D90xd972…31faFor1.50.00%—3y ago
780x7851…11e7Against0.70.00%—3y ago
E40xe459…e666For0.50.00%—3y ago
530x534d…3730For0.30.00%—3y ago
150x15dc…fc27For0.10.00%—3y ago
8D0x8d52…6f34For0.10.00%—3y ago
3B0x3bf2…3536Against00.00%—3y ago
BF0xbf61…de23Against00.00%—3y ago
420x42b0…f589For00.00%—3y ago
Showing 18

07Forum

No forum thread is confidently linked to this proposal.