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.
This commit is contained in:
76
docs/deployment/MAINNET_DEPLOYMENT_CHECKLIST.md
Normal file
76
docs/deployment/MAINNET_DEPLOYMENT_CHECKLIST.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# Ethereum Mainnet Deployment Checklist
|
||||
|
||||
## Contracts to Deploy
|
||||
|
||||
### 1. CCIPLogger
|
||||
- **Status**: ⏳ Pending
|
||||
- **Location**: `contracts/ccip-integration/CCIPLogger.sol`
|
||||
- **Deployment**: `npm run deploy:logger:mainnet`
|
||||
- **Dependencies**: CCIP Router (Chainlink official: `0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D`)
|
||||
- **Constructor Parameters**:
|
||||
- `router`: CCIP Router address
|
||||
- `authorizedSigner`: Optional signer address (can be zero)
|
||||
- `sourceChainSelector`: Chain-138 selector (`0x000000000000008a`)
|
||||
|
||||
### 2. CCIPWETH9Bridge
|
||||
- **Status**: ⏳ Pending
|
||||
- **Location**: `contracts/ccip/CCIPWETH9Bridge.sol`
|
||||
- **Deployment**: `script/DeployCCIPWETH9Bridge.s.sol`
|
||||
- **Dependencies**:
|
||||
- CCIP Router (Chainlink official)
|
||||
- WETH9 (already exists: `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`)
|
||||
- **Constructor Parameters**:
|
||||
- `ccipRouter`: CCIP Router address
|
||||
- `weth9`: WETH9 address
|
||||
- `feeToken`: LINK token address (`0x514910771AF9Ca656af840dff83E8264EcF986CA`)
|
||||
|
||||
### 3. CCIPWETH10Bridge
|
||||
- **Status**: ⏳ Pending
|
||||
- **Location**: `contracts/ccip/CCIPWETH10Bridge.sol`
|
||||
- **Deployment**: `script/DeployCCIPWETH10Bridge.s.sol`
|
||||
- **Dependencies**:
|
||||
- CCIP Router (Chainlink official)
|
||||
- WETH10 (already exists: `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f`)
|
||||
- **Constructor Parameters**:
|
||||
- `ccipRouter`: CCIP Router address
|
||||
- `weth10`: WETH10 address
|
||||
- `feeToken`: LINK token address
|
||||
|
||||
## Deployment Order
|
||||
|
||||
1. **CCIPLogger** (first - no dependencies on new contracts)
|
||||
2. **CCIPWETH9Bridge** (can deploy after CCIPLogger)
|
||||
3. **CCIPWETH10Bridge** (can deploy after CCIPLogger)
|
||||
|
||||
## Pre-Deployment Checklist
|
||||
|
||||
- [ ] Run dry-run: `./scripts/deployment/dry-run-mainnet-deployment.sh`
|
||||
- [ ] Verify wallet has sufficient ETH (check: `./scripts/deployment/check-mainnet-balances.sh`)
|
||||
- [ ] Verify all environment variables are set
|
||||
- [ ] Verify contracts compile successfully
|
||||
- [ ] Verify RPC connection to Mainnet
|
||||
|
||||
## Post-Deployment Checklist
|
||||
|
||||
- [ ] Verify contracts on Etherscan
|
||||
- [ ] Update `.env` with deployed addresses
|
||||
- [ ] Configure bridge destinations
|
||||
- [ ] Test cross-chain functionality
|
||||
- [ ] Set up monitoring and alerts
|
||||
|
||||
## Cost Estimates
|
||||
|
||||
See `docs/GAS_FEE_CALCULATIONS.md` for current cost estimates.
|
||||
|
||||
## Commands
|
||||
|
||||
```bash
|
||||
# List all contracts
|
||||
./scripts/deployment/list-mainnet-contracts.sh
|
||||
|
||||
# Run dry-run
|
||||
./scripts/deployment/dry-run-mainnet-deployment.sh
|
||||
|
||||
# Deploy all contracts
|
||||
./scripts/deployment/deploy-all-mainnet.sh
|
||||
```
|
||||
Reference in New Issue
Block a user