Files
smom-dbis-138/docs/deployment/MAINNET_DEPLOYMENT_STATUS.md
defiQUG 2b52cc6e32 refactor(archive): move historical contracts and adapters to archive directory
- Archived multiple non-EVM adapters (Algorand, Hedera, Tron, TON, Cosmos, Solana) and compliance contracts (IndyVerifier) to `archive/solidity/contracts/`.
- Updated documentation to reflect the historical status of archived components.
- Adjusted `foundry.toml` and `README.md` for clarity on historical dependencies and configurations.
- Enhanced Makefile and package.json scripts for improved contract testing and building processes.
- Removed obsolete contracts (AlltraCustomBridge, CommodityCCIPBridge, ISO4217WCCIPBridge, VaultBridgeAdapter) from the main directory.
- Updated implementation reports to indicate archived status for various components.
2026-04-12 18:21:05 -07:00

5.5 KiB

Mainnet Deployment Status

Overview

This document tracks the status of smart contract deployments to Ethereum Mainnet.

Contracts Requiring Mainnet Deployment

Primary Contracts (Required)

  1. CCIPWETH9Bridge

    • Status: Not Deployed
    • Dependencies: CCIP Router (using Chainlink's official router)
    • WETH9: Already exists at 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
    • Deployment Script: script/DeployCCIPWETH9Bridge.s.sol
  2. CCIPWETH10Bridge

    • Status: Not Deployed
    • Dependencies: CCIP Router (using Chainlink's official router)
    • WETH10: Already exists at 0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f
    • Deployment Script: script/DeployCCIPWETH10Bridge.s.sol
  3. CCIPLogger NEW

    • Status: Not Deployed
    • Purpose: Receives and logs Chain-138 transactions via CCIP
    • Dependencies: CCIP Router (using Chainlink's official router)
    • Deployment Script: scripts/ccip-deployment/deploy-ccip-logger.js
    • Location: contracts/ccip-integration/CCIPLogger.sol

Optional Contracts (If Needed)

  1. CCIPRouter (Custom)

    • Status: ⚠️ Not Required (using Chainlink's official router)
    • Official Router: 0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D
    • Note: Only deploy if custom router is needed
  2. CCIPSender

    • Status: ⚠️ Optional (for oracle cross-chain sync)
    • Dependencies: CCIP Router, Oracle Aggregator
    • Deployment Script: Needs to be created
  3. CCIPReceiver

    • Status: ⚠️ Optional (for oracle cross-chain sync)
    • Dependencies: CCIP Router, Oracle Aggregator
    • Deployment Script: Needs to be created
  4. OracleAggregator

    • Status: ⚠️ Optional (if oracle needed on Mainnet)
    • Deployment Script: script/DeployOracle.s.sol

CCIP Integration Contracts

New Production-Grade CCIP System

CCIPLogger (Ethereum Mainnet)

  • Receives Chain-138 transactions via CCIP
  • Implements replay protection
  • Supports batch verification
  • Optional signature validation

CCIPTxReporter (Chain-138)

  • Reports Chain-138 transactions to Ethereum
  • Supports single and batch reporting
  • Automatic fee estimation and refund

Watcher/Relayer Service (Off-chain)

  • Monitors Chain-138 for transactions
  • Batches and relays via CCIP
  • Postgres outbox pattern for reliability
  • Full monitoring and alerting

Deployment Configuration

CCIP Router

  • Official Chainlink Router (Ethereum): 0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D
  • Chain-138 Router: Check CCIP Directory or deploy custom router
  • LINK Token: 0x514910771AF9Ca656af840dff83E8264EcF986CA

WETH Addresses

  • WETH9: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 (already deployed)
  • WETH10: 0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f (already deployed)

Chain Selectors (from CCIP Directory)

  • Ethereum Mainnet: Update from CCIP Directory
  • Chain-138: Update from CCIP Directory

Current Deployment Status

Wallet Status

  • Address: 0x4A666F96fC8764181194447A7dFdb7d471b301C8
  • ETH Balance: 0.002811732488743541 ETH
  • Required: 0.025 ETH (minimum)
  • Status: Insufficient funds

Deployment Blockers

  1. Insufficient ETH: Wallet needs at least 0.025 ETH for gas fees
  2. Gas Price: Using conservative 2.5 gwei maximum cap
  3. CCIP Router Addresses: Need to verify Chain-138 router address

Deployment Steps

Step 1: Fund Wallet

# Send at least 0.025 ETH to deployer wallet
# Address: 0x4A666F96fC8764181194447A7dFdb7d471b301C8

Step 2: Deploy CCIP Contracts

Option A: Deploy All CCIP Contracts

# Deploy CCIPLogger to Ethereum Mainnet
npm run deploy:logger:mainnet

# Reuse the historical CCIPTxReporter deployment on Chain-138
export CHAIN138_CCIP_REPORTER=0x...

Option B: Deploy WETH Bridges

./scripts/deployment/deploy-all-mainnet.sh

Step 3: Verify Contracts

# Verify CCIPLogger on Etherscan
npx hardhat verify --network mainnet <ADDRESS> <ROUTER> <SIGNER> <SELECTOR>

# Verify CCIPTxReporter (if explorer available)
npx hardhat verify --network chain138 <ADDRESS> <ROUTER> <SELECTOR> <RECEIVER>

Step 4: Set Up Watcher/Relayer

cd watcher
npm install
npm run build
npm start

Deployment Scripts

  • scripts/deployment/deploy-all-mainnet.sh - Deploy WETH bridges
  • scripts/ccip-deployment/deploy-ccip-logger.js - Deploy CCIPLogger
  • scripts/ccip-deployment/deploy-ccip-reporter.js - Deploy CCIPTxReporter
  • scripts/ccip-deployment/deploy-all-ccip-mainnet.sh - Deploy all CCIP contracts
  • scripts/deployment/check-mainnet-deployment-status.sh - Check deployment status
  • scripts/deployment/check-wallet-balances.sh - Check wallet funding

Next Steps

  1. Identify all contracts needing Mainnet deployment
  2. Create deployment scripts
  3. Create CCIP integration system
  4. Fund wallet with sufficient ETH
  5. Deploy CCIPLogger to Ethereum Mainnet
  6. Deploy CCIPTxReporter to Chain-138
  7. Deploy CCIPWETH9Bridge
  8. Deploy CCIPWETH10Bridge
  9. Verify contracts on Etherscan
  10. Configure bridge destinations
  11. Set up watcher/relayer service
  12. Test cross-chain transfers

Notes

  • WETH9 and WETH10 are already deployed on Mainnet at canonical addresses
  • Using Chainlink's official CCIP Router (no custom router needed)
  • Gas estimates use conservative 2.5 gwei maximum cap
  • All deployment addresses will be saved to .env file
  • CCIP integration provides production-grade transaction logging from Chain-138 to Ethereum