7. Chain-Specific Addresses and Mappings
For reference, here are the key addresses used for each supported chain in the system. These include the Uniswap V2 (or equivalent) DEX addresses and the LayerZero endpoint addresses, which were needed during deployment.
|
Chain |
LayerZero Chain ID |
LayerZero Endpoint Address |
UniswapV2 Factory (DEX Factory) |
UniswapV2 Router (DEX Router) |
|---|---|---|---|---|
|
Ethereum |
1 |
|||
|
BSC |
56 |
|||
|
Avalanche (C-Chain) |
43114 |
|||
|
Arbitrum |
42161 |
|||
|
Base |
8453 |
|||
|
Notes: |
Notes:
-
The LayerZero Endpoint address
0x1a44...728cis the Endpoint V2 contract deployed commonly across many EVM chainsl2beat.com. This address is used in the TokenFactory constructor on all chains.
-
The Uniswap/PancakeSwap addresses are the existing DEX factories and routers. These addresses were passed to the TokenFactory so it knows where to create liquidity pools. For instance, on Ethereum we use the official Uniswap V2; on BSC, PancakeSwap’s v2; on Avalanche, Pangolin (a Uniswap v2 fork); on Arbitrum, we used SushiSwap’s v2 deployment; on Base, we used BaseSwap (a Uni v2 style DEX on Base). If these addresses change or if you prefer a different DEX, update accordingly.
-
The chain IDs listed are for LayerZero messaging. They correspond to each network (they are not the same as Ethereum’s network IDs, but for mainnets they often coincide or are commonly known as above).
When extending to new chains, you would add new entries similarly – deploy an endpoint (if not already by LayerZero), get its address, and identify a Uniswap v2 compatible DEX on that chain (or deploy your own) and use those addresses.
Make sure these values are correct; any mismatch (e.g., wrong router address) could cause liquidity provisioning to fail or messages to mis-route.
8. Developer Guide: Extending and Forking TokenFactoryForking, Making your own.