# Deployment Clarification: WETH vs Bridge Contracts ## Important Distinction There are **two types of contracts** in this system: 1. **WETH Contracts** (WETH9 and WETH10) - Token contracts 2. **Bridge Contracts** (CCIPWETH9Bridge and CCIPWETH10Bridge) - Cross-chain bridge contracts ## WETH Contracts - NO Deployment Needed ### On Ethereum Mainnet - **WETH9**: Already exists at `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` (deployed years ago) - **WETH10**: Already exists at `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f` (deployed previously) - **Status**: ✅ **No deployment needed** - contracts already exist ### On ChainID 138 - **WETH9**: Predeployed in `genesis.json` at `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` - **WETH10**: Predeployed in `genesis.json` at `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f` - **Status**: ✅ **No deployment needed** - contracts exist from genesis block **Result**: WETH contracts exist at the **same addresses** on both chains - this is the key benefit! ## Bridge Contracts - Deployment Required ### On Ethereum Mainnet - **CCIPWETH9Bridge**: ❌ **NEW contract** - needs deployment - **CCIPWETH10Bridge**: ❌ **NEW contract** - needs deployment - **Status**: ⚠️ **Deployment required** - these are new contracts that don't exist yet ### On ChainID 138 - **CCIPWETH9Bridge**: ❌ **NEW contract** - needs deployment - **CCIPWETH10Bridge**: ❌ **NEW contract** - needs deployment - **Status**: ⚠️ **Deployment required** - these are new contracts that don't exist yet ## Gas Fee Calculations The gas fees calculated in `docs/GAS_FEE_CALCULATIONS.md` are **ONLY for the bridge contracts**, not WETH contracts. ### What You're Paying For | Contract | Deployment Needed? | Gas Cost | |----------|-------------------|----------| | WETH9 (Mainnet) | ❌ No - already exists | $0 | | WETH10 (Mainnet) | ❌ No - already exists | $0 | | WETH9 (ChainID 138) | ❌ No - predeployed | $0 | | WETH10 (ChainID 138) | ❌ No - predeployed | $0 | | **CCIPWETH9Bridge (Mainnet)** | ✅ **Yes - NEW contract** | ~$39.50 | | **CCIPWETH10Bridge (Mainnet)** | ✅ **Yes - NEW contract** | ~$39.50 | | **CCIPWETH9Bridge (ChainID 138)** | ✅ **Yes - NEW contract** | Native gas | | **CCIPWETH10Bridge (ChainID 138)** | ✅ **Yes - NEW contract** | Native gas | ## Why This Matters ### The Benefit of Predeployment By predeploying WETH9 and WETH10 at canonical addresses: - ✅ **No WETH deployment costs** on either chain - ✅ **Same addresses** on both chains (compatibility) - ✅ **Immediate availability** from genesis block - ✅ **Users can reference same addresses** across chains ### What You Still Need to Deploy You only need to deploy the **bridge contracts**: - These are NEW contracts that handle cross-chain transfers - They interact with the existing/predeployed WETH contracts - They need to be deployed on BOTH chains ## Gas Cost Summary ### Mainnet Deployment Costs **Bridge Contracts Only** (WETH contracts already exist): - Deploy CCIPWETH9Bridge: ~0.00789 ETH (~$19.73) - Deploy CCIPWETH10Bridge: ~0.00789 ETH (~$19.73) - Configure destinations: ~0.006 ETH (~$15.00) - **Total: ~0.02178 ETH (~$54.46)** **WETH Contracts**: $0 (already exist) ### ChainID 138 Deployment Costs **Bridge Contracts Only** (WETH contracts predeployed): - Deploy CCIPWETH9Bridge: Native gas (minimal) - Deploy CCIPWETH10Bridge: Native gas (minimal) - Configure destinations: Native gas (minimal) **WETH Contracts**: $0 (predeployed in genesis) ## Conclusion ✅ **You're correct** - since WETH contracts are at canonical addresses: - **Mainnet**: WETH already exists (no deployment needed) - **ChainID 138**: WETH predeployed in genesis (no deployment needed) ✅ **Gas fees are correct** - they're only for deploying the NEW bridge contracts: - **Mainnet**: ~$54 for both bridge contracts - **ChainID 138**: Minimal native gas The predeployment strategy saves you from deploying WETH contracts, but you still need to deploy the bridge contracts that enable cross-chain transfers.