This proposal bundles a few improvements together which have compounding effects. It will solve for gas subsidy, gitcoin grants, inability to convert other Curve tokens into rewards for governance stakers.
Add split functionality to TreasuryVault which can send the rewards to multiple destinations before sending them to governance staking contract. Add ability to withdraw from Curve pools. Add ability to trade using Uniswap.
There is a very good competing proposal which solves for gas refunds by modifying
harvest() function. But here is some rationale for using TreasuryVault instead:
- Putting this in
harvest()doesn’t refund on failed txs, which can eat up $500 by the moment it fails
- Requires redeploying and migrating all strategies, which can’t be done easily for the strategies yDAI and yWETH vaults are currently positioned in.
- Treasury contract needs upgrading anyway, I was working on a converter and reward distribution bot and was stuck with OneSplit not being smart enough to unwrap Curve LP tokens.
- We’ll be able to solve converting other assets finally and distribute the rewards accumulated from vaults other than yUSD.
- We can bundle this with gitcoin proposal, which is time-sensitive, since the next round starts on September 15th.
Develop and deploy a TreasuryVaultV2 contract with these additional features:
- Ability to whitelist additional CurveDeposit contracts when more pools are created.
- Unwrap into underlying Curve LP coins or a single coin (CurveDeposit has us covered here).
- Trade via Uniswap in addition to OneSplit, this helps immensely with testing and optimizing the bot which does the trading.
- Disperse-like split functionality which can send different amounts to multiple recipients.
- The split functionality should also call
notifyRewardAmountwhen it sends rewards to
This proposal will require some additional work for gas accounting, which can be delegated to a bot.
Given the gas costs are eating through our budget at $25k/day rate, I propose to have an expedited vote for this with a 1-day duration. We should have the implementation ready shortly after.
For: Implement the proposal
Against: Do not implement the proposal