Files
explorer-monorepo/docs/REMAINING_TASKS_STATUS.md

3.7 KiB

Remaining Tasks Status

Date: 2025-12-24
Status: Medium and Low Priority Tasks


Completed Tasks

Critical Priority (2/2)

  • CCIPReceiver verified
  • OpenZeppelin installed

High Priority (12/12)

  • All governance, reserve, and eMoney system contracts deployed

Low Priority (2/5)

  • AddressMapper: Deployed (if contract exists)
  • MirrorManager: Deployed (if contract exists)

Remaining Tasks

Medium Priority - CCIP Contracts on Other Networks

Prerequisites Required

For deploying CCIP contracts on other networks, the following are needed:

  1. RPC URLs for each network:

    • Ethereum Mainnet RPC
    • BSC RPC
    • Polygon RPC
    • Avalanche RPC
    • Base RPC
    • Arbitrum RPC
    • Optimism RPC
  2. Network-Specific Environment Variables:

    • CCIP_ROUTER_<NETWORK>
    • ORACLE_AGGREGATOR_<NETWORK>
    • LINK_TOKEN_<NETWORK>
    • RPC_URL_<NETWORK>
  3. Funding on each network:

    • Sufficient native tokens for gas
    • LINK tokens for CCIP fees
  4. Deployment Scripts (Created):

    • DeployCCIPLoggerMainnet.s.sol
    • DeployCCIPSenderMainnet.s.sol
    • DeployCCIPReceiverMainnet.s.sol

Networks to Deploy

  1. Ethereum Mainnet (3 contracts)

    • CCIPLogger
    • CCIPSender
    • CCIPReceiver
  2. BSC (3 contracts)

    • CCIPLogger
    • CCIPSender
    • CCIPReceiver
  3. Polygon (3 contracts)

    • CCIPLogger
    • CCIPSender
    • CCIPReceiver
  4. Avalanche (3 contracts)

    • CCIPLogger
    • CCIPSender
    • CCIPReceiver
  5. Base (3 contracts)

    • CCIPLogger
    • CCIPSender
    • CCIPReceiver
  6. Arbitrum (3 contracts)

    • CCIPLogger
    • CCIPSender
    • CCIPReceiver
  7. Optimism (3 contracts)

    • CCIPLogger
    • CCIPSender
    • CCIPReceiver

Additional Medium Priority

  1. CCIPMessageValidator

    • Status: Library (not a standalone contract)
    • Action: No deployment needed
  2. Price Feed Aggregator

    • Status: Check if contract exists
    • Action: Deploy if available
  3. Pausable Controller

    • Status: Check if contract exists
    • Action: Deploy if available

🔧 Deployment Instructions

For Each Network

  1. Configure Environment Variables:

    export RPC_URL_<NETWORK>=<network_rpc_url>
    export CCIP_ROUTER_<NETWORK>=<network_ccip_router>
    export ORACLE_AGGREGATOR_<NETWORK>=<network_oracle>
    export LINK_TOKEN_<NETWORK>=<network_link_token>
    
  2. Deploy Contracts:

    # CCIPLogger
    forge script script/DeployCCIPLogger<Network>.s.sol \
      --rpc-url $RPC_URL_<NETWORK> \
      --broadcast --legacy --gas-price <gas_price>
    
    # CCIPSender
    forge script script/DeployCCIPSender<Network>.s.sol \
      --rpc-url $RPC_URL_<NETWORK> \
      --broadcast --legacy --gas-price <gas_price>
    
    # CCIPReceiver
    forge script script/DeployCCIPReceiver<Network>.s.sol \
      --rpc-url $RPC_URL_<NETWORK> \
      --broadcast --legacy --gas-price <gas_price>
    
  3. Update .env with deployed addresses


📊 Summary

Completed

  • Critical: 2/2
  • High Priority: 12/12
  • Low Priority: 2/5 (AddressMapper, MirrorManager)

Remaining

  • Medium Priority: 12/13
    • 21 CCIP contracts across 7 networks (requires network setup)
    • 1 Price Feed Aggregator (if contract exists)
    • 1 Pausable Controller (if contract exists)
  • Low Priority: 3/5
    • CCIPRouterOptimized
    • Token Registry
    • Fee Collector

🎯 Next Steps

  1. Configure network RPC URLs in .env
  2. Fund accounts on each target network
  3. Deploy CCIP contracts on each network
  4. Deploy remaining utility contracts (if available)

Last Updated: 2025-12-24
Status: Ready for cross-network deployments (requires network configuration)