189 lines
6.0 KiB
Markdown
189 lines
6.0 KiB
Markdown
|
|
# Contracts to Deploy - Complete List
|
||
|
|
|
||
|
|
**Last Updated**: 2025-12-11
|
||
|
|
**Deployment Script**: `script/DeployAll.s.sol`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📋 Contracts by Chain
|
||
|
|
|
||
|
|
### Ethereum Mainnet (Chain ID: 1)
|
||
|
|
|
||
|
|
**Status**: Most contracts already deployed, only missing CCIPLogger
|
||
|
|
|
||
|
|
| Contract | Status | Gas Estimate | Notes |
|
||
|
|
|----------|--------|--------------|-------|
|
||
|
|
| **WETH9** | ✅ Already Deployed | N/A | Using existing: `WETH9_MAINNET` from `.env` |
|
||
|
|
| **WETH10** | ✅ Already Deployed | N/A | Using existing: `WETH10_MAINNET` from `.env` |
|
||
|
|
| **CCIPWETH9Bridge** | ✅ Already Deployed | N/A | Already deployed on Mainnet |
|
||
|
|
| **CCIPWETH10Bridge** | ✅ Already Deployed | N/A | Already deployed on Mainnet |
|
||
|
|
| **CCIPLogger** | ❌ **TO DEPLOY** | ~3,000,000 gas | **Only contract to deploy** |
|
||
|
|
|
||
|
|
**Total Gas for Mainnet**: ~3,000,000 units (CCIPLogger only)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Cronos (Chain ID: 25)
|
||
|
|
|
||
|
|
**Status**: Full deployment required
|
||
|
|
|
||
|
|
| Contract | Status | Gas Estimate | Notes |
|
||
|
|
|----------|--------|--------------|-------|
|
||
|
|
| **WETH9** | ❌ **TO DEPLOY** | ~1,460,000 gas | Deploy new or use existing if configured |
|
||
|
|
| **WETH10** | ❌ **TO DEPLOY** | ~1,460,000 gas | Deploy new or use existing if configured |
|
||
|
|
| **CCIPWETH9Bridge** | ❌ **TO DEPLOY** | ~1,460,000 gas | Requires WETH9 address |
|
||
|
|
| **CCIPWETH10Bridge** | ❌ **TO DEPLOY** | ~1,460,000 gas | Requires WETH10 address |
|
||
|
|
| **CCIPLogger** | ❌ **TO DEPLOY** | ~2,920,000 gas | Requires CCIP router config |
|
||
|
|
|
||
|
|
**Total Gas for Cronos**: ~8,760,000 units (all 5 contracts)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### BSC - Binance Smart Chain (Chain ID: 56)
|
||
|
|
|
||
|
|
**Status**: Full deployment required
|
||
|
|
|
||
|
|
| Contract | Status | Gas Estimate | Notes |
|
||
|
|
|----------|--------|--------------|-------|
|
||
|
|
| **WETH9** | ❌ **TO DEPLOY** | ~1,460,000 gas | Deploy new or use existing if configured |
|
||
|
|
| **WETH10** | ❌ **TO DEPLOY** | ~1,460,000 gas | Deploy new or use existing if configured |
|
||
|
|
| **CCIPWETH9Bridge** | ❌ **TO DEPLOY** | ~1,460,000 gas | Requires WETH9 address |
|
||
|
|
| **CCIPWETH10Bridge** | ❌ **TO DEPLOY** | ~1,460,000 gas | Requires WETH10 address |
|
||
|
|
| **CCIPLogger** | ❌ **TO DEPLOY** | ~2,920,000 gas | Requires CCIP router config |
|
||
|
|
|
||
|
|
**Total Gas for BSC**: ~8,760,000 units (all 5 contracts)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Polygon PoS (Chain ID: 137)
|
||
|
|
|
||
|
|
**Status**: Full deployment required
|
||
|
|
|
||
|
|
| Contract | Status | Gas Estimate | Notes |
|
||
|
|
|----------|--------|--------------|-------|
|
||
|
|
| **WETH9** | ❌ **TO DEPLOY** | ~1,460,000 gas | Deploy new or use existing if configured |
|
||
|
|
| **WETH10** | ❌ **TO DEPLOY** | ~1,460,000 gas | Deploy new or use existing if configured |
|
||
|
|
| **CCIPWETH9Bridge** | ❌ **TO DEPLOY** | ~1,460,000 gas | Requires WETH9 address |
|
||
|
|
| **CCIPWETH10Bridge** | ❌ **TO DEPLOY** | ~1,460,000 gas | Requires WETH10 address |
|
||
|
|
| **CCIPLogger** | ❌ **TO DEPLOY** | ~2,920,000 gas | Requires CCIP router config |
|
||
|
|
|
||
|
|
**Total Gas for Polygon**: ~8,760,000 units (all 5 contracts)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### Gnosis Chain (Chain ID: 100)
|
||
|
|
|
||
|
|
**Status**: Full deployment required
|
||
|
|
|
||
|
|
| Contract | Status | Gas Estimate | Notes |
|
||
|
|
|----------|--------|--------------|-------|
|
||
|
|
| **WETH9** | ❌ **TO DEPLOY** | ~1,460,000 gas | Deploy new or use existing if configured |
|
||
|
|
| **WETH10** | ❌ **TO DEPLOY** | ~1,460,000 gas | Deploy new or use existing if configured |
|
||
|
|
| **CCIPWETH9Bridge** | ❌ **TO DEPLOY** | ~1,460,000 gas | Requires WETH9 address |
|
||
|
|
| **CCIPWETH10Bridge** | ❌ **TO DEPLOY** | ~1,460,000 gas | Requires WETH10 address |
|
||
|
|
| **CCIPLogger** | ❌ **TO DEPLOY** | ~2,920,000 gas | Requires CCIP router config |
|
||
|
|
|
||
|
|
**Total Gas for Gnosis**: ~8,760,000 units (all 5 contracts)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📊 Deployment Summary
|
||
|
|
|
||
|
|
### Total Contracts to Deploy
|
||
|
|
|
||
|
|
| Chain | Contracts to Deploy | Total Gas Units |
|
||
|
|
|-------|---------------------|-----------------|
|
||
|
|
| **Ethereum Mainnet** | 1 (CCIPLogger only) | 3,000,000 |
|
||
|
|
| **Cronos** | 5 (all contracts) | 8,760,000 |
|
||
|
|
| **BSC** | 5 (all contracts) | 8,760,000 |
|
||
|
|
| **Polygon** | 5 (all contracts) | 8,760,000 |
|
||
|
|
| **Gnosis** | 5 (all contracts) | 8,760,000 |
|
||
|
|
| **TOTAL** | **21 contracts** | **38,040,000 gas** |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🔄 Deployment Order
|
||
|
|
|
||
|
|
### For Ethereum Mainnet:
|
||
|
|
1. **CCIPLogger** (only contract)
|
||
|
|
|
||
|
|
### For Other Chains (Cronos, BSC, Polygon, Gnosis):
|
||
|
|
1. **WETH9** (if not using existing)
|
||
|
|
2. **WETH10** (if not using existing)
|
||
|
|
3. **CCIPWETH9Bridge** (requires WETH9)
|
||
|
|
4. **CCIPWETH10Bridge** (requires WETH10)
|
||
|
|
5. **CCIPLogger** (requires CCIP router)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 📝 Contract Dependencies
|
||
|
|
|
||
|
|
```
|
||
|
|
WETH9 ──┐
|
||
|
|
├──> CCIPWETH9Bridge
|
||
|
|
WETH10 ─┘
|
||
|
|
└──> CCIPWETH10Bridge
|
||
|
|
|
||
|
|
CCIP Router ──> CCIPLogger
|
||
|
|
LINK Token ──> CCIPWETH9Bridge, CCIPWETH10Bridge
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🎯 Deployment Commands
|
||
|
|
|
||
|
|
### Ethereum Mainnet (CCIPLogger only)
|
||
|
|
```bash
|
||
|
|
forge script script/DeployCCIPLoggerOnly.s.sol:DeployCCIPLoggerOnly \
|
||
|
|
--rpc-url mainnet --chain-id 1 \
|
||
|
|
--private-key $PRIVATE_KEY --broadcast --verify -vvvv
|
||
|
|
```
|
||
|
|
|
||
|
|
### Cronos (All contracts)
|
||
|
|
```bash
|
||
|
|
forge script script/DeployAll.s.sol:DeployAll \
|
||
|
|
--rpc-url cronos --chain-id 25 \
|
||
|
|
--private-key $PRIVATE_KEY --broadcast --verify -vvvv
|
||
|
|
```
|
||
|
|
|
||
|
|
### BSC (All contracts)
|
||
|
|
```bash
|
||
|
|
forge script script/DeployAll.s.sol:DeployAll \
|
||
|
|
--rpc-url bsc --chain-id 56 \
|
||
|
|
--private-key $PRIVATE_KEY --broadcast --verify -vvvv
|
||
|
|
```
|
||
|
|
|
||
|
|
### Polygon (All contracts)
|
||
|
|
```bash
|
||
|
|
forge script script/DeployAll.s.sol:DeployAll \
|
||
|
|
--rpc-url polygon --chain-id 137 \
|
||
|
|
--private-key $PRIVATE_KEY --broadcast --verify -vvvv
|
||
|
|
```
|
||
|
|
|
||
|
|
### Gnosis (All contracts)
|
||
|
|
```bash
|
||
|
|
forge script script/DeployAll.s.sol:DeployAll \
|
||
|
|
--rpc-url gnosis --chain-id 100 \
|
||
|
|
--private-key $PRIVATE_KEY --broadcast --verify -vvvv
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## ⚠️ Important Notes
|
||
|
|
|
||
|
|
1. **CCIPLogger**: May require Hardhat/OpenZeppelin dependencies. If Foundry deployment fails, use:
|
||
|
|
```bash
|
||
|
|
npm run deploy:logger:mainnet
|
||
|
|
```
|
||
|
|
|
||
|
|
2. **WETH9/WETH10**: Script checks for existing addresses in `.env`. If configured, will use existing instead of deploying new.
|
||
|
|
|
||
|
|
3. **CCIP Configuration**: Each chain requires specific CCIP router and LINK token addresses in `.env`.
|
||
|
|
|
||
|
|
4. **Gas Estimates**: Based on typical contract sizes. Actual gas may vary.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Next Steps**: Check wallet balances and proceed with deployment!
|
||
|
|
|