Files
smom-dbis-138/docs/ccip-integration/chain138/DEPLOYMENT_CHECKLIST.md

189 lines
4.8 KiB
Markdown

# CCIP ChainID 138 Deployment Checklist
**Date**: 2025-01-27
**Network**: ChainID 138 (DeFi Oracle Meta Mainnet)
---
## Pre-Deployment Checklist
### Environment Setup
- [ ] ChainID 138 network is running and accessible
- [ ] RPC endpoint configured (`RPC_URL_138` or `CHAIN138_RPC_URL`)
- [ ] Private key configured (`PRIVATE_KEY`)
- [ ] Sufficient native token balance for deployment
- [ ] Foundry/Forge installed and working
- [ ] `cast` command available
### Configuration
- [ ] `.env` file exists and is configured
- [ ] Chain selector calculated (run `./scripts/ccip/calculate-chain-selector.sh`)
- [ ] Fee token decision made (LINK or native ETH)
- [ ] Fee amounts configured (`CCIP_BASE_FEE`, `CCIP_DATA_FEE_PER_BYTE`)
---
## Phase 1: Core Infrastructure
### Chain Selector
- [ ] Run chain selector calculation script
- [ ] Verify selector value: `138` (or `0x000000000000008a`)
- [ ] Update `.env` with `CHAIN138_SELECTOR`
- [ ] Document selector in all relevant files
### Fee Token
- [ ] Decide: LINK token or native ETH
- [ ] If LINK: Deploy LINK token contract
- [ ] Update `.env` with `CCIP_CHAIN138_LINK_TOKEN`
- [ ] If native ETH: Set to `address(0)`
### CCIP Router
- [ ] Deploy CCIPRouter contract
- [ ] Verify deployment on explorer
- [ ] Update `.env` with `CCIP_CHAIN138_ROUTER`
- [ ] Configure router with supported chains
- [ ] Add supported tokens
- [ ] Verify configuration
---
## Phase 2: Bridge Deployment
### CCIPWETH9Bridge
- [ ] Deploy CCIPWETH9Bridge contract
- [ ] Verify deployment on explorer
- [ ] Update `.env` with `CCIPWETH9_BRIDGE_CHAIN138`
- [ ] Verify bridge configuration (router, WETH9, fee token)
### CCIPWETH10Bridge
- [ ] Deploy CCIPWETH10Bridge contract
- [ ] Verify deployment on explorer
- [ ] Update `.env` with `CCIPWETH10_BRIDGE_CHAIN138`
- [ ] Verify bridge configuration (router, WETH10, fee token)
---
## Phase 3: Bridge Configuration
### CCIPWETH9Bridge Destinations
- [ ] Add Ethereum Mainnet as destination on ChainID 138 bridge
- [ ] Add ChainID 138 as destination on Ethereum Mainnet bridge
- [ ] Verify bidirectional configuration
- [ ] Test connectivity
### CCIPWETH10Bridge Destinations
- [ ] Add Ethereum Mainnet as destination on ChainID 138 bridge
- [ ] Add ChainID 138 as destination on Ethereum Mainnet bridge
- [ ] Verify bidirectional configuration
- [ ] Test connectivity
---
## Phase 4: Verification
### Contract Verification
- [ ] Verify CCIPRouter on explorer
- [ ] Verify CCIPWETH9Bridge on explorer
- [ ] Verify CCIPWETH10Bridge on explorer
- [ ] Verify LINK token (if deployed) on explorer
### Configuration Verification
- [ ] Run verification script: `./scripts/deployment/verify-ccip-deployment.sh`
- [ ] Verify router supports Ethereum Mainnet
- [ ] Verify bridges have destinations configured
- [ ] Verify chain selector is correct
### Functional Testing
- [ ] Test router message sending
- [ ] Test bridge token transfer (WETH9)
- [ ] Test bridge token transfer (WETH10)
- [ ] Test fee payment
- [ ] Test error handling
---
## Phase 5: Documentation
### Update Documentation
- [ ] Update `docs/ETH_WETH_CHAINLINK_GUIDE.md` with deployed addresses
- [ ] Update `docs/CCIP_CHAIN138_REVIEW.md` with deployment status
- [ ] Update `docs/deployment/ENV_EXAMPLE_CONTENT.md` with actual values
- [ ] Create deployment summary document
### Create Guides
- [ ] Deployment guide (created)
- [ ] User guide (created)
- [ ] Developer guide (created)
- [ ] Monitoring guide (created)
- [ ] Security guide (created)
- [ ] Runbooks (created)
---
## Phase 6: Operations
### Monitoring Setup
- [ ] Set up event monitoring
- [ ] Configure alerts
- [ ] Create dashboards
- [ ] Test alerting
### Security
- [ ] Review security measures
- [ ] Set up admin key management
- [ ] Document security procedures
- [ ] Schedule security audit
### Operational Procedures
- [ ] Create deployment runbook
- [ ] Create configuration runbook
- [ ] Create troubleshooting guide
- [ ] Create emergency response procedures
---
## Post-Deployment
### Testing
- [ ] End-to-end cross-chain transfer test
- [ ] Error handling tests
- [ ] Load testing
- [ ] Security testing
### Monitoring
- [ ] Monitor for 24-48 hours
- [ ] Review all events
- [ ] Check for errors
- [ ] Verify performance
### Documentation
- [ ] Finalize all documentation
- [ ] Update status in all files
- [ ] Create deployment report
- [ ] Archive deployment artifacts
---
## Success Criteria
- [ ] All contracts deployed and verified
- [ ] All bridges configured with destinations
- [ ] Cross-chain transfers working bidirectionally
- [ ] All documentation updated
- [ ] Monitoring and alerting operational
- [ ] Security measures in place
- [ ] Operational procedures documented
---
## Related Documentation
- [Deployment Guide](DEPLOYMENT_GUIDE_CHAIN138.md)
- [Chain Selector Calculation](CHAIN_SELECTOR_CALCULATION.md)
- [CCIP Review](../CCIP_CHAIN138_REVIEW.md)
---
**Last Updated**: 2025-01-27