# 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 ```