FinancialsVoteDocsDAO GraphExplore
← All proposals
    ←Previous#57#59Next→

    #58 Deploy Uniswap V2 on all chains with V3

    executed

    Payment Status

    Description

    Deploy Uniswap V2 on all chains with V3

    TL;DR

    • The only canonical deployment of Uniswap V2 is on Ethereum mainnet.
    • There is demand for V2-style AMMs on non-Ethereum chains and many V2 forks have been deployed with varying degrees of modification.
    • To the extent that these forks have been modified, they may prove unsafe for users.
    • To the extent that these forks have liquidity, that liquidity could likely have accrued to Uniswap V2.
    • The combination of Uniswap V2 and Uniswap V3 can often provide better execution for small-volume swappers via the Universal Router.

    Introduction

    When Uniswap V3’s Business Source License expired and the code’s license transitioned to GPL, the DAO created a process by which it would declare canonical deployments of the contracts. This process serves to identify instances of the V3 code that are a) not modified and b) owned and controlled by the Uniswap governance contracts. These assurances are meant to provide developers and users with comfort that the code they’re using is safe and any changes to it (to the extent that changes are even possible) will be telegraphed long in advance.

    Uniswap V2 is governed by the same permissive GPL license but has not been subject to the same DAO-run multi-chain expansion as V3. Instead, it has been forked and deployed under different brand names and across many chains almost continuously since Sushi’s vampire attack in the summer of 2020. These forks may contain modifications to the code, and their ownership structure can range from DAO governance contracts to single-signature wallets. Nevertheless, forks of V2 can garner significant liquidity and volume relative to other AMMs.

    Proposal

    Deploy Uniswap V2 on all chains where there is a canonical instance of V3.

    Rationale

    There are at least three compelling arguments to move forward with this proposal.

    First, V2 forks have been plagued by hacks that have caused the loss of user funds. The Uniswap V2 contracts have been deployed on mainnet since May 4, 2020 with no loss of user funds; they can be considered among the most battle-hardened contracts on Ethereum. Canonical versions of the Uniswap contracts can provide DEX users on new chains - swappers, liquidity providers, and developers - with the safety and security for which the protocol is known.

    Second, there is demand for traditional, full-range AMMs on new chains. Uniswap should be in a place to service this demand and continue to grow our user base and brand equity across multiple ecosystems.

    Third, integrating Uniswap V2 pools into the Universal Router will help incrementally improve execution quality for applications that already use the Router to allow their users to swap.

    Process

    This process will be very similar to the first vote to declare V3 canonical implementations. We will evaluate a batch of deployments, create a new ENS name, and populate the text record for each of those deployments. More specifically:

    • Chains that have a V3 deployment have already gone through the community vetting process and should be eligible for a V2 deployment by default.
    • V2 deployments should be owned by the same contract that owns the V3 deployment on its respective chain and subject to the same cross-chain governance mechanism
    • V2 deployments should be cataloged in the text records of a new ENS subdomain v2deployments.uniswap.eth with the key equal to the network ID and the value equal to the bridge sender contract address and the destination chain’s UniswapV2Factory contract address

    The relevant contract addresses can be found in this Google Sheet or on the Forum in this post.

    Vote Transaction Details

    If executed, this proposal will execute two function calls.

    1. Create the v2deployments.uniswap.eth subdomain by calling the setSubnodeRecord function on the ENS Registry contract and passing it the hashed values of the main name (uniswap.eth) and the new subname (v2deployments) as well as the timelock's address and the resolver we're using (the ENS public resolver here).
    2. Add the text records to the newly-created v2deployments.uniswap.eth by calling the multicall function on the ENS registry (since we have > 9 records to create and our governor contract can call max 10 functions per proposal). We pass multicall an array of the encoded bytes data for each function we want to call. Concretely, multicall receives an array of 14 items, each of which is the encoded bytes data for the function call that sets a text record in the format described above.

    The code used to generate these function arguments (show below) can be found here.

    For43,375,606 100%
    Against9 0%
    Abstain3 0%
    Quorumreached

    Timeline

    1. Pending
    2. Active
       
      block 19,207,189 → 19,247,509
    3. Succeeded
       
    4. Queued
       
    5. Executed
       

    Votes (329)

    0x683a…6C02For · 5,251,052 UNI
    0x553F…2Ac2For · 5,000,184 UNI
    0x13BD…8548For · 3,852,376 UNI
    0x8d07…A265For · 3,302,233 UNI

    The customer is always right. Yes v2 is in many (most) ways inferior to v3, but it still sees consistent demand and usage on mainnet (and forks of v2 see demand on external chains). Easy yes.

    0x9Eaf…4568For · 3,150,000 UNI
    0x067b…4A76For · 3,101,981 UNI
    0xed11…bb04For · 2,500,839 UNI
    0xB49f…7948For · 2,500,509 UNI
    0xB933…8Dd1For · 2,500,112 UNI
    0xECC2…6AC9For · 2,500,035 UNI
    0x3FB1…4C8AFor · 2,500,008 UNI
    0xE93D…E2b5For · 2,500,007 UNI
    0xa6e8…Eef6For · 2,465,704 UNI
    0x8787…ea52For · 836,209 UNI
    0x1855…98baFor · 504,025 UNI
    0xAac3…0bcDFor · 406,687 UNI
    0xeD2A…aeAFFor · 251,005 UNI
    0x1B68…eeaDFor · 250,010 UNI

    https://gov.uniswap.org/t/temperature-check-deploy-uniswap-v2-on-all-chains-with-v3/21799/8

    0xbE1e…6c54For · 998 UNI
    0x0aEa…3516For · 813 UNI
    0xd394…A291For · 199 UNI
    0xb5B0…79f8For · 81 UNI
    0xe099…d4E0For · 80 UNI
    0x7BF4…DDd0For · 55 UNI
    0x70DF…1889For · 26 UNI
    0x251a…C310For · 15 UNI
    0xdbA1…E0F6For · 14 UNI
    0x11A2…2994For · 12 UNI
    0xC108…768fFor · 11 UNI
    0x7b49…7F8AFor · 11 UNI
    0xeF9E…b71eFor · 11 UNI
    0x1261…7152For · 10 UNI
    0x2eaA…A99fFor · 10 UNI
    0xc724…b01DFor · 10 UNI
    0x2bA0…8412For · 10 UNI
    0x9606…1796For · 10 UNI
    0xdB29…De23For · 10 UNI
    0x0579…CA09For · 10 UNI
    0x2F2F…f78AFor · 10 UNI
    0x800F…dC39For · 6 UNI
    0x2E1b…D40cFor · 6 UNI
    0x168F…7400For · 5 UNI
    0xdB01…705eFor · 5 UNI
    0x75a1…AF03For · 5 UNI
    0x74a2…C125For · 4 UNI
    0x2748…Ac26For · 4 UNI
    0xcc9B…0E4DAbstain · 3 UNI
    0x196a…C3c4For · 3 UNI
    0xb9F1…36d4For · 3 UNI
    0xEFFA…74d3For · 3 UNI

    Voting timeline

    Proposal actions

    Caller
    Timelock
    0x1a9C…35BC
    →
    setSubnodeRecord→
    ENSRegistry
    0x0000…2e1e
    owner→
    Timelock
    0x1a9C…35BC
    resolver→
    PublicResolver
    0x4976…Ba41
    ▶node, label, ttl
    nodebytes32
    0xec9ec573cf97ad1c270be71ac1de3b382790cb346036130c7d7ff844bf8f4974
    labelbytes32
    0xdf848cb54b740ab5a6c1efa359bf318cc6e5e7b08d1134b9122466969831e32e
    ttluint64
    0
    multicall→
    PublicResolver
    0x4976…Ba41
    ▶data
    databytes[]
    0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38… (8,217 chars)
    0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002313000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078323561636537316339374233334363343732394346373732616532363839333446376162356641312c2030783063336331633533324631653339456446333642453946653062453134313033313345303734426600000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000005343231363100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078344462643466633533354163323732303630363442363846664366383237623041363042414233662c2030786631443743433634466234343532463035633439383132363331326542453239663330466263663900000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000005343331313400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078656230424346323744314662346232356537303866424238313563343231416562353165413966632c2030783965354135326635376233303338463142384565453435463238623343313936376532323739394300000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000003313337000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078666535653544333631623261643632633534316241623837433435613042394230313833383961322c2030783965354135326635376233303338463142384565453435463238623343313936376532323739394300000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004383435330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078383636453832613630304131343134653538336637463133363233463161433564353862304166612c2030783839303964633135653430313733666634363939333433623665623831333263363565313865633600000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078663546343439363231394633314344434261363133304235343032383733363234353835363135612c2030783839303944633135653430313733466634363939333433623665423831333263363565313865433600000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000005343232323000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078663546343439363231394633314344434261363133304235343032383733363234353835363135612c2030783131346134336466366335663534656262386139643730636431393531643364643638303034633700000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000003313030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078663546343439363231394633314344434261363133304235343032383733363234353835363135612c2030783863386235323463653763394432653366353961423637313162453441633832364641343661306600000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000003323838000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078364434353238643139326442373245323832323635443630393246344238373266394466663639652c2030783430613236643138343430393438643865453132316237386361346538384333374433303134336200000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004313238340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078663546343439363231394633314344434261363133304235343032383733363234353835363135612c2030783131346134336466366335663534656262386139643730636431393531643364643638303034633700000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000005353931343400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078643139643442356433353832353866303544374234313145323141313436304431314230383736462c2030783131346134336466366335663534656262386139643730636431393531643364643638303034633700000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000006353334333532000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078363737344263626435636543654631333336623533303066623531383661313244444438623336372c2030783131346134336466366335663534656262386139643730636431393531643364643638303034633700000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002333000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078663546343439363231394633314344434261363133304235343032383733363234353835363135612c2030783131346134336466366335663534656262386139643730636431393531643364643638303034633700000000000000000000,0x10f13a8c30e9fa72b4d7d40be0f8809d748497121d5f38ebf8700a7d2e303074e9ccf1a5000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000003333134000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000563078316638413464313935423634373634376337644434353635304342643535334644333363434141362c2030783131346134336466366335663534656262386139643730636431393531643364643638303034633700000000000000000000