- 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.
3.9 KiB
Deployment Clarification: WETH vs Bridge Contracts
Important Distinction
There are two types of contracts in this system:
- WETH Contracts (WETH9 and WETH10) - Token contracts
- 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.jsonat0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 - WETH10: Predeployed in
genesis.jsonat0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f - 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.