- 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.7 KiB
3.7 KiB
Complete Mainnet Deployment Requirements
All Contracts Requiring Ethereum Mainnet Deployment
1. CCIP Integration Contracts (NEW - Production-Grade)
CCIPLogger
- Status: ❌ Not Deployed
- Purpose: Receives and logs Chain-138 transactions via Chainlink CCIP
- Location:
contracts/ccip-integration/CCIPLogger.sol - Deployment:
npm run deploy:logger:mainnet - Dependencies: CCIP Router (using Chainlink's official:
0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D) - Features:
- Replay protection (batch ID tracking)
- Optional signature verification
- Source chain validation
- Event emission for indexing
2. WETH Bridge Contracts
CCIPWETH9Bridge
- Status: ❌ Not Deployed
- Purpose: Cross-chain WETH9 bridge
- Location:
contracts/ccip/CCIPWETH9Bridge.sol - Deployment:
./scripts/deployment/deploy-all-mainnet.sh - Dependencies: CCIP Router, WETH9 (already exists at
0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)
CCIPWETH10Bridge
- Status: ❌ Not Deployed
- Purpose: Cross-chain WETH10 bridge
- Location:
contracts/ccip/CCIPWETH10Bridge.sol - Deployment:
./scripts/deployment/deploy-all-mainnet.sh - Dependencies: CCIP Router, WETH10 (already exists at
0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f)
3. Optional Contracts (If Needed)
CCIPRouter (Custom)
- Status: ⚠️ Not Required
- Note: Using Chainlink's official router, only deploy if custom router needed
CCIPSender
- Status: ⚠️ Optional
- Purpose: Oracle cross-chain synchronization
- Dependencies: CCIP Router, Oracle Aggregator
CCIPReceiver
- Status: ⚠️ Optional
- Purpose: Oracle cross-chain synchronization
- Dependencies: CCIP Router, Oracle Aggregator
OracleAggregator
- Status: ⚠️ Optional
- Purpose: If oracle needed on Mainnet
- Location:
contracts/oracle/Aggregator.sol
Deployment Order
Recommended Sequence
-
CCIPLogger (Ethereum Mainnet)
- First contract to deploy
- No dependencies on other new contracts
- Required for CCIPTxReporter configuration
-
CCIPTxReporter (Chain-138)
- Deploy after CCIPLogger
- Needs CCIPLogger address as destination
-
CCIPWETH9Bridge (Ethereum Mainnet)
- Can deploy in parallel with CCIPWETH10Bridge
- Uses existing WETH9
-
CCIPWETH10Bridge (Ethereum Mainnet)
- Can deploy in parallel with CCIPWETH9Bridge
- Uses existing WETH10
Deployment Commands
CCIP Integration
# Deploy CCIPLogger
npm run deploy:logger:mainnet
# Deploy CCIPTxReporter (on Chain-138)
npm run deploy:reporter:chain138
WETH Bridges
# Deploy both bridges
./scripts/deployment/deploy-all-mainnet.sh
Configuration Requirements
Required Environment Variables
# Ethereum Mainnet
PRIVATE_KEY=0x...
ETHEREUM_MAINNET_RPC=https://...
ETHERSCAN_API_KEY=...
CCIP_ETH_ROUTER=0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D
ETH_MAINNET_SELECTOR=0x500147
# Chain-138
CHAIN138_RPC_URL=https://...
CCIP_CHAIN138_ROUTER=0x...
CHAIN138_SELECTOR=0x000000000000008a
# Optional
AUTHORIZED_SIGNER=0x...
Cost Estimates (at 2.5 gwei)
- CCIPLogger: ~0.001 ETH
- CCIPTxReporter: ~0.001 ETH (on Chain-138)
- CCIPWETH9Bridge: ~0.0006575 ETH
- CCIPWETH10Bridge: ~0.0006575 ETH
- Total:
0.003315 ETH ($8.29)
Post-Deployment
- Verify all contracts on Etherscan
- Configure bridge destinations
- Set up watcher/relayer service
- Test cross-chain transfers
- Monitor and alert
Documentation
- CCIP Integration:
docs/ccip-integration/README.md - Deployment Guide:
docs/ccip-integration/DEPLOYMENT_GUIDE.md - Quick Start:
docs/ccip-integration/QUICK_START.md - Status:
docs/MAINNET_DEPLOYMENT_STATUS.md