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 to increase efficiency
- The DAO will retain the right to assign incentive distributions from the treasury to these deployments via an onchain vote
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.1 (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 Accountability Committee has the authority to write the relevant text to the subdomain
- The Committee will comment on the RFC confirming that the contracts have been verified and that the subdomain has been properly updated
Step 2.2 (Work for the DAO and Accountability Committee)
- The Committee will 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
- If passed, an onchain vote will take place, sending the selected amount of capital to the Committee multisig for distribution
**Both Step 2.1 & 2.2 can take place concurrently
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 permission through a governance vote.
For Uniswap v3 Subdomain:
setOwner(
node = 0x0b9638d2c5bd4528d603562a1fa1e734fe1b88e680f448d779531e9bc2b55f12,
owner = 0x3B59C6d0034490093460787566dc5D6cE17F2f9C
)
For Uniswap v2 Subdomain:
setOwner(
node = 0x30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5,
owner = 0x3B59C6d0034490093460787566dc5D6cE17F2f9C
)