# 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

