From a3b93de83fd5a618b180094c2c280e62562b1a06 Mon Sep 17 00:00:00 2001 From: Rachel-Eichenberger <60412342+Rachel-Eichenberger@users.noreply.github.com> Date: Thu, 17 Oct 2024 10:37:09 -0700 Subject: [PATCH] Add Worldchain deployments Add worldchain deployment addresses --- .../08-deployment-addresses.md | 1 + .../deployments/WorldChain-Deployments.md | 54 +++++++++++++++++++ .../v3/reference/deployments/deployments.md | 1 + 3 files changed, 56 insertions(+) create mode 100644 docs/contracts/v3/reference/deployments/WorldChain-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 27cc52365..35fc75ea9 100644 --- a/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md +++ b/docs/contracts/v2/reference/smart-contracts/08-deployment-addresses.md @@ -19,3 +19,4 @@ Contract addresses for the [`Uniswap V2 Factory`](https://github.com/Uniswap/v2- | Polygon | `0x9e5A52f57b3038F1B8EeE45F28b3C1967e22799C` | `0xedf6066a2b290C185783862C7F4776A2C8077AD1` | | Blast | `0x5C346464d33F90bABaf70dB6388507CC889C1070` | `0xBB66Eb1c5e875933D44DAe661dbD80e5D9B03035` | | Zora | `0x0F797dC7efaEA995bB916f268D919d0a1950eE3C` | `0xa00F34A632630EFd15223B1968358bA4845bEEC7` | +| WorldChain | `0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f` | `0x541aB7c31A119441eF3575F6973277DE0eF460bd` | diff --git a/docs/contracts/v3/reference/deployments/WorldChain-Deployments.md b/docs/contracts/v3/reference/deployments/WorldChain-Deployments.md new file mode 100644 index 000000000..45c7b7d92 --- /dev/null +++ b/docs/contracts/v3/reference/deployments/WorldChain-Deployments.md @@ -0,0 +1,54 @@ +--- +id: WorldChain-deployments +title: WorldChain 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 | WorldChain | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------- | +| [UniswapV3Factory](https://github.com/Uniswap/uniswap-v3-core/blob/v1.0.0/contracts/UniswapV3Factory.sol) | `0x7a5028BDa40e7B173C278C5342087826455ea25a` | +| [Multicall2](https://worldchain-mainnet.explorer.alchemy.com/address/0x0a22c04215c97E3F532F4eF30e0aD9458792dAB9) | `0x0a22c04215c97E3F532F4eF30e0aD9458792dAB9` | +| [ProxyAdmin](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/ProxyAdmin.sol) | `0x8B52DaCB7B5d9A959CDcD5419061c0eDD1296c29` | +| [TickLens](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/lens/TickLens.sol) | `0xE61df0CaC9d85876aCE5E3037005D80943570623` | +| [NFTDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/libraries/NFTDescriptor.sol) | `0x38c68A1D60C47973EcE5bc1725B65D8Bec438192` | +| [NonfungibleTokenPositionDescriptor](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungibleTokenPositionDescriptor.sol) | `0x70410a302c4a5c52C659b780941c947Abd437FeB` | +| [TransparentUpgradeableProxy](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.4.1-solc-0.7-2/contracts/proxy/TransparentUpgradeableProxy.sol) | `0xe6FcB4952b2d3Fab6DA4BC165831f5575e093feC` | +| [NonfungiblePositionManager](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/NonfungiblePositionManager.sol) | `0xec12a9F9a09f50550686363766Cc153D03c27b5e` | +| [V3Migrator](https://github.com/Uniswap/uniswap-v3-periphery/blob/v1.0.0/contracts/V3Migrator.sol) | `0x9EBDdCBa71C9027E1eB45135672a30bcFEec9de3` | +| [QuoterV2](https://github.com/Uniswap/v3-periphery/blob/main/contracts/lens/QuoterV2.sol) | `0x10158D43e6cc414deE1Bd1eB0EfC6a5cBCfF244c` | +| [SwapRouter02](https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/SwapRouter02.sol) | `0x091AD9e2e6e5eD44c1c66dB50e49A601F9f36cF6` | +| [Permit2](https://github.com/Uniswap/permit2) | `0x000000000022D473030F116dDEE9F6B43aC78BA3` | +| [UniversalRouter](https://github.com/Uniswap/universal-router) | `0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D` | + + +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/sdks/blob/main/sdks/universal-router-sdk/src/utils/constants.ts). + +# 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 | +| ------------------- | -------- | -------------------- | -------------------------------------------- | +| WorldChain | `480` | WETH | `0x4200000000000000000000000000000000000006` | diff --git a/docs/contracts/v3/reference/deployments/deployments.md b/docs/contracts/v3/reference/deployments/deployments.md index 0d0d7e197..b5f657e5e 100644 --- a/docs/contracts/v3/reference/deployments/deployments.md +++ b/docs/contracts/v3/reference/deployments/deployments.md @@ -20,6 +20,7 @@ Please do not assume contracts are deployed to the same addresses across chains, - [`Blast`](./Blast-Deployments.md) - [`ZKsync`](./ZKsync-Deployments.md) - [`Zora`](./Zora-Deployments.md) +- [`WorldChain`](./WorldChain-Deployments.md) These addresses are final and were deployed from these npm package versions: