Files
smom-dbis-138/docs/deployment/MAINNET_DEPLOYMENT_STATUS.md
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- 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.
2025-12-12 14:57:48 -08:00

172 lines
5.5 KiB
Markdown

# Mainnet Deployment Status
## Overview
This document tracks the status of smart contract deployments to Ethereum Mainnet.
## Contracts Requiring Mainnet Deployment
### Primary Contracts (Required)
1. **CCIPWETH9Bridge**
- **Status**: ❌ Not Deployed
- **Dependencies**: CCIP Router (using Chainlink's official router)
- **WETH9**: Already exists at `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`
- **Deployment Script**: `script/DeployCCIPWETH9Bridge.s.sol`
2. **CCIPWETH10Bridge**
- **Status**: ❌ Not Deployed
- **Dependencies**: CCIP Router (using Chainlink's official router)
- **WETH10**: Already exists at `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f`
- **Deployment Script**: `script/DeployCCIPWETH10Bridge.s.sol`
3. **CCIPLogger** ⭐ NEW
- **Status**: ❌ Not Deployed
- **Purpose**: Receives and logs Chain-138 transactions via CCIP
- **Dependencies**: CCIP Router (using Chainlink's official router)
- **Deployment Script**: `scripts/ccip-deployment/deploy-ccip-logger.js`
- **Location**: `contracts/ccip-integration/CCIPLogger.sol`
### Optional Contracts (If Needed)
4. **CCIPRouter** (Custom)
- **Status**: ⚠️ Not Required (using Chainlink's official router)
- **Official Router**: `0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D`
- **Note**: Only deploy if custom router is needed
5. **CCIPSender**
- **Status**: ⚠️ Optional (for oracle cross-chain sync)
- **Dependencies**: CCIP Router, Oracle Aggregator
- **Deployment Script**: Needs to be created
6. **CCIPReceiver**
- **Status**: ⚠️ Optional (for oracle cross-chain sync)
- **Dependencies**: CCIP Router, Oracle Aggregator
- **Deployment Script**: Needs to be created
7. **OracleAggregator**
- **Status**: ⚠️ Optional (if oracle needed on Mainnet)
- **Deployment Script**: `script/DeployOracle.s.sol`
## CCIP Integration Contracts
### New Production-Grade CCIP System
**CCIPLogger** (Ethereum Mainnet)
- Receives Chain-138 transactions via CCIP
- Implements replay protection
- Supports batch verification
- Optional signature validation
**CCIPTxReporter** (Chain-138)
- Reports Chain-138 transactions to Ethereum
- Supports single and batch reporting
- Automatic fee estimation and refund
**Watcher/Relayer Service** (Off-chain)
- Monitors Chain-138 for transactions
- Batches and relays via CCIP
- Postgres outbox pattern for reliability
- Full monitoring and alerting
## Deployment Configuration
### CCIP Router
- **Official Chainlink Router (Ethereum)**: `0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D`
- **Chain-138 Router**: Check CCIP Directory or deploy custom router
- **LINK Token**: `0x514910771AF9Ca656af840dff83E8264EcF986CA`
### WETH Addresses
- **WETH9**: `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` (already deployed)
- **WETH10**: `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f` (already deployed)
### Chain Selectors (from CCIP Directory)
- **Ethereum Mainnet**: Update from CCIP Directory
- **Chain-138**: Update from CCIP Directory
## Current Deployment Status
### Wallet Status
- **Address**: `0x4A666F96fC8764181194447A7dFdb7d471b301C8`
- **ETH Balance**: 0.002811732488743541 ETH
- **Required**: 0.025 ETH (minimum)
- **Status**: ❌ Insufficient funds
### Deployment Blockers
1. **Insufficient ETH**: Wallet needs at least 0.025 ETH for gas fees
2. **Gas Price**: Using conservative 2.5 gwei maximum cap
3. **CCIP Router Addresses**: Need to verify Chain-138 router address
## Deployment Steps
### Step 1: Fund Wallet
```bash
# Send at least 0.025 ETH to deployer wallet
# Address: 0x4A666F96fC8764181194447A7dFdb7d471b301C8
```
### Step 2: Deploy CCIP Contracts
#### Option A: Deploy All CCIP Contracts
```bash
# Deploy CCIPLogger to Ethereum Mainnet
npm run deploy:logger:mainnet
# Deploy CCIPTxReporter to Chain-138
npm run deploy:reporter:chain138
```
#### Option B: Deploy WETH Bridges
```bash
./scripts/deployment/deploy-all-mainnet.sh
```
### Step 3: Verify Contracts
```bash
# Verify CCIPLogger on Etherscan
npx hardhat verify --network mainnet <ADDRESS> <ROUTER> <SIGNER> <SELECTOR>
# Verify CCIPTxReporter (if explorer available)
npx hardhat verify --network chain138 <ADDRESS> <ROUTER> <SELECTOR> <RECEIVER>
```
### Step 4: Set Up Watcher/Relayer
```bash
cd watcher
npm install
npm run build
npm start
```
## Deployment Scripts
- `scripts/deployment/deploy-all-mainnet.sh` - Deploy WETH bridges
- `scripts/ccip-deployment/deploy-ccip-logger.js` - Deploy CCIPLogger
- `scripts/ccip-deployment/deploy-ccip-reporter.js` - Deploy CCIPTxReporter
- `scripts/ccip-deployment/deploy-all-ccip-mainnet.sh` - Deploy all CCIP contracts
- `scripts/deployment/check-mainnet-deployment-status.sh` - Check deployment status
- `scripts/deployment/check-wallet-balances.sh` - Check wallet funding
## Next Steps
1. ✅ Identify all contracts needing Mainnet deployment
2. ✅ Create deployment scripts
3. ✅ Create CCIP integration system
4. ⏳ Fund wallet with sufficient ETH
5. ⏳ Deploy CCIPLogger to Ethereum Mainnet
6. ⏳ Deploy CCIPTxReporter to Chain-138
7. ⏳ Deploy CCIPWETH9Bridge
8. ⏳ Deploy CCIPWETH10Bridge
9. ⏳ Verify contracts on Etherscan
10. ⏳ Configure bridge destinations
11. ⏳ Set up watcher/relayer service
12. ⏳ Test cross-chain transfers
## Notes
- WETH9 and WETH10 are already deployed on Mainnet at canonical addresses
- Using Chainlink's official CCIP Router (no custom router needed)
- Gas estimates use conservative 2.5 gwei maximum cap
- All deployment addresses will be saved to `.env` file
- CCIP integration provides production-grade transaction logging from Chain-138 to Ethereum