- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
102 lines
3.9 KiB
Markdown
102 lines
3.9 KiB
Markdown
# 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.
|