Per the discussion in the governance forums here and here, and the Snapshot poll here, canonical deployments of Uniswap v3 will be recorded in a new subdomain. This proposal seeks to create that subdomain (v3deployments.uniswap.eth
) and populate its text records with all deployments that were granted business source license exemptions and those that have passed governance votes since the license's expiry.
One thing to note - both zkSync and Polygon zkEVM have passed governance votes and will be added to the subdomain at a date in the future when their deployments are complete.
If executed, this governance proposal will make 9 function calls. At a high level, the first transaction creates the new subdomain and the next 8 add text records to it. The text records are formatted such that the key is the network number of the chain in question and the value is a string with the address of the bridge sender contract on mainnet associated with the deployment followed by the UniswapV3Factory address on the destination chain, separated by a space and a comma. Note that this is a slight departure from what was suggested in the forums; after discussing with various members of the governance community it became apparent that including the factory address would be a valuable addition.
We describe the function calls in more detail below, and a detailed simulation of the transaction's execution will be available shortly after this proposal goes live by downloading the Uniswap artifact at the bottom of this page.
Creates the new subdomain by calling the setSubnodeRecord
on the ENS Registry and passing it the name hash for uniswap.eth
, the label hash for v3deployments
, the timelock's address, and the ENS public resolver's address.
Creates a new text record on v3deployments.uniswap.eth
by calling setText
on the subdomain and passing it the name hash for the subdomain, the key 42161
for Arbitrum and value 0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f, 0x1F98431c8aD98523631AE4a59f267346ea31F984
Creates a new text record on v3deployments.uniswap.eth
by calling setText
on the subdomain and passing it the name hash for the subdomain, the key 10
for Optimism and value 0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1, 0x1F98431c8aD98523631AE4a59f267346ea31F984
Creates a new text record on v3deployments.uniswap.eth
by calling setText
on the subdomain and passing it the name hash for the subdomain, the key 137
for Polygon and value 0xfe5e5D361b2ad62c541bAb87C45a0B9B018389a2, 0x1F98431c8aD98523631AE4a59f267346ea31F984
Creates a new text record on v3deployments.uniswap.eth
by calling setText
on the subdomain and passing it the name hash for the subdomain, the key 42220
for Celo and value 0xf7e46b233abd1edaad8dbbbda12129b97b071025, 0xAfE208a311B21f13EF87E33A90049fC17A7acDEc
Creates a new text record on v3deployments.uniswap.eth
by calling setText
on the subdomain and passing it the name hash for the subdomain, the key 56
for Binance Smart Chain and value 0xf5F4496219F31CDCBa6130B5402873624585615a, 0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7
Creates a new text record on v3deployments.uniswap.eth
by calling setText
on the subdomain and passing it the name hash for the subdomain, the key 100
for Gnosis and value 0xf5f4496219f31cdcba6130b5402873624585615a, 0xe32F7dD7e3f098D518ff19A22d5f028e076489B1
Creates a new text record on v3deployments.uniswap.eth
by calling setText
on the subdomain and passing it the name hash for the subdomain, the key 43114
Avalanche and value 0xeb0BCF27D1Fb4b25e708fBB815c421Aeb51eA9fc, 0x740b1c1de25031C31FF4fC9A62f554A55cdC1baD
Creates a new text record on v3deployments.uniswap.eth
by calling setText
on the subdomain and passing it the name hash for the subdomain, the key 288
for Boba and value 0x6D4528d192dB72E282265D6092F4B872f9Dff69e, 0xFFCd7Aed9C627E82A765c3247d562239507f6f1B