A few weeks ago we gave AI guest authors the chance to take over our column, during which we were unable to cover breaking news.
Good on Coindesk (and the Defiant) for trying to cover my slack while I was loafing. Upon closer inspection, however, the former may be attempting to invoke Gell-Mann’s Amnesia in its readership.
So let’s walk through this whole process. We know that Curve is controlled by the DAO, but what does this mean at the granular level?
The Factory, for instance, deployed at 0xB9…d4 has an admin
parameter, which has been serviced by 0x2E…C3 for about a year. The owner contract is governed by the DAO, and therefore holds all the management permissions for the factory. Following the passage of the vote, 0x2E…C3 has set the gauge_manager
to the new Gauge Manager extension, deployed to 0x20…4c. (Same process for the crypto factory).
The new Gauge Manager contract is rather light and easy to understand, as is so often the case in Vyper. The crux of it is that when you deploy a gauge for a factory pool, you can specify a specific address to serve as that gauge’s manager (by default set to whomever is deploying the gauge).
Let’s walk through an example of how it works. Since the new proxy was deployed, the next factory pool that got created was something called Zunami protocol deploying a UZD coin against 3pool. I don’t know what that is, but the website looks pretty slick, so you probably should ape your entire net worth into it without doing any research or reading through their smart contracts (not financial advice).
Zunami recently deployed a pool… or rather, deployed a pair of pools… (maybe they’re still testing?)
They most likely went through the old UI’s factory creation page. To create a gauge, they then went to the “Deploy Gauge” tab.
Launching through this UI triggers the deploy_gauge function, which now runs through the new manager.
The old UI is still defaulting to call this with the second parameter blank, so it defaults to the user who deployed the Zunami gauge. They are then set to the gauge manager role by default. Of course, they can also set this to a new gauge manager after the fact.
Now the gauge manager can use this contract to directly add new rewards to pools (as can the manager).
The add_reward
function, which used to have to be called by the manager, can now can be easily done by whomever deployed the gauge in the first place. They can set this to be any ERC20 token, a la the stETH pool’s $LDO rewards.
Note the $CRV rewards are unchanged — if you want $CRV emissions, you still need to go through the DAO. Yet we’ve seen this can be a cumbersome process. If you’re in a hurry, now you can deploy a pool and start streaming your own native token reward in as fast as 12 seconds (maybe 24 if you’re in North Korea).
In the governance forum post, Convex chad C2tP already ran through all the major questions, and would ultimately be persuaded to vote in favor by the legendary Skellet0r’s detailed replies. The high level:
Are there any dangers to such openness?
Not likely — this feature was built into sidechain factories and has been running for some time without incident. Some of these chains are sewers, but haven’t suffered any problems.
Couldn’t users make their own staking contract?
Theoretically, yes. Clever did this just recently — they wanted to release $CLEV rewards to liquidity providers, and thought it would be simpler to have them stake on Curve then take their LP tokens over to Clever’s website than to push through Curve’s governance. Had this system been in place when they were laying their plans, they could have simply streamed it here (though they wouldn’t have been able to utilize their boost system).
For users who aren’t C2tP, Skelletor, or Aladdin DAO, building a staking contact from scratch is a lot of work, so better to just use Curve’s default infrastructure.
Does anybody really want this?
For one, the tired devs who frequently get requests for assistance. Notes Skellet0r:
Wait a second… Liquity wants this? The same Liquity that’s been posting a gauge request for their chicken bonds…? Was… was this alfa?
Disclaimers! Author has no stake in Zunami or any of the above screenshotted pools