[RFC] Post-BSL Cross-chain Deployment Process & New Uniswap.eth Subdomain

Kydo from Stanford Blockchain Club here.

I want to draw more attention to this topic as it relates to the core of Uniswap governance for the foreseeable future. Firstly, I would like to express my gratitude to @devenmatthews and @devinwalsh for bringing attention to this topic. You can find @devenmatthews’s post here.

In my opinion, there are a few layers to the Post-BSL deployment question:

  • How many “recognized” deployment(s) per chain?
  • How is/are “recognized” deployment(s) selected?
  • How is/are “recognized” deployment(s) deployed?
  • Can “recognized” deployment(s) on a chain be changed?
  • How is/are “recognized” deployment(s) changed?

A “recognized” deployment is a deployment that is recognized by the DAO.

  • It MUST be controlled by the Uniswap DAO on Ethereum mainnet based on cross-chain governance standard (in progress by the bridge committee).
  • The Uniswap DAO MUST technically review its deployment.
  • The Uniswap DAO MUST on-chain approve its deployment.
  • It SHOULD be used by Uniswap liquidity providers and users.
  • Uniswap developers SHOULD use it as the base infrastructure.

How many “recognized” deployment(s) per chain?

Answer: ONE

I agree with @devenmatthews and @devinwalsh that there should be one “recognized” deployment on every chain (L1/L2/L3…). This lowers the coordination cost between different stakeholders within the Uniswap ecosystem.

How is “recognized” deployment(s) selected?

Answer: Devin-proposed process.

The current selection process can be summarized as the following:

  1. RFC: Post the proposal on the governance forum for at least 7 days prior to moving to the next phase. The proposal should include the rationale for deploying Uni v3 on that chain, and details of the deployment team and bridge used.
  2. Temperature Check: Create an off-chain Snapshot Poll for 5 days to ensure community sentiment is in favor of the proposal. A majority of votes in favor, with a quorum of 10M UNI votes, is required to move forward to the last phase.
  3. Deployment: If the Temperature Check passes, complete the deployment with the chosen deployment team and bridge, and add details of the deployment, including contract addresses and messaging infrastructure, to the forum in the proposal for the on-chain vote.
  4. Governance Vote: Propose and execute an on-chain vote for 11 days. If successful, the new deployment information will be added to the newly created v3-deployments.uniswap.eth subdomain, and the deployment will receive support as the official Uniswap deployment on the L1 or L2 from the Uniswap Foundation, DAO, and ecosystem.

I believe this flow (FCFS) is sufficient for EVM deployments. However, deployment on non-EVM chains could be problematic as different providers may want to transpile/rewrite Uniswap V3. An application-based selection process may be more appropriate for those deployments.

How is/are “recognized” deployment(s) deployed?

For EVM chains:

  1. The proposer deploys and publishes testing.
  2. Accountability mandatory check is conducted, and testing is published.
  3. The community is invited to audit the deployment.

Check out these resources for EVM deployments:

Regarding non-EVM chains, I would defer this discussion to another thread due to the complexity of the issues involved.

Can “recognized” deployment(s) on a chain be changed?

Answer: Yes

Allowing changes provides the DAO with flexibility to fix mistakes.

How is/are “recognized” deployment(s) changed?

Answer: Follows the selection process

While changing the “recognized” deployment may not occur frequently, I believe the process should be similar to the selection process described above. It is important to follow a clear and transparent process for making changes to the deployment.

In summary, the Uniswap governance community should focus on identifying how many “recognized” deployments are needed per chain and how to select, deploy, and potentially change those deployments. By following a clear process and involving the community, we can ensure that Uniswap remains a trusted and valuable participant in the decentralized finance ecosystem.