Files
smom-dbis-138/docs/deployment/CONTRACTS_TO_DEPLOY.md
defiQUG 1fb7266469 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.
2025-12-12 14:57:48 -08:00

6.0 KiB

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)

forge script script/DeployCCIPLoggerOnly.s.sol:DeployCCIPLoggerOnly \
  --rpc-url mainnet --chain-id 1 \
  --private-key $PRIVATE_KEY --broadcast --verify -vvvv

Cronos (All contracts)

forge script script/DeployAll.s.sol:DeployAll \
  --rpc-url cronos --chain-id 25 \
  --private-key $PRIVATE_KEY --broadcast --verify -vvvv

BSC (All contracts)

forge script script/DeployAll.s.sol:DeployAll \
  --rpc-url bsc --chain-id 56 \
  --private-key $PRIVATE_KEY --broadcast --verify -vvvv

Polygon (All contracts)

forge script script/DeployAll.s.sol:DeployAll \
  --rpc-url polygon --chain-id 137 \
  --private-key $PRIVATE_KEY --broadcast --verify -vvvv

Gnosis (All contracts)

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:

    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!