Proposal by 0x13...8548

Update Uni v3/v2 Deployment Process (March 2024)

Proposal Visualization chevronIcon
Proposed transactions
0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e
calldata:
0x5b0fc9c30b9638d2c5bd4528d603562a1fa1e734fe1b88e680f448d779531e9bc2b55f120000000000000000000000003b59c6d0034490093460787566dc5d6ce17f2f9c
Expand transactions

Authors: Uniswap Accountability Committee

TLDR:

  • Today, Uniswap governance, via the timelock address, has the ability to declare a new v3/v2 deployment as official/canonical
  • The DAO has set a precedent for approving EVM-based deployments over the past 2 years
  • This proposal seeks to give the Uniswap Accountability Committee multisig agency over altering the v3-deployments.uniswap.eth & v2deployments.uniswap.eth subdomains
  • This will allow the Committee to edit these text records whenever a new v3/v2 deployment is complete without having to go through an onchain vote
  • To accommodate for this change, we are also proposing an alteration to the current deployment governance process (see “New Proposed Deployment Process” below) to increase efficiency
  • The DAO will retain the right to assign incentive distributions from the treasury to these deployments via an onchain vote
  • The DAO will maintain ownership of the primary domain, uniswap.eth, and thus have the ability to revoke the Committee's subdomain permissions through a governance vote–this assures proper checks and balances

Background:

Over the past two years, the DAO has approved numerous EVM-based deployments for Uniswap v3. There has only been one instance of a deployment proposal that did not pass the off-chain stage due to not meeting quorum: Fantom. We believe that this sets a precedent for optimistically acknowledging incoming EVM-based deployments as canonical. The same precedent can be set for v2 since there was a recent proposal to deploy v2 across all target chains with v3 in one fell swoop.

The v3-deployments.uniswap.eth & v2deployments.uniswap.eth ENS subdomains act simply as records of the v3/v2 deployments that the DAO has “blessed”. From a legal as well as technical perspective, alterations to the subdomain don’t hold any weight–it’s merely a place onchain that the DAO can recognize v3/v2 deployments across various EVM chains. This way, there’s a public place to keep track of which deployments are official. Such recognition is important because it allows users and developers to ensure that the contracts they’re interacting with are representative of the real Uniswap (i.e. the Uniswap fork that has been approved by the DAO), thereby ensuring security and consistency across each fork.

When the DAO currently approves deployments onchain, only the v3-deployments.uniswap.eth & v2deployments.uniswap.eth text records are being altered. The actual contract deployment is completed by a third party, like @GFXlabs. In fact, the deployment has to be completed prior to the onchain vote since the text record alterations requires the

  • The destination chain’s network number
  • Bridge sender contract address on mainnet associated with the deployment
  • UniswapV3Factory/UniswapV2Factory address on the destination chain

Current Deployment Process:

  • If a chain wants to deploy Uniswap, they typically connect with either the Foundation, the Accountability Committee, a delegate, or any adjacent party
  • Anyone is able to author an RFC, whether it be a delegate, the destination chain themselves, or whoever else. That RFC is posted on the forum for a minimum of seven days to allow a discussion to transpire
  • A temperature check takes place, allowing the DAO to either approve or deny the deployment of Uni v3/v2 on the given chain
  • Once passed, the v3/v2 contracts are deployed on the destination chain–the deployer collaborates with an approved bridge provider if the EVM chain is not an L2 (i.e. doesn’t already have a canonical bridge)
  • The onchain vote takes place, recognizing the deployed contracts as official on the subdomain

Our Proposal

We are proposing to enable the Uniswap Accountability Committee multisig to alter the subdomains as soon as a deployment’s RFC passes the 7-day discussion period–given there are no major points of contention during the RFC phase. The RFC should give ample time to the DAO to make a decision regarding the deployment without having to partake in a 4+ week governance ordeal. And to make sure voters have a say in this process, we are including a 5-day challenge period that will be a part of the onboarding package temperature check–this will allow voters to voice their dissenting opinion regarding a deployment.

Currently, the Uniswap DAO, more specifically the timelock address (0x1a9C8182C09F50C8318d769245beA52c32BE35BC) owns AND manages both subdomains. This proposal would make the Accountability Committee the manager of the subdomains. If at any time the DAO would like to alter the manager again or regain control, this can be done via an onchain vote since the timelock still owns the subdomains.

New Proposed Deployment Process:

Step 1

  • If a chain wants to deploy Uniswap, they typically connect with either the Foundation, the Accountability Committee, a delegate, or any adjacent party
  • Anyone is able to author an RFC, whether it be a delegate, the destination chain themselves, or whoever else. That RFC is posted on the forum for a minimum of seven days to allow a discussion to transpire
  • The deployer can either have the contracts deployed at this point or not–if the deployment is complete, then include the contracts in the RFC
  • If no issues arise in the RFC, then the deployment will be viewed as approved, and a 5-day challenge period will be rolled into the onboarding package snapshot vote

Step 2 (Work for the Deployer and Accountability Committee)

  • If deployment hasn’t already been completed, then it must be done after the RFC phase
  • As soon as contracts are deployed and verified, ensuring that the bytecode of the deployed contracts matches the bytecode of the mainnet contracts, the Committee will comment on the RFC confirming that the contracts have been verified
  • The Committee will then hold a temperature check to see if there’s interest in deploying incentives on the new fork–this vote also acts as the challenge period
  • Once the snapshot is completed, and the vote is not subject to a majority veto, the Committee has the authority to write the relevant text to the subdomain
  • The Committee will comment on the RFC confirming that the subdomain has been properly updated
  • An onchain vote will then take place to send the selected amount of capital to the Committee multisig for distribution on the target chain

Technical Implementation:

The onchain proposal needs to include the function calls below to grant the Accountability Committee write permissions to the subdomains. The DAO will maintain ownership of the primary domain, uniswap.eth, and thus have the ability to revoke the Committee's permissions through a governance vote and establish checks and balances.

For Uniswap v3 Subdomain:

setOwner(

node = 0x0b9638d2c5bd4528d603562a1fa1e734fe1b88e680f448d779531e9bc2b55f12,

owner = 0x3B59C6d0034490093460787566dc5D6cE17F2f9C

)

For Uniswap v2 Subdomain:

setOwner(

node = 0x30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5,

owner = 0x3B59C6d0034490093460787566dc5D6cE17F2f9C

)

Next Steps:

The Accountability Committee will retroactively alter the subdomain text record for any deployments that are approved and haven't been included in the subdomains after the approval of this proposal. The Committee will also add the text for deployments that did not go through the formal governance process from the Uniswap Revitalization and Growth proposal.

Proposal votes
FOR 42.81M UNI
AGAINST 17.61 UNI
Quorum 40M UNI

EXECUTED

Ended April 30, 2024 at 10:47 PM
Voters
Hasn't voted
Loading...