From ec49f244c14415a3be2915564c1468cba80f4a1e Mon Sep 17 00:00:00 2001 From: Rachel-Eichenberger <60412342+Rachel-Eichenberger@users.noreply.github.com> Date: Mon, 25 Mar 2024 19:55:43 -0700 Subject: [PATCH 1/4] Fix: Update the document deploys to current Tested this locally, and verified that the deployment URL that is currently in use everywhere still works while this is paginated. This update changes all the addresses in here to the Newest deployments in use. - Added the v2 Routers for LQ - All our current networks, expanded no longer mia - All known testnets. - All WETH addresses - Paginated networks --- .../08-deployment-addresses.md | 21 ++--- docs/contracts/v3/reference/Deployments.md | 86 ------------------- .../reference/deployments/AVAX Deployments.md | 59 +++++++++++++ .../deployments/Arbitrum Deployments.md | 62 +++++++++++++ .../deployments/BNB Binance Deployments.md | 58 +++++++++++++ .../reference/deployments/Base Deployments.md | 59 +++++++++++++ .../reference/deployments/Celo Deployments.md | 60 +++++++++++++ .../deployments/Ethereum Deployments.md | 64 ++++++++++++++ .../deployments/Optimism Deployments.md | 62 +++++++++++++ .../deployments/Polygon Deployments.md | 61 +++++++++++++ .../v3/reference/deployments/deployments.md | 40 +++++++++ 11 files changed, 536 insertions(+), 96 deletions(-) delete mode 100644 docs/contracts/v3/reference/Deployments.md create mode 100644 docs/contracts/v3/reference/deployments/AVAX Deployments.md create mode 100644 docs/contracts/v3/reference/deployments/Arbitrum Deployments.md create mode 100644 docs/contracts/v3/reference/deployments/BNB Binance Deployments.md create mode 100644 docs/contracts/v3/reference/deployments/Base Deployments.md create mode 100644 docs/contracts/v3/reference/deployments/Celo Deployments.md create mode 100644 docs/contracts/v3/reference/deployments/Ethereum Deployments.md create mode 100644 docs/contracts/v3/reference/deployments/Optimism Deployments.md create mode 100644 docs/contracts/v3/reference/deployments/Polygon Deployments.md create mode 100644 docs/contracts/v3/reference/deployments/deployments.md diff --git a/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md b/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md index b5bfdcd81..ca8f28d0f 100644 --- a/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md +++ b/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md @@ -5,14 +5,15 @@ title: V2 Deployment Addresses # Uniswap v2 Contract Deployments -Contract addresses for the [Uniswap V2 Factory](https://github.com/Uniswap/v2-core/blob/master/contracts/UniswapV2Factory.sol) +Contract addresses for the [`Uniswap V2 Factory`](https://github.com/Uniswap/v2-core/blob/master/contracts/UniswapV2Factory.sol) and the [`Uniswap V2Router02`](https://github.com/Uniswap/v2-periphery/blob/master/contracts/UniswapV2Router02.sol) -| Network | Contract Address | -| ---------------------------------------------------- | ----------------------------------------------- | -| Mainnet, Ropsten, Rinkeby, Goerli, Kovan | `0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f` | -| Arbitrum | `0xf1D7CC64Fb4452F05c498126312eBE29f30Fbcf9` | -| Avalanche | `0x9e5A52f57b3038F1B8EeE45F28b3C1967e22799C` | -| BNB Chain | `0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6` | -| Base | `0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6` | -| Optimism | `0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf` | -| Polygon | `0x9e5A52f57b3038F1B8EeE45F28b3C1967e22799C` | +| Network | Factroy Contract Address | V2Router02 Contract Address | +| ---------------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| Mainnet, Ropsten, Rinkeby, Goerli, Kovan | `0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f` | `0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D` | +| Etherum Sepolia | `0xB7f907f7A9eBC822a80BD25E224be42Ce0A698A0` | `0x425141165d3DE9FEC831896C016617a52363b687` | +| Arbitrum | `0xf1D7CC64Fb4452F05c498126312eBE29f30Fbcf9` | `0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24` | +| Avalanche | `0x9e5A52f57b3038F1B8EeE45F28b3C1967e22799C` | `0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24` | +| BNB Chain | `0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6` | `0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24` | +| Base | `0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6` | `0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24` | +| Optimism | `0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf` | `0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2` | +| Polygon | `0x9e5A52f57b3038F1B8EeE45F28b3C1967e22799C` | `0xedf6066a2b290C185783862C7F4776A2C8077AD1` | diff --git a/docs/contracts/v3/reference/Deployments.md b/docs/contracts/v3/reference/Deployments.md deleted file mode 100644 index b690caa21..000000000 --- a/docs/contracts/v3/reference/Deployments.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -id: deployments -title: Deployment Addresses ---- - -# Uniswap Contract Deployments - -The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap/swap-router-contracts` are deployed at the addresses listed below. Integrators should **no longer assume that they are deployed to the same addresses across chains** and be extremely careful to confirm mappings below. - -| Contract | Mainnet, Goerli, Arbitrum, Optimism, Polygon Address | Celo Address | BNB Address | Base Address | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0x1F98431c8aD98523631AE4a59f267346ea31F984` | `0xAfE208a311B21f13EF87E33A90049fC17A7acDEc` | `0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7` | `0x33128a8fC17869897dcE68Ed026d694621f6FDfD` | -| [Multicall2](https://etherscan.io/address/0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696#code) | `0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696` | `0x633987602DE5C4F337e3DbF265303A1080324204` | `0x963Df249eD09c358A4819E39d9Cd5736c3087184` | `0x091e99cb1C49331a94dD62755D168E941AbD0693` | -| [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `0xB753548F6E010e7e680BA186F9Ca1BdAB2E90cf2` | `0xc1b262Dd7643D4B7cA9e51631bBd900a564BF49A` | `0xC9A7f5b73E853664044ab31936D0E6583d8b1c79` | `0x3334d83e224aF5ef9C2E7DDA7c7C98Efd9621fA9` | -| [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0xbfd8137f7d1516D3ea5cA83523914859ec47F573` | `0x5f115D9113F88e0a0Db1b5033D90D4a9690AcD3D` | `0xD9270014D396281579760619CCf4c3af0501A47C` | `0x0CdeE061c75D43c82520eD998C23ac2991c9ac6d` | -| [Quoter](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/Quoter.sol) | `0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6` | `0x82825d0554fA07f7FC52Ab63c961F330fdEFa8E8` | | | -| [SwapRouter](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/SwapRouter.sol) | `0xE592427A0AEce92De3Edee1F18E0157C05861564` | `0x5615CDAb10dc425a742d643d949a7F474C01abc4` | | | -| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `0x42B24A95702b9986e82d421cC3568932790A48Ec` | `0xa9Fd765d85938D278cb0b108DbE4BF7186831186` | `0x831d93E55AF23A2977E4DA892d5005f4F2995071` | `0xF9d1077fd35670d4ACbD27af82652a8d84577d9F` | -| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `0x91ae842A5Ffd8d12023116943e72A606179294f3` | `0x644023b316bB65175C347DE903B60a756F6dd554` | `0x0281E98322e4e8E53491D576Ee6A2BFCE644C55C` | `0x4f225937EDc33EFD6109c4ceF7b560B2D6401009` | -| [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0xEe6A57eC80ea46401049E92587E52f5Ec1c24785` | `0x505B43c452AA4443e0a6B84bb37771494633Fde9` | `0xAec98e489AE35F243eB63452f6ad233A6c97eE97` | `0x4615C383F85D0a2BbED973d83ccecf5CB7121463` | -| [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0xC36442b4a4522E871399CD717aBDD847Ab11FE88` | `0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A` | `0x7b8A01B39D58278b5DE7e48c8449c9f4F5170613` | `0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1` | -| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0xA5644E29708357803b5A882D272c41cC0dF92B34` | `0x3cFd4d48EDfDCC53D3f173F596f621064614C582` | `0x32681814957e0C13117ddc0c2aba232b5c9e760f` | `0x23cF10b1ee3AdfCA73B0eF17C07F7577e7ACd2d7` | -| [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0x61fFE014bA17989E743c5F6cB21bF9697530B21e` | `0x82825d0554fA07f7FC52Ab63c961F330fdEFa8E8` | `0x78D78E420Da98ad378D7799bE8f4AF69033EB077` | `0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a` | -| [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45` | `0x5615CDAb10dc425a742d643d949a7F474C01abc4` | `0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2` | `0x2626664c2603336E57B271c5C0b26F421741e481` | -| [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | -| [UniversalRouter](https://github.com/Uniswap/universal-router) | `0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD` | `0x5Dc88340E1c5c6366864Ee415d6034cadd1A9897` | `0x5302086A3a25d473aAbBd0356eFf8Dd811a4d89B` | `0x198EF79F1F515F02dFE9e3115eD9fC07183f02fC` | - -### Sepolia Addresses - -| Contract | Ethereum Sepolia Address | Base Sepolia Address | OP Sepolia Address | Arbitrum Sepolia | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0x0227628f3F023bb0B980b67D528571c95c6DaC1c` | `0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24` | `0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24` | `0x248AB79Bbb9bC29bB72f7Cd42F17e054Fc40188e` | -| [Multicall2](https://etherscan.io/address/0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696#code) | `0xD7F33bCdb21b359c8ee6F0251d30E94832baAd07` | `0xd867e273eAbD6c853fCd0Ca0bFB6a3aE6491d2C1` | `0xd867e273eAbD6c853fCd0Ca0bFB6a3aE6491d2C1` | `0x2B718b475e385eD29F56775a66aAB1F5cC6B2A0A` | -| [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `` | `0xD7303474Baca835743B54D73799688990f24a79D` | `0xD7303474Baca835743B54D73799688990f24a79D` | `` | -| [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0xd7f33bcdb21b359c8ee6f0251d30e94832baad07` | `0xedf6066a2b290C185783862C7F4776A2C8077AD1` | `0xedf6066a2b290C185783862C7F4776A2C8077AD1` | `0x0fd18587734e5C2dcE2dccDcC7DD1EC89ba557d9` | -| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `` | `0x4e0caFF1Df1cCd7CF782FDdeD77f020699B57f1a` | `0x4e0caFF1Df1cCd7CF782FDdeD77f020699B57f1a` | `` | -| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `` | `0xd7c6e867591608D32Fe476d0DbDc95d0cf584c8F` | `0xd7c6e867591608D32Fe476d0DbDc95d0cf584c8F` | `` | -| [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `` | `0x1E2A708040Eb6Ed08893E27E35D399e8E8e7857E` | `0x1E2A708040Eb6Ed08893E27E35D399e8E8e7857E` | `` | -| [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0x1238536071E1c677A632429e3655c799b22cDA52` | `0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2` | `0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2` | `0x6b2937Bde17889EDCf8fbD8dE31C3C2a70Bc4d65` | -| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0x729004182cF005CEC8Bd85df140094b6aCbe8b15` | `0xCbf8b7f80800bd4888Fbc7bf1713B80FE4E23E10` | `0xCbf8b7f80800bd4888Fbc7bf1713B80FE4E23E10` | `0x398f43ef2c67B941147157DA1c5a868E906E043D` | -| [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0xEd1f6473345F45b75F8179591dd5bA1888cf2FB3` | `0xC5290058841028F1614F3A6F0F5816cAd0df5E27` | `0xC5290058841028F1614F3A6F0F5816cAd0df5E27` | `0x2779a0CC1c3e0E44D2542EC3e79e3864Ae93Ef0B` | -| [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E` | `0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4` | `0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4` | `0x101F443B4d1b059569D643917553c771E1b9663E` | -| [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | -| [UniversalRouter](https://github.com/Uniswap/universal-router) | `0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD` | `0x050E797f3625EC8785265e1d9BDd4799b97528A1` | `0xD5bBa708b39537d33F2812E5Ea032622456F1A95` | `0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2` | -| [v3StakerAddress](https://github.com/Uniswap/v3-staker) | `` | `0x62725F55f50bdE240aCa3e740D47298CAc8d57D5` | `0x62725F55f50bdE240aCa3e740D47298CAc8d57D5` | `` | - -These addresses are final and were deployed from these npm package versions: - -- [`@uniswap/v3-core@1.0.0`](https://github.com/Uniswap/uniswap-v3-core/tree/v1.0.0) -- [`@uniswap/v3-periphery@1.0.0`](https://github.com/Uniswap/uniswap-v3-periphery/tree/v1.0.0) -- [`@uniswap/swap-router-contracts@1.1.0`](https://github.com/Uniswap/swap-router-contracts/tree/v1.1.0) - -# Uniswap V3 Staker - -An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/v3-staker/releases/tag/v1.0.2) for the `UniswapV3Staker` contract. - -# Universal Router - -The `UniversalRouter` contract is the current preferred entrypoint for ERC20 and NFT swaps, replacing, among other contracts, `SwapRouter02`. An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/universal-router/tree/main/deploy-addresses). - -# Uniswap Pool Deployments - -Every Uniswap pool is a unique instance of the `UniswapV3Pool` contract and is deployed at its own unique address. The contract source code of the pool will be auto-verified on etherscan. For example, here is the [ETH/USDC 0.3% pool](https://etherscan.io/address/0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8) on Ethereum mainnet. - -You can look up the address of an existing pool on [Uniswap Info](https://info.uniswap.org/#/) or by calling the [`getPool`](../reference/core/interfaces/IUniswapV3Factory.md#getpool) function on the `UniswapV3Factory` contract. - -```solidity -getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000) -``` - -# Wrapped Native Token Addresses - -The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native asset like ETH (or MATIC on Polygon), the Uniswap protocol wraps these assets in an ERC20 wrapped native token contract. The protocol uses the following WETH9 addresses on Ethereum and WMATIC addresses on Polygon. - -| Network | ChainId | Wrapped Native Token | Address | -| ------------------- | -------- | -------------------- | -------------------------------------------- | -| Ethereum | `1` | WETH | `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` | -| Goerli | `5` | WETH | `0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6` | -| Arbitrum | `42161` | WETH | `0x82aF49447D8a07e3bd95BD0d56f35241523fBab1` | -| Arbitrum Goerli | `421613` | WETH | `0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3` | -| Optimism | `10` | WETH | `0x4200000000000000000000000000000000000006` | -| Optimism Goerli | `420` | WETH | `0x4200000000000000000000000000000000000006` | -| Polygon | `137` | WMATIC | `0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270` | -| Polygon Mumbai | `80001` | WMATIC | `0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889` | -| Binance Smart Chain | `56` | WBNB | `0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c` | -| Base | `8453` | WETH | `0x4200000000000000000000000000000000000006` | diff --git a/docs/contracts/v3/reference/deployments/AVAX Deployments.md b/docs/contracts/v3/reference/deployments/AVAX Deployments.md new file mode 100644 index 000000000..60f7322bb --- /dev/null +++ b/docs/contracts/v3/reference/deployments/AVAX Deployments.md @@ -0,0 +1,59 @@ +--- +id: avax-deployments +title: AVAX Deployments +--- + +# Uniswap Contract Deployments + +The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap/swap-router-contracts` are deployed at the addresses listed below. Integrators should **no longer assume that they are deployed to the same addresses across chains** and be extremely careful to confirm mappings below. + +| Contract | AVAX Avalanch C-Chain Addresses | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | +| [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0x740b1c1de25031C31FF4fC9A62f554A55cdC1baD` | +| [Multicall](https://snowtrace.io/address/0x0139141Cd4Ee88dF3Cdb65881D411bAE271Ef0C2/contract/43114/code) | `0x0139141Cd4Ee88dF3Cdb65881D411bAE271Ef0C2` | +| [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `0x9AdA7D7879214073F40183F3410F2b3f088c6381` | +| [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0xEB9fFC8bf81b4fFd11fb6A63a6B0f098c6e21950` | +| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `` | +| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `` | +| [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0xE1f93a7cB6fFa2dB4F9d5A2FD43158A428993C09` | +| [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0x655C406EBFa14EE2006250925e54ec43AD184f8B` | +| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0x44f5f1f5E452ea8d29C890E8F6e893fC0f1f0f97` | +| [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0xbe0F5544EC67e9B3b2D979aaA43f18Fd87E6257F` | +| [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE` | +| [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | +| [UniversalRouter](https://github.com/Uniswap/universal-router) | `0x4Dae2f939ACf50408e13d58534Ff8c2776d45265` | +| [v3StakerAddress](https://github.com/Uniswap/v3-staker) | `0xCA9D0668C600c4dd07ca54Be1615FE5CDFd76Ac3` | + + +These addresses are final and were deployed from these npm package versions: + +- [`@uniswap/v3-core@1.0.0`](https://github.com/Uniswap/uniswap-v3-core/tree/v1.0.0) +- [`@uniswap/v3-periphery@1.0.0`](https://github.com/Uniswap/uniswap-v3-periphery/tree/v1.0.0) +- [`@uniswap/swap-router-contracts@1.1.0`](https://github.com/Uniswap/swap-router-contracts/tree/v1.1.0) + + +# Uniswap V3 Staker + +An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/v3-staker/releases/tag/v1.0.2) for the `UniswapV3Staker` contract. + +# Universal Router + +The `UniversalRouter` contract is the current preferred entrypoint for ERC20 and NFT swaps, replacing, among other contracts, `SwapRouter02`. An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/universal-router/tree/main/deploy-addresses). + +# Uniswap Pool Deployments + +Every Uniswap pool is a unique instance of the `UniswapV3Pool` contract and is deployed at its own unique address. The contract source code of the pool will be auto-verified on etherscan. For example, here is the [ETH/USDC 0.3% pool](https://etherscan.io/address/0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8) on Ethereum mainnet. + +You can look up the address of an existing pool on [Uniswap Info](https://info.uniswap.org/#/) or by calling the [`getPool`](../reference/core/interfaces/IUniswapV3Factory.md#getpool) function on the `UniswapV3Factory` contract. + +```solidity +getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000) +``` + +# Wrapped Native Token Addresses + +The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native asset like ETH (or MATIC on Polygon), the Uniswap protocol wraps these assets in an ERC20 wrapped native token contract. The protocol uses the following WETH9 addresses on Ethereum and WMATIC addresses on Polygon. + +| Network | ChainId | Wrapped Native Token | Address | +| ------- | -------- | -------------------- | -------------------------------------------- | +| AVAX | `43114` | WAVAX | `0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7` | diff --git a/docs/contracts/v3/reference/deployments/Arbitrum Deployments.md b/docs/contracts/v3/reference/deployments/Arbitrum Deployments.md new file mode 100644 index 000000000..85661d090 --- /dev/null +++ b/docs/contracts/v3/reference/deployments/Arbitrum Deployments.md @@ -0,0 +1,62 @@ +--- +id: arbitrum-deployments +title: Arbitrum Deployments +--- + +# Uniswap Contract Deployments + +The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap/swap-router-contracts` are deployed at the addresses listed below. Integrators should **no longer assume that they are deployed to the same addresses across chains** and be extremely careful to confirm mappings below. + +| Contract | Arbitrum Addresses | Arbitrum Sepolia Addresses | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | -------------------------------------------- | +| [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0x1F98431c8aD98523631AE4a59f267346ea31F984` | `0x248AB79Bbb9bC29bB72f7Cd42F17e054Fc40188e` | +| [Multicall](https://arbiscan.io/address/0xadF885960B47eA2CD9B55E6DAc6B42b7Cb2806dB#code) | `0xadF885960B47eA2CD9B55E6DAc6B42b7Cb2806dB` | `0x2B718b475e385eD29F56775a66aAB1F5cC6B2A0A` | +| [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `0xB753548F6E010e7e680BA186F9Ca1BdAB2E90cf2` | `` | +| [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0xbfd8137f7d1516D3ea5cA83523914859ec47F573` | `0x0fd18587734e5C2dcE2dccDcC7DD1EC89ba557d9` | +| [Quoter](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/Quoter.sol) | `0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6` | `` | +| [SwapRouter](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/SwapRouter.sol) | `0xE592427A0AEce92De3Edee1F18E0157C05861564` | `` | +| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `0x42B24A95702b9986e82d421cC3568932790A48Ec` | `` | +| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `0x91ae842A5Ffd8d12023116943e72A606179294f3` | `` | +| [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0xEe6A57eC80ea46401049E92587E52f5Ec1c24785` | `` | +| [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0xC36442b4a4522E871399CD717aBDD847Ab11FE88` | `0x6b2937Bde17889EDCf8fbD8dE31C3C2a70Bc4d65` | +| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0xA5644E29708357803b5A882D272c41cC0dF92B34` | `0x398f43ef2c67B941147157DA1c5a868E906E043D` | +| [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0x61fFE014bA17989E743c5F6cB21bF9697530B21e` | `0x2779a0CC1c3e0E44D2542EC3e79e3864Ae93Ef0B` | +| [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45` | `0x101F443B4d1b059569D643917553c771E1b9663E` | +| [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | +| [UniversalRouter](https://github.com/Uniswap/universal-router) | `0x5E325eDA8064b456f4781070C0738d849c824258` | `0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2` | +| [v3StakerAddress](https://github.com/Uniswap/v3-staker) | `0xe34139463bA50bD61336E0c446Bd8C0867c6fE65` | `` | + + +These addresses are final and were deployed from these npm package versions: + +- [`@uniswap/v3-core@1.0.0`](https://github.com/Uniswap/uniswap-v3-core/tree/v1.0.0) +- [`@uniswap/v3-periphery@1.0.0`](https://github.com/Uniswap/uniswap-v3-periphery/tree/v1.0.0) +- [`@uniswap/swap-router-contracts@1.1.0`](https://github.com/Uniswap/swap-router-contracts/tree/v1.1.0) + +# Uniswap V3 Staker + +An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/v3-staker/releases/tag/v1.0.2) for the `UniswapV3Staker` contract. + +# Universal Router + +The `UniversalRouter` contract is the current preferred entrypoint for ERC20 and NFT swaps, replacing, among other contracts, `SwapRouter02`. An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/universal-router/tree/main/deploy-addresses). + +# Uniswap Pool Deployments + +Every Uniswap pool is a unique instance of the `UniswapV3Pool` contract and is deployed at its own unique address. The contract source code of the pool will be auto-verified on etherscan. For example, here is the [ETH/USDC 0.3% pool](https://etherscan.io/address/0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8) on Ethereum mainnet. + +You can look up the address of an existing pool on [Uniswap Info](https://info.uniswap.org/#/) or by calling the [`getPool`](../reference/core/interfaces/IUniswapV3Factory.md#getpool) function on the `UniswapV3Factory` contract. + +```solidity +getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000) +``` + +# Wrapped Native Token Addresses + +The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native asset like ETH (or MATIC on Polygon), the Uniswap protocol wraps these assets in an ERC20 wrapped native token contract. The protocol uses the following WETH9 addresses on Ethereum and WMATIC addresses on Polygon. + +| Network | ChainId | Wrapped Native Token | Address | +| ------------------- | -------- | -------------------- | -------------------------------------------- | +| Arbitrum | `42161` | WETH | `0x82aF49447D8a07e3bd95BD0d56f35241523fBab1` | +| Arbitrum Goerli | `421613` | WETH | `0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3` | +| Arbitrum Sepolia | `421614` | WETH | `0x980B62Da83eFf3D4576C647993b0c1D7faf17c73` | diff --git a/docs/contracts/v3/reference/deployments/BNB Binance Deployments.md b/docs/contracts/v3/reference/deployments/BNB Binance Deployments.md new file mode 100644 index 000000000..614c46c20 --- /dev/null +++ b/docs/contracts/v3/reference/deployments/BNB Binance Deployments.md @@ -0,0 +1,58 @@ +--- +id: bnb-deployments +title: BNB Deployments +--- + +# Uniswap Contract Deployments + +The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap/swap-router-contracts` are deployed at the addresses listed below. Integrators should **no longer assume that they are deployed to the same addresses across chains** and be extremely careful to confirm mappings below. + +| Contract | BNB Address | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | +| [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7` | +| [Multicall](https://bscscan.com/address/0x963Df249eD09c358A4819E39d9Cd5736c3087184#code) | `0x963Df249eD09c358A4819E39d9Cd5736c3087184` | +| [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `0xC9A7f5b73E853664044ab31936D0E6583d8b1c79` | +| [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0xD9270014D396281579760619CCf4c3af0501A47C` | +| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `0x831d93E55AF23A2977E4DA892d5005f4F2995071` | +| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `0x0281E98322e4e8E53491D576Ee6A2BFCE644C55C` | +| [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0xAec98e489AE35F243eB63452f6ad233A6c97eE97` | +| [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0x7b8A01B39D58278b5DE7e48c8449c9f4F5170613` | +| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0x32681814957e0C13117ddc0c2aba232b5c9e760f` | +| [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0x78D78E420Da98ad378D7799bE8f4AF69033EB077` | +| [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2` | +| [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | +| [UniversalRouter](https://github.com/Uniswap/universal-router) | `0x4Dae2f939ACf50408e13d58534Ff8c2776d45265` | +| [v3StakerAddress](https://github.com/Uniswap/v3-staker) | `0x49B53C35AF9072fC71767577BF6380a88EE32C71` | + + +These addresses are final and were deployed from these npm package versions: + +- [`@uniswap/v3-core@1.0.0`](https://github.com/Uniswap/uniswap-v3-core/tree/v1.0.0) +- [`@uniswap/v3-periphery@1.0.0`](https://github.com/Uniswap/uniswap-v3-periphery/tree/v1.0.0) +- [`@uniswap/swap-router-contracts@1.1.0`](https://github.com/Uniswap/swap-router-contracts/tree/v1.1.0) + +# Uniswap V3 Staker + +An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/v3-staker/releases/tag/v1.0.2) for the `UniswapV3Staker` contract. + +# Universal Router + +The `UniversalRouter` contract is the current preferred entrypoint for ERC20 and NFT swaps, replacing, among other contracts, `SwapRouter02`. An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/universal-router/tree/main/deploy-addresses). + +# Uniswap Pool Deployments + +Every Uniswap pool is a unique instance of the `UniswapV3Pool` contract and is deployed at its own unique address. The contract source code of the pool will be auto-verified on etherscan. For example, here is the [ETH/USDC 0.3% pool](https://etherscan.io/address/0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8) on Ethereum mainnet. + +You can look up the address of an existing pool on [Uniswap Info](https://info.uniswap.org/#/) or by calling the [`getPool`](../reference/core/interfaces/IUniswapV3Factory.md#getpool) function on the `UniswapV3Factory` contract. + +```solidity +getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000) +``` + +# Wrapped Native Token Addresses + +The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native asset like ETH (or MATIC on Polygon), the Uniswap protocol wraps these assets in an ERC20 wrapped native token contract. The protocol uses the following WETH9 addresses on Ethereum and WMATIC addresses on Polygon. + +| Network | ChainId | Wrapped Native Token | Address | +| ------------------- | -------- | -------------------- | -------------------------------------------- | +| Binance Smart Chain | `56` | WBNB | `0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c` | diff --git a/docs/contracts/v3/reference/deployments/Base Deployments.md b/docs/contracts/v3/reference/deployments/Base Deployments.md new file mode 100644 index 000000000..910af27f5 --- /dev/null +++ b/docs/contracts/v3/reference/deployments/Base Deployments.md @@ -0,0 +1,59 @@ +--- +id: base-deployments +title: Base Deployments +--- + +# Uniswap Contract Deployments + +The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap/swap-router-contracts` are deployed at the addresses listed below. Integrators should **no longer assume that they are deployed to the same addresses across chains** and be extremely careful to confirm mappings below. + +| Contract | Base Address | Base Sepolia Address | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | -------------------------------------------- | +| [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0x33128a8fC17869897dcE68Ed026d694621f6FDfD` | `0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24` | +| [Multicall](https://basescan.org/address/0x091e99cb1c49331a94dd62755d168e941abd0693#code) | `0x091e99cb1C49331a94dD62755D168E941AbD0693` | `0xd867e273eAbD6c853fCd0Ca0bFB6a3aE6491d2C1` | +| [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `0x3334d83e224aF5ef9C2E7DDA7c7C98Efd9621fA9` | `0xD7303474Baca835743B54D73799688990f24a79D` | +| [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0x0CdeE061c75D43c82520eD998C23ac2991c9ac6d` | `0xedf6066a2b290C185783862C7F4776A2C8077AD1` | +| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `0xF9d1077fd35670d4ACbD27af82652a8d84577d9F` | `0x4e0caFF1Df1cCd7CF782FDdeD77f020699B57f1a` | +| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `0x4f225937EDc33EFD6109c4ceF7b560B2D6401009` | `0xd7c6e867591608D32Fe476d0DbDc95d0cf584c8F` | +| [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0x4615C383F85D0a2BbED973d83ccecf5CB7121463` | `0x1E2A708040Eb6Ed08893E27E35D399e8E8e7857E` | +| [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1` | `0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2` | +| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0x23cF10b1ee3AdfCA73B0eF17C07F7577e7ACd2d7` | `0xCbf8b7f80800bd4888Fbc7bf1713B80FE4E23E10` | +| [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a` | `0xC5290058841028F1614F3A6F0F5816cAd0df5E27` | +| [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0x2626664c2603336E57B271c5C0b26F421741e481` | `0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4` | +| [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | +| [UniversalRouter](https://github.com/Uniswap/universal-router) | `0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD` | `0x050E797f3625EC8785265e1d9BDd4799b97528A1` | +| [v3StakerAddress](https://github.com/Uniswap/v3-staker) | `0x42bE4D6527829FeFA1493e1fb9F3676d2425C3C1` | `` | + + +These addresses are final and were deployed from these npm package versions: + +- [`@uniswap/v3-core@1.0.0`](https://github.com/Uniswap/uniswap-v3-core/tree/v1.0.0) +- [`@uniswap/v3-periphery@1.0.0`](https://github.com/Uniswap/uniswap-v3-periphery/tree/v1.0.0) +- [`@uniswap/swap-router-contracts@1.1.0`](https://github.com/Uniswap/swap-router-contracts/tree/v1.1.0) + +# Uniswap V3 Staker + +An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/v3-staker/releases/tag/v1.0.2) for the `UniswapV3Staker` contract. + +# Universal Router + +The `UniversalRouter` contract is the current preferred entrypoint for ERC20 and NFT swaps, replacing, among other contracts, `SwapRouter02`. An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/universal-router/tree/main/deploy-addresses). + +# Uniswap Pool Deployments + +Every Uniswap pool is a unique instance of the `UniswapV3Pool` contract and is deployed at its own unique address. The contract source code of the pool will be auto-verified on etherscan. For example, here is the [ETH/USDC 0.3% pool](https://etherscan.io/address/0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8) on Ethereum mainnet. + +You can look up the address of an existing pool on [Uniswap Info](https://info.uniswap.org/#/) or by calling the [`getPool`](../reference/core/interfaces/IUniswapV3Factory.md#getpool) function on the `UniswapV3Factory` contract. + +```solidity +getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000) +``` + +# Wrapped Native Token Addresses + +The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native asset like ETH (or MATIC on Polygon), the Uniswap protocol wraps these assets in an ERC20 wrapped native token contract. The protocol uses the following WETH9 addresses on Ethereum and WMATIC addresses on Polygon. + +| Network | ChainId | Wrapped Native Token | Address | +| ------------------- | -------- | -------------------- | -------------------------------------------- | +| Base | `8453` | WETH | `0x4200000000000000000000000000000000000006` | +| Base Sepolia | `84532` | WETH | `0x4200000000000000000000000000000000000006` | diff --git a/docs/contracts/v3/reference/deployments/Celo Deployments.md b/docs/contracts/v3/reference/deployments/Celo Deployments.md new file mode 100644 index 000000000..c402627d7 --- /dev/null +++ b/docs/contracts/v3/reference/deployments/Celo Deployments.md @@ -0,0 +1,60 @@ +--- +id: celo-deployments +title: CELO Deployments +--- + +# Uniswap Contract Deployments + +The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap/swap-router-contracts` are deployed at the addresses listed below. Integrators should **no longer assume that they are deployed to the same addresses across chains** and be extremely careful to confirm mappings below. + +| Contract | CELO Address | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | +| [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0xAfE208a311B21f13EF87E33A90049fC17A7acDEc` | +| [Multicall2](https://celoscan.io/address/0x633987602de5c4f337e3dbf265303a1080324204#code) | `0x633987602DE5C4F337e3DbF265303A1080324204` | +| [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `0xc1b262Dd7643D4B7cA9e51631bBd900a564BF49A` | +| [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0x5f115D9113F88e0a0Db1b5033D90D4a9690AcD3D` | +| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `0xa9Fd765d85938D278cb0b108DbE4BF7186831186` | +| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `0x644023b316bB65175C347DE903B60a756F6dd554` | +| [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0x505B43c452AA4443e0a6B84bb37771494633Fde9` | +| [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A` | +| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0x3cFd4d48EDfDCC53D3f173F596f621064614C582` | +| [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0x82825d0554fA07f7FC52Ab63c961F330fdEFa8E8` | +| [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0x5615CDAb10dc425a742d643d949a7F474C01abc4` | +| [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | +| [UniversalRouter](https://github.com/Uniswap/universal-router) | `0x643770E279d5D0733F21d6DC03A8efbABf3255B4` | +| [v3StakerAddress](https://github.com/Uniswap/v3-staker) | `0x6586FB35393abF7Ff454977a9b3c912d218791C6` | + + +These addresses are final and were deployed from these npm package versions: + +- [`@uniswap/v3-core@1.0.0`](https://github.com/Uniswap/uniswap-v3-core/tree/v1.0.0) +- [`@uniswap/v3-periphery@1.0.0`](https://github.com/Uniswap/uniswap-v3-periphery/tree/v1.0.0) +- [`@uniswap/swap-router-contracts@1.1.0`](https://github.com/Uniswap/swap-router-contracts/tree/v1.1.0) + +# Uniswap V3 Staker + +An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/v3-staker/releases/tag/v1.0.2) for the `UniswapV3Staker` contract. + +# Universal Router + +The `UniversalRouter` contract is the current preferred entrypoint for ERC20 and NFT swaps, replacing, among other contracts, `SwapRouter02`. An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/universal-router/tree/main/deploy-addresses). + +# Uniswap Pool Deployments + +Every Uniswap pool is a unique instance of the `UniswapV3Pool` contract and is deployed at its own unique address. The contract source code of the pool will be auto-verified on etherscan. For example, here is the [ETH/USDC 0.3% pool](https://etherscan.io/address/0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8) on Ethereum mainnet. + +You can look up the address of an existing pool on [Uniswap Info](https://info.uniswap.org/#/) or by calling the [`getPool`](../reference/core/interfaces/IUniswapV3Factory.md#getpool) function on the `UniswapV3Factory` contract. + +```solidity +getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000) +``` + +# CELO Native Asset + +The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native asset like ETH (or MATIC on Polygon), the Uniswap protocol wraps these assets in an ERC20 wrapped native token contract. The protocol uses the following WETH9 addresses on Ethereum and WMATIC addresses on Polygon. + +**Note: CELO is the native asset, it is a token and will work as a token, needing approval for routers to manage.* + +| Network | ChainId | Wrapped Native Token | Address | +| ------- | -------- | -------------------- | -------------------------------------------- | +| CELO | `142220` | CELO Native Asset | `0x471EcE3750Da237f93B8E339c536989b8978a438` | diff --git a/docs/contracts/v3/reference/deployments/Ethereum Deployments.md b/docs/contracts/v3/reference/deployments/Ethereum Deployments.md new file mode 100644 index 000000000..53e107510 --- /dev/null +++ b/docs/contracts/v3/reference/deployments/Ethereum Deployments.md @@ -0,0 +1,64 @@ +--- +id: ethereum-deployments +title: Ethereum Deployments +--- + +# Uniswap Ethereum Contract Deployments + +The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap/swap-router-contracts` are deployed at the addresses listed below. Integrators should **no longer assume that they are deployed to the same addresses across chains** and be extremely careful to confirm mappings below. + +| Contract | Mainnet, Goerli Addresses | Ethereum Sepolia Addresses | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | -------------------------------------------- | +| [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0x1F98431c8aD98523631AE4a59f267346ea31F984` | `0x0227628f3F023bb0B980b67D528571c95c6DaC1c` | +| [Multicall](https://etherscan.io/address/0x1F98415757620B543A52E61c46B32eB19261F984#code) | `0x1F98415757620B543A52E61c46B32eB19261F984` | `` | +| [Multicall2](https://etherscan.io/address/0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696#code) | `0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696` | `0xD7F33bCdb21b359c8ee6F0251d30E94832baAd07` | +| [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `0xB753548F6E010e7e680BA186F9Ca1BdAB2E90cf2` | `0x0b343475d44EC2b4b8243EBF81dc888BF0A14b36` | +| [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0xbfd8137f7d1516D3ea5cA83523914859ec47F573` | `` | +| [Quoter](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/Quoter.sol) | `0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6` | `` | +| [SwapRouter](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/SwapRouter.sol) | `0xE592427A0AEce92De3Edee1F18E0157C05861564` | `` | +| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `0x42B24A95702b9986e82d421cC3568932790A48Ec` | `0x3B5E3c5E595D85fbFBC2a42ECC091e183E76697C` | +| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `0x91ae842A5Ffd8d12023116943e72A606179294f3` | `0x5bE4DAa6982C69aD20A57F1e68cBcA3D37de6207` | +| [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0xEe6A57eC80ea46401049E92587E52f5Ec1c24785` | `` | +| [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0xC36442b4a4522E871399CD717aBDD847Ab11FE88` | `0x1238536071E1c677A632429e3655c799b22cDA52` | +| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0xA5644E29708357803b5A882D272c41cC0dF92B34` | `0x729004182cF005CEC8Bd85df140094b6aCbe8b15` | +| [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0x61fFE014bA17989E743c5F6cB21bF9697530B21e` | `0xEd1f6473345F45b75F8179591dd5bA1888cf2FB3` | +| [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45` | `0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E` | +| [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | +| [UniversalRouter](https://github.com/Uniswap/universal-router) | `0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD` | `0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD` | +| [v3StakerAddress](https://github.com/Uniswap/v3-staker) | `0xe34139463bA50bD61336E0c446Bd8C0867c6fE65` | `` | + + +These addresses are final and were deployed from these npm package versions: + +- [`@uniswap/v3-core@1.0.0`](https://github.com/Uniswap/uniswap-v3-core/tree/v1.0.0) +- [`@uniswap/v3-periphery@1.0.0`](https://github.com/Uniswap/uniswap-v3-periphery/tree/v1.0.0) +- [`@uniswap/swap-router-contracts@1.1.0`](https://github.com/Uniswap/swap-router-contracts/tree/v1.1.0) + +# Uniswap V3 Staker + +An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/v3-staker/releases/tag/v1.0.2) for the `UniswapV3Staker` contract. + +# Universal Router + +The `UniversalRouter` contract is the current preferred entrypoint for ERC20 and NFT swaps, replacing, among other contracts, `SwapRouter02`. An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/universal-router/tree/main/deploy-addresses). + +# Uniswap Pool Deployments + +Every Uniswap pool is a unique instance of the `UniswapV3Pool` contract and is deployed at its own unique address. The contract source code of the pool will be auto-verified on etherscan. For example, here is the [ETH/USDC 0.3% pool](https://etherscan.io/address/0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8) on Ethereum mainnet. + +You can look up the address of an existing pool on [Uniswap Info](https://info.uniswap.org/#/) or by calling the [`getPool`](../reference/core/interfaces/IUniswapV3Factory.md#getpool) function on the `UniswapV3Factory` contract. + +```solidity +getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000) +``` + +# Wrapped Native Token Addresses + +The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native asset like ETH (or MATIC on Polygon), the Uniswap protocol wraps these assets in an ERC20 wrapped native token contract. The protocol uses the following WETH9 addresses on Ethereum and WMATIC addresses on Polygon. + +| Network | ChainId | Wrapped Native Token | Address | +| ------------------- | ----------- | -------------------- | -------------------------------------------- | +| Ethereum | `1` | WETH | `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` | +| Goerli | `5` | WETH | `0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6` | +| Sepolia | `11155111` | WETH | `0xfff9976782d46cc05630d1f6ebab18b2324d6b14` | + diff --git a/docs/contracts/v3/reference/deployments/Optimism Deployments.md b/docs/contracts/v3/reference/deployments/Optimism Deployments.md new file mode 100644 index 000000000..e8c67562c --- /dev/null +++ b/docs/contracts/v3/reference/deployments/Optimism Deployments.md @@ -0,0 +1,62 @@ +--- +id: optimism-deployments +title: Optimism Deployments +--- + +# Uniswap Contract Deployments + +The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap/swap-router-contracts` are deployed at the addresses listed below. Integrators should **no longer assume that they are deployed to the same addresses across chains** and be extremely careful to confirm mappings below. + +| Contract | Optimism Addresses | OP Sepolia Addresses SDK-Core | OP Sepolia Addresses | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0x1F98431c8aD98523631AE4a59f267346ea31F984` | `0x8CE191193D15ea94e11d327b4c7ad8bbE520f6aF` | `0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24` | +| [Multicall](https://optimistic.etherscan.io/address/0x1F98415757620B543A52E61c46B32eB19261F984#code) | `0x1F98415757620B543A52E61c46B32eB19261F984` | `0x80e4e06841bb76AA9735E0448cB8d003C0EF009a` | `0xd867e273eAbD6c853fCd0Ca0bFB6a3aE6491d2C1` | +| [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `0xB753548F6E010e7e680BA186F9Ca1BdAB2E90cf2` | `0xD7303474Baca835743B54D73799688990f24a79D` | `0xD7303474Baca835743B54D73799688990f24a79D` | +| [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0xbfd8137f7d1516D3ea5cA83523914859ec47F573` | `0xCb7f54747F58F8944973cea5b8f4ac2209BadDC5` | `0xedf6066a2b290C185783862C7F4776A2C8077AD1` | +| [Quoter](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/Quoter.sol) | `0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6` | `` | `` | +| [SwapRouter](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/SwapRouter.sol) | `0xE592427A0AEce92De3Edee1F18E0157C05861564` | `` | `` | +| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `0x42B24A95702b9986e82d421cC3568932790A48Ec` | `0x4e0caFF1Df1cCd7CF782FDdeD77f020699B57f1a` | `0x4e0caFF1Df1cCd7CF782FDdeD77f020699B57f1a` | +| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `0x91ae842A5Ffd8d12023116943e72A606179294f3` | `0xd7c6e867591608D32Fe476d0DbDc95d0cf584c8F` | `0xd7c6e867591608D32Fe476d0DbDc95d0cf584c8F` | +| [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0xEe6A57eC80ea46401049E92587E52f5Ec1c24785` | `0x1E2A708040Eb6Ed08893E27E35D399e8E8e7857E` | `0x1E2A708040Eb6Ed08893E27E35D399e8E8e7857E` | +| [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0xC36442b4a4522E871399CD717aBDD847Ab11FE88` | `0xdA75cEf1C93078e8b736FCA5D5a30adb97C8957d` | `0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2` | +| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0xA5644E29708357803b5A882D272c41cC0dF92B34` | `0xE7EcbAAaA54D007A00dbb6c1d2f150066D69dA07` | `0xCbf8b7f80800bd4888Fbc7bf1713B80FE4E23E10` | +| [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0x61fFE014bA17989E743c5F6cB21bF9697530B21e` | `0x0FBEa6cf957d95ee9313490050F6A0DA68039404` | `0xC5290058841028F1614F3A6F0F5816cAd0df5E27` | +| [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45` | `0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4` | `0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4` | +| [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | +| [UniversalRouter](https://github.com/Uniswap/universal-router) | `0xCb1355ff08Ab38bBCE60111F1bb2B784bE25D7e8` | `0xD5bBa708b39537d33F2812E5Ea032622456F1A95` | `0xD5bBa708b39537d33F2812E5Ea032622456F1A95` | +| [v3StakerAddress](https://github.com/Uniswap/v3-staker) | `0xe34139463bA50bD61336E0c446Bd8C0867c6fE65` | `0x78eF13931e5625C828ef8Ec455ba7fa09fDa9808` | `` | + + +These addresses are final and were deployed from these npm package versions: + +- [`@uniswap/v3-core@1.0.0`](https://github.com/Uniswap/uniswap-v3-core/tree/v1.0.0) +- [`@uniswap/v3-periphery@1.0.0`](https://github.com/Uniswap/uniswap-v3-periphery/tree/v1.0.0) +- [`@uniswap/swap-router-contracts@1.1.0`](https://github.com/Uniswap/swap-router-contracts/tree/v1.1.0) + +# Uniswap V3 Staker + +An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/v3-staker/releases/tag/v1.0.2) for the `UniswapV3Staker` contract. + +# Universal Router + +The `UniversalRouter` contract is the current preferred entrypoint for ERC20 and NFT swaps, replacing, among other contracts, `SwapRouter02`. An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/universal-router/tree/main/deploy-addresses). + +# Uniswap Pool Deployments + +Every Uniswap pool is a unique instance of the `UniswapV3Pool` contract and is deployed at its own unique address. The contract source code of the pool will be auto-verified on etherscan. For example, here is the [ETH/USDC 0.3% pool](https://etherscan.io/address/0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8) on Ethereum mainnet. + +You can look up the address of an existing pool on [Uniswap Info](https://info.uniswap.org/#/) or by calling the [`getPool`](../reference/core/interfaces/IUniswapV3Factory.md#getpool) function on the `UniswapV3Factory` contract. + +```solidity +getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000) +``` + +# Wrapped Native Token Addresses + +The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native asset like ETH (or MATIC on Polygon), the Uniswap protocol wraps these assets in an ERC20 wrapped native token contract. The protocol uses the following WETH9 addresses on Ethereum and WMATIC addresses on Polygon. + +| Network | ChainId | Wrapped Native Token | Address | +| ------------------- | -------- | -------------------- | -------------------------------------------- | +| Optimism | `10` | WETH | `0x4200000000000000000000000000000000000006` | +| Optimism Goerli | `420` | WETH | `0x4200000000000000000000000000000000000006` | +| Optimism Sepolia | `137` | WETH | `0x4200000000000000000000000000000000000006` | diff --git a/docs/contracts/v3/reference/deployments/Polygon Deployments.md b/docs/contracts/v3/reference/deployments/Polygon Deployments.md new file mode 100644 index 000000000..78cba8597 --- /dev/null +++ b/docs/contracts/v3/reference/deployments/Polygon Deployments.md @@ -0,0 +1,61 @@ +--- +id: polygon-deployments +title: Polygon Deployments +--- + +# Uniswap Contract Deployments + +The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap/swap-router-contracts` are deployed at the addresses listed below. Integrators should **no longer assume that they are deployed to the same addresses across chains** and be extremely careful to confirm mappings below. + +| Contract | Polygon Addresses | Polygon Mumbai | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | -------------------------------------------- | +| [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0x1F98431c8aD98523631AE4a59f267346ea31F984` | `0x1F98431c8aD98523631AE4a59f267346ea31F984` | +| [Multicall](https://polygonscan.com/address/0x1F98415757620B543A52E61c46B32eB19261F984#code) | `0x1F98415757620B543A52E61c46B32eB19261F984` | `0x1F98415757620B543A52E61c46B32eB19261F984` | +| [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `0xB753548F6E010e7e680BA186F9Ca1BdAB2E90cf2` | `0xB753548F6E010e7e680BA186F9Ca1BdAB2E90cf2` | +| [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0xbfd8137f7d1516D3ea5cA83523914859ec47F573` | `0xbfd8137f7d1516D3ea5cA83523914859ec47F573` | +| [Quoter](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/Quoter.sol) | `0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6` | `0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6` | +| [SwapRouter](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/SwapRouter.sol) | `0xE592427A0AEce92De3Edee1F18E0157C05861564` | `0xE592427A0AEce92De3Edee1F18E0157C05861564` | +| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `0x42B24A95702b9986e82d421cC3568932790A48Ec` | `0x42B24A95702b9986e82d421cC3568932790A48Ec` | +| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `0x91ae842A5Ffd8d12023116943e72A606179294f3` | `0x91ae842A5Ffd8d12023116943e72A606179294f3` | +| [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0xEe6A57eC80ea46401049E92587E52f5Ec1c24785` | `0xEe6A57eC80ea46401049E92587E52f5Ec1c24785` | +| [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0xC36442b4a4522E871399CD717aBDD847Ab11FE88` | `0xC36442b4a4522E871399CD717aBDD847Ab11FE88` | +| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0xA5644E29708357803b5A882D272c41cC0dF92B34` | `0xA5644E29708357803b5A882D272c41cC0dF92B34` | +| [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0x61fFE014bA17989E743c5F6cB21bF9697530B21e` | `0x61fFE014bA17989E743c5F6cB21bF9697530B21e` | +| [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45` | `0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45` | +| [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | +| [UniversalRouter](https://github.com/Uniswap/universal-router) | `0xec7BE89e9d109e7e3Fec59c222CF297125FEFda2` | `0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD` | +| [v3StakerAddress](https://github.com/Uniswap/v3-staker) | `0xe34139463bA50bD61336E0c446Bd8C0867c6fE65` | `0xe34139463bA50bD61336E0c446Bd8C0867c6fE65` | + + +These addresses are final and were deployed from these npm package versions: + +- [`@uniswap/v3-core@1.0.0`](https://github.com/Uniswap/uniswap-v3-core/tree/v1.0.0) +- [`@uniswap/v3-periphery@1.0.0`](https://github.com/Uniswap/uniswap-v3-periphery/tree/v1.0.0) +- [`@uniswap/swap-router-contracts@1.1.0`](https://github.com/Uniswap/swap-router-contracts/tree/v1.1.0) + +# Uniswap V3 Staker + +An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/v3-staker/releases/tag/v1.0.2) for the `UniswapV3Staker` contract. + +# Universal Router + +The `UniversalRouter` contract is the current preferred entrypoint for ERC20 and NFT swaps, replacing, among other contracts, `SwapRouter02`. An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/universal-router/tree/main/deploy-addresses). + +# Uniswap Pool Deployments + +Every Uniswap pool is a unique instance of the `UniswapV3Pool` contract and is deployed at its own unique address. The contract source code of the pool will be auto-verified on etherscan. For example, here is the [ETH/USDC 0.3% pool](https://etherscan.io/address/0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8) on Ethereum mainnet. + +You can look up the address of an existing pool on [Uniswap Info](https://info.uniswap.org/#/) or by calling the [`getPool`](../reference/core/interfaces/IUniswapV3Factory.md#getpool) function on the `UniswapV3Factory` contract. + +```solidity +getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000) +``` + +# Wrapped Native Token Addresses + +The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native asset like ETH (or MATIC on Polygon), the Uniswap protocol wraps these assets in an ERC20 wrapped native token contract. The protocol uses the following WETH9 addresses on Ethereum and WMATIC addresses on Polygon. + +| Network | ChainId | Wrapped Native Token | Address | +| ------------------- | -------- | -------------------- | -------------------------------------------- | +| Polygon | `137` | WMATIC | `0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270` | +| Polygon Mumbai | `80001` | WMATIC | `0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889` | diff --git a/docs/contracts/v3/reference/deployments/deployments.md b/docs/contracts/v3/reference/deployments/deployments.md new file mode 100644 index 000000000..4e16710d8 --- /dev/null +++ b/docs/contracts/v3/reference/deployments/deployments.md @@ -0,0 +1,40 @@ +--- +id: deployments +title: Deployment Addresses +--- + +# Uniswap Contract Deployments + +The Uniswap Protocol is made up of multiple contracts on many networks. + +Please do not assume contracts are deployed to the same addresses across chains, and be extremely careful to confirm addresses before using a contract. + +- [`Etherum`](./Ethereum%20Deployments.md) +- [`Arbitrum`](./Arbitrum%20Deployments.md) +- [`Optimism`](./Optimism%20Deployments.md) +- [`Polygon`](./Polygon%20Deployments.md) +- [`Base`](./Base%20Deployments.md) +- [`BNB`](./BNB%20Binance%20Deployments.md) +- [`Avalanche C-Chain`](./AVAX%20Deployments.md) +- [`CELO`](./Celo%20Deployments.md) + +These addresses are final and were deployed from these npm package versions: + +- [`@uniswap/v3-core@1.0.0`](https://github.com/Uniswap/uniswap-v3-core/tree/v1.0.0) +- [`@uniswap/v3-periphery@1.0.0`](https://github.com/Uniswap/uniswap-v3-periphery/tree/v1.0.0) +- [`@uniswap/swap-router-contracts@1.1.0`](https://github.com/Uniswap/swap-router-contracts/tree/v1.1.0) + + +# Universal Router + +The `UniversalRouter` contract is the current preferred entrypoint for ERC20 and NFT swaps, replacing, among other contracts, `SwapRouter02`. An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/universal-router/tree/main/deploy-addresses). + +# Uniswap Pool Deployments + +Every Uniswap pool is a unique instance of the `UniswapV3Pool` contract and is deployed at its own unique address. The contract source code of the pool will be auto-verified on etherscan. For example, here is the [ETH/USDC 0.3% pool](https://etherscan.io/address/0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8) on Ethereum mainnet. + +You can look up the address of an existing pool on [Uniswap Info](https://info.uniswap.org/#/) or by calling the [`getPool`](../reference/core/interfaces/IUniswapV3Factory.md#getpool) function on the `UniswapV3Factory` contract. + +```solidity +getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000) +``` \ No newline at end of file From da5fbb7a6347d76d232bb54b15ff1a36936e201e Mon Sep 17 00:00:00 2001 From: Rachel-Eichenberger <60412342+Rachel-Eichenberger@users.noreply.github.com> Date: Wed, 27 Mar 2024 00:33:47 -0700 Subject: [PATCH 2/4] Fix: Clean up commit Clean up commit:: Changed filenames (Removed Spaces) removed mention of depreciated testnets in v2 Fix spelling mistake "Factory" in v2 deploys file Removed missing Optimism v3 migrator Added two missing AVAX verified by https://github.com/jsy1218 Tested locally again. Hopefully didn't miss anything. (more to come on OPsep) --- .../smart-contracts/08-deployment-addresses.md | 4 ++-- .../{AVAX Deployments.md => AVAX-Deployments.md} | 4 ++-- ...um Deployments.md => Arbitrum-Deployments.md} | 0 ...Deployments.md => BNB-Binance-Deployments.md} | 0 .../{Base Deployments.md => Base-Deployments.md} | 0 .../{Celo Deployments.md => Celo-Deployments.md} | 0 ...um Deployments.md => Ethereum-Deployments.md} | 0 ...sm Deployments.md => Optimism-Deployments.md} | 2 +- ...gon Deployments.md => Polygon-Deployments.md} | 0 .../v3/reference/deployments/deployments.md | 16 ++++++++-------- 10 files changed, 13 insertions(+), 13 deletions(-) rename docs/contracts/v3/reference/deployments/{AVAX Deployments.md => AVAX-Deployments.md} (97%) rename docs/contracts/v3/reference/deployments/{Arbitrum Deployments.md => Arbitrum-Deployments.md} (100%) rename docs/contracts/v3/reference/deployments/{BNB Binance Deployments.md => BNB-Binance-Deployments.md} (100%) rename docs/contracts/v3/reference/deployments/{Base Deployments.md => Base-Deployments.md} (100%) rename docs/contracts/v3/reference/deployments/{Celo Deployments.md => Celo-Deployments.md} (100%) rename docs/contracts/v3/reference/deployments/{Ethereum Deployments.md => Ethereum-Deployments.md} (100%) rename docs/contracts/v3/reference/deployments/{Optimism Deployments.md => Optimism-Deployments.md} (98%) rename docs/contracts/v3/reference/deployments/{Polygon Deployments.md => Polygon-Deployments.md} (100%) diff --git a/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md b/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md index ca8f28d0f..a8c3cb2e7 100644 --- a/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md +++ b/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md @@ -7,9 +7,9 @@ title: V2 Deployment Addresses Contract addresses for the [`Uniswap V2 Factory`](https://github.com/Uniswap/v2-core/blob/master/contracts/UniswapV2Factory.sol) and the [`Uniswap V2Router02`](https://github.com/Uniswap/v2-periphery/blob/master/contracts/UniswapV2Router02.sol) -| Network | Factroy Contract Address | V2Router02 Contract Address | +| Network | Factory Contract Address | V2Router02 Contract Address | | ---------------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| Mainnet, Ropsten, Rinkeby, Goerli, Kovan | `0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f` | `0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D` | +| Mainnet | `0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f` | `0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D` | | Etherum Sepolia | `0xB7f907f7A9eBC822a80BD25E224be42Ce0A698A0` | `0x425141165d3DE9FEC831896C016617a52363b687` | | Arbitrum | `0xf1D7CC64Fb4452F05c498126312eBE29f30Fbcf9` | `0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24` | | Avalanche | `0x9e5A52f57b3038F1B8EeE45F28b3C1967e22799C` | `0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24` | diff --git a/docs/contracts/v3/reference/deployments/AVAX Deployments.md b/docs/contracts/v3/reference/deployments/AVAX-Deployments.md similarity index 97% rename from docs/contracts/v3/reference/deployments/AVAX Deployments.md rename to docs/contracts/v3/reference/deployments/AVAX-Deployments.md index 60f7322bb..b75c3525f 100644 --- a/docs/contracts/v3/reference/deployments/AVAX Deployments.md +++ b/docs/contracts/v3/reference/deployments/AVAX-Deployments.md @@ -13,8 +13,8 @@ The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap | [Multicall](https://snowtrace.io/address/0x0139141Cd4Ee88dF3Cdb65881D411bAE271Ef0C2/contract/43114/code) | `0x0139141Cd4Ee88dF3Cdb65881D411bAE271Ef0C2` | | [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `0x9AdA7D7879214073F40183F3410F2b3f088c6381` | | [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0xEB9fFC8bf81b4fFd11fb6A63a6B0f098c6e21950` | -| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `` | -| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `` | +| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `0x27Dd7eE7fE723e83Bf3612a75a034951fe299E99` | +| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `0xe89B7C295d73FCCe88eF263F86e7310925DaEBAF` | | [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0xE1f93a7cB6fFa2dB4F9d5A2FD43158A428993C09` | | [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0x655C406EBFa14EE2006250925e54ec43AD184f8B` | | [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0x44f5f1f5E452ea8d29C890E8F6e893fC0f1f0f97` | diff --git a/docs/contracts/v3/reference/deployments/Arbitrum Deployments.md b/docs/contracts/v3/reference/deployments/Arbitrum-Deployments.md similarity index 100% rename from docs/contracts/v3/reference/deployments/Arbitrum Deployments.md rename to docs/contracts/v3/reference/deployments/Arbitrum-Deployments.md diff --git a/docs/contracts/v3/reference/deployments/BNB Binance Deployments.md b/docs/contracts/v3/reference/deployments/BNB-Binance-Deployments.md similarity index 100% rename from docs/contracts/v3/reference/deployments/BNB Binance Deployments.md rename to docs/contracts/v3/reference/deployments/BNB-Binance-Deployments.md diff --git a/docs/contracts/v3/reference/deployments/Base Deployments.md b/docs/contracts/v3/reference/deployments/Base-Deployments.md similarity index 100% rename from docs/contracts/v3/reference/deployments/Base Deployments.md rename to docs/contracts/v3/reference/deployments/Base-Deployments.md diff --git a/docs/contracts/v3/reference/deployments/Celo Deployments.md b/docs/contracts/v3/reference/deployments/Celo-Deployments.md similarity index 100% rename from docs/contracts/v3/reference/deployments/Celo Deployments.md rename to docs/contracts/v3/reference/deployments/Celo-Deployments.md diff --git a/docs/contracts/v3/reference/deployments/Ethereum Deployments.md b/docs/contracts/v3/reference/deployments/Ethereum-Deployments.md similarity index 100% rename from docs/contracts/v3/reference/deployments/Ethereum Deployments.md rename to docs/contracts/v3/reference/deployments/Ethereum-Deployments.md diff --git a/docs/contracts/v3/reference/deployments/Optimism Deployments.md b/docs/contracts/v3/reference/deployments/Optimism-Deployments.md similarity index 98% rename from docs/contracts/v3/reference/deployments/Optimism Deployments.md rename to docs/contracts/v3/reference/deployments/Optimism-Deployments.md index e8c67562c..cfb1c9910 100644 --- a/docs/contracts/v3/reference/deployments/Optimism Deployments.md +++ b/docs/contracts/v3/reference/deployments/Optimism-Deployments.md @@ -19,7 +19,7 @@ The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap | [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `0x91ae842A5Ffd8d12023116943e72A606179294f3` | `0xd7c6e867591608D32Fe476d0DbDc95d0cf584c8F` | `0xd7c6e867591608D32Fe476d0DbDc95d0cf584c8F` | | [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0xEe6A57eC80ea46401049E92587E52f5Ec1c24785` | `0x1E2A708040Eb6Ed08893E27E35D399e8E8e7857E` | `0x1E2A708040Eb6Ed08893E27E35D399e8E8e7857E` | | [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0xC36442b4a4522E871399CD717aBDD847Ab11FE88` | `0xdA75cEf1C93078e8b736FCA5D5a30adb97C8957d` | `0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2` | -| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0xA5644E29708357803b5A882D272c41cC0dF92B34` | `0xE7EcbAAaA54D007A00dbb6c1d2f150066D69dA07` | `0xCbf8b7f80800bd4888Fbc7bf1713B80FE4E23E10` | +| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `` | `0xE7EcbAAaA54D007A00dbb6c1d2f150066D69dA07` | `0xCbf8b7f80800bd4888Fbc7bf1713B80FE4E23E10` | | [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0x61fFE014bA17989E743c5F6cB21bF9697530B21e` | `0x0FBEa6cf957d95ee9313490050F6A0DA68039404` | `0xC5290058841028F1614F3A6F0F5816cAd0df5E27` | | [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45` | `0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4` | `0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4` | | [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | diff --git a/docs/contracts/v3/reference/deployments/Polygon Deployments.md b/docs/contracts/v3/reference/deployments/Polygon-Deployments.md similarity index 100% rename from docs/contracts/v3/reference/deployments/Polygon Deployments.md rename to docs/contracts/v3/reference/deployments/Polygon-Deployments.md diff --git a/docs/contracts/v3/reference/deployments/deployments.md b/docs/contracts/v3/reference/deployments/deployments.md index 4e16710d8..e67676b36 100644 --- a/docs/contracts/v3/reference/deployments/deployments.md +++ b/docs/contracts/v3/reference/deployments/deployments.md @@ -9,14 +9,14 @@ The Uniswap Protocol is made up of multiple contracts on many networks. Please do not assume contracts are deployed to the same addresses across chains, and be extremely careful to confirm addresses before using a contract. -- [`Etherum`](./Ethereum%20Deployments.md) -- [`Arbitrum`](./Arbitrum%20Deployments.md) -- [`Optimism`](./Optimism%20Deployments.md) -- [`Polygon`](./Polygon%20Deployments.md) -- [`Base`](./Base%20Deployments.md) -- [`BNB`](./BNB%20Binance%20Deployments.md) -- [`Avalanche C-Chain`](./AVAX%20Deployments.md) -- [`CELO`](./Celo%20Deployments.md) +- [`Etherum`](./Ethereum-Deployments.md) +- [`Arbitrum`](./Arbitrum-Deployments.md) +- [`Optimism`](./Optimism-Deployments.md) +- [`Polygon`](./Polygon-Deployments.md) +- [`Base`](./Base-Deployments.md) +- [`BNB`](./BNB-Binance-Deployments.md) +- [`Avalanche C-Chain`](./AVAX-Deployments.md) +- [`CELO`](./Celo-Deployments.md) These addresses are final and were deployed from these npm package versions: From 13a81c44bed37d2e8e1f1c5c6f3042a716bf046e Mon Sep 17 00:00:00 2001 From: Rachel-Eichenberger <60412342+Rachel-Eichenberger@users.noreply.github.com> Date: Wed, 27 Mar 2024 20:05:01 -0700 Subject: [PATCH 3/4] Fix: Remove Goerli Removed all references of Goerli based on depreciation and no longer in SDK. Goerli is being depreciated, and has stopped producing some blocks... Goerli has been removed from the SDK https://github.com/Uniswap/docs/pull/683#discussion_r1541939153 https://github.com/Uniswap/routing-api/pull/500 --- .../contracts/v3/reference/deployments/Arbitrum-Deployments.md | 1 - .../contracts/v3/reference/deployments/Ethereum-Deployments.md | 3 +-- .../contracts/v3/reference/deployments/Optimism-Deployments.md | 1 - 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/contracts/v3/reference/deployments/Arbitrum-Deployments.md b/docs/contracts/v3/reference/deployments/Arbitrum-Deployments.md index 85661d090..83c73884d 100644 --- a/docs/contracts/v3/reference/deployments/Arbitrum-Deployments.md +++ b/docs/contracts/v3/reference/deployments/Arbitrum-Deployments.md @@ -58,5 +58,4 @@ The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native | Network | ChainId | Wrapped Native Token | Address | | ------------------- | -------- | -------------------- | -------------------------------------------- | | Arbitrum | `42161` | WETH | `0x82aF49447D8a07e3bd95BD0d56f35241523fBab1` | -| Arbitrum Goerli | `421613` | WETH | `0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3` | | Arbitrum Sepolia | `421614` | WETH | `0x980B62Da83eFf3D4576C647993b0c1D7faf17c73` | diff --git a/docs/contracts/v3/reference/deployments/Ethereum-Deployments.md b/docs/contracts/v3/reference/deployments/Ethereum-Deployments.md index 53e107510..d81fc0e99 100644 --- a/docs/contracts/v3/reference/deployments/Ethereum-Deployments.md +++ b/docs/contracts/v3/reference/deployments/Ethereum-Deployments.md @@ -7,7 +7,7 @@ title: Ethereum Deployments The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap/swap-router-contracts` are deployed at the addresses listed below. Integrators should **no longer assume that they are deployed to the same addresses across chains** and be extremely careful to confirm mappings below. -| Contract | Mainnet, Goerli Addresses | Ethereum Sepolia Addresses | +| Contract | Mainnet | Ethereum Sepolia Addresses | | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | -------------------------------------------- | | [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0x1F98431c8aD98523631AE4a59f267346ea31F984` | `0x0227628f3F023bb0B980b67D528571c95c6DaC1c` | | [Multicall](https://etherscan.io/address/0x1F98415757620B543A52E61c46B32eB19261F984#code) | `0x1F98415757620B543A52E61c46B32eB19261F984` | `` | @@ -59,6 +59,5 @@ The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native | Network | ChainId | Wrapped Native Token | Address | | ------------------- | ----------- | -------------------- | -------------------------------------------- | | Ethereum | `1` | WETH | `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` | -| Goerli | `5` | WETH | `0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6` | | Sepolia | `11155111` | WETH | `0xfff9976782d46cc05630d1f6ebab18b2324d6b14` | diff --git a/docs/contracts/v3/reference/deployments/Optimism-Deployments.md b/docs/contracts/v3/reference/deployments/Optimism-Deployments.md index cfb1c9910..6fcfe0ac9 100644 --- a/docs/contracts/v3/reference/deployments/Optimism-Deployments.md +++ b/docs/contracts/v3/reference/deployments/Optimism-Deployments.md @@ -58,5 +58,4 @@ The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native | Network | ChainId | Wrapped Native Token | Address | | ------------------- | -------- | -------------------- | -------------------------------------------- | | Optimism | `10` | WETH | `0x4200000000000000000000000000000000000006` | -| Optimism Goerli | `420` | WETH | `0x4200000000000000000000000000000000000006` | | Optimism Sepolia | `137` | WETH | `0x4200000000000000000000000000000000000006` | From 3ebd8c512d618551fb01e5117d40e08615071b6a Mon Sep 17 00:00:00 2001 From: Rachel-Eichenberger <60412342+Rachel-Eichenberger@users.noreply.github.com> Date: Tue, 2 Apr 2024 21:52:18 -0700 Subject: [PATCH 4/4] fix: Add Blast Network Adds the Blast Network just launched into the documents addresses --- .../08-deployment-addresses.md | 1 + .../deployments/Blast-Deployments.md | 55 +++++++++++++++++++ .../v3/reference/deployments/deployments.md | 1 + 3 files changed, 57 insertions(+) create mode 100644 docs/contracts/v3/reference/deployments/Blast-Deployments.md diff --git a/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md b/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md index a8c3cb2e7..289c4ae3e 100644 --- a/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md +++ b/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md @@ -17,3 +17,4 @@ Contract addresses for the [`Uniswap V2 Factory`](https://github.com/Uniswap/v2- | Base | `0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6` | `0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24` | | Optimism | `0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf` | `0x4A7b5Da61326A6379179b40d00F57E5bbDC962c2` | | Polygon | `0x9e5A52f57b3038F1B8EeE45F28b3C1967e22799C` | `0xedf6066a2b290C185783862C7F4776A2C8077AD1` | +| Blast | `0x5C346464d33F90bABaf70dB6388507CC889C1070` | `0xBB66Eb1c5e875933D44DAe661dbD80e5D9B03035` | diff --git a/docs/contracts/v3/reference/deployments/Blast-Deployments.md b/docs/contracts/v3/reference/deployments/Blast-Deployments.md new file mode 100644 index 000000000..e558ce3eb --- /dev/null +++ b/docs/contracts/v3/reference/deployments/Blast-Deployments.md @@ -0,0 +1,55 @@ +--- +id: blast-deployments +title: Blast Deployments +--- + +# Uniswap Contract Deployments + +The latest version of `@uniswap/v3-core`, `@uniswap/v3-periphery`, and `@uniswap/swap-router-contracts` are deployed at the addresses listed below. Integrators should **no longer assume that they are deployed to the same addresses across chains** and be extremely careful to confirm mappings below. + +| Contract | Blast addresses | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------- | +| [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0x792edAdE80af5fC680d96a2eD80A44247D2Cf6Fd` | +| [Multicall](https://blastscan.io/address/0xdc7f370de7631ce9e2c2e1dcda6b3b5744cf4705#code) | `0xdC7f370de7631cE9e2c2e1DCDA6B3B5744Cf4705` | +| [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `0x7C9cAa4ac84C8FAD8Bd504DBF90e791F91f41705` | +| [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0x2E95185bCdD928a3e984B7e2D6560Ab1b17d7274` | +| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `0xAa32bD3926097fd04d22b4433e9867417EE79333` | +| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `0x497089D9450BB58f536c38c1C0d0A37472303508` | +| [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0xB22Ef02E13B1900EBF10391e57162402c11BfF05` | +| [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0xB218e4f7cF0533d4696fDfC419A0023D33345F28` | +| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0x15CA7043CD84C5D21Ae76Ba0A1A967d42c40ecE0` | +| [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0x6Cdcd65e03c1CEc3730AeeCd45bc140D57A25C77` | +| [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0x549FEB8c9bd4c12Ad2AB27022dA12492aC452B66` | +| [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022d473030f116ddee9f6b43ac78ba3` | +| [UniversalRouter](https://github.com/Uniswap/universal-router) | `0x643770E279d5D0733F21d6DC03A8efbABf3255B4` | +| [v3StakerAddress](https://github.com/Uniswap/v3-staker) | `0xEcAF7c276f746170642e97De961f2f0361e1aCc8` | + + +These addresses are final and were deployed from these npm package versions: + +- [`@uniswap/v3-core@1.0.0`](https://github.com/Uniswap/uniswap-v3-core/tree/v1.0.0) +- [`@uniswap/v3-periphery@1.0.0`](https://github.com/Uniswap/uniswap-v3-periphery/tree/v1.0.0) +- [`@uniswap/swap-router-contracts@1.1.0`](https://github.com/Uniswap/swap-router-contracts/tree/v1.1.0) + + +# Universal Router + +The `UniversalRouter` contract is the current preferred entrypoint for ERC20 and NFT swaps, replacing, among other contracts, `SwapRouter02`. An up-to-date list of [deploy addresses by chain is hosted on Github](https://github.com/Uniswap/universal-router/tree/main/deploy-addresses). + +# Uniswap Pool Deployments + +Every Uniswap pool is a unique instance of the `UniswapV3Pool` contract and is deployed at its own unique address. The contract source code of the pool will be auto-verified on etherscan. For example, here is the [ETH/USDC 0.3% pool](https://etherscan.io/address/0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8) on Ethereum mainnet. + +You can look up the address of an existing pool on [Uniswap Info](https://info.uniswap.org/#/) or by calling the [`getPool`](../reference/core/interfaces/IUniswapV3Factory.md#getpool) function on the `UniswapV3Factory` contract. + +```solidity +getPool("0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", 3000) +``` + +# Wrapped Native Token Addresses + +The Uniswap Protocol supports trading of ERC20 tokens. In order to swap a native asset like ETH (or MATIC on Polygon), the Uniswap protocol wraps these assets in an ERC20 wrapped native token contract. The protocol uses the following WETH9 addresses on Ethereum and WMATIC addresses on Polygon. + +| Network | ChainId | Wrapped Native Token | Address | +| ------- | -------- | -------------------- | -------------------------------------------- | +| Blast | `1` | WETH | `0x4300000000000000000000000000000000000004` | diff --git a/docs/contracts/v3/reference/deployments/deployments.md b/docs/contracts/v3/reference/deployments/deployments.md index e67676b36..0a7052e92 100644 --- a/docs/contracts/v3/reference/deployments/deployments.md +++ b/docs/contracts/v3/reference/deployments/deployments.md @@ -17,6 +17,7 @@ Please do not assume contracts are deployed to the same addresses across chains, - [`BNB`](./BNB-Binance-Deployments.md) - [`Avalanche C-Chain`](./AVAX-Deployments.md) - [`CELO`](./Celo-Deployments.md) +- [`Blast`](./Blast-Deployments.md) These addresses are final and were deployed from these npm package versions: