Files
explorer-monorepo/docs/CCIP_VERIFICATION_CHECKLIST.md

7.0 KiB

CCIP Verification Checklist

Date: 2025-01-12
Network: ChainID 138


Overview

This checklist provides a comprehensive verification procedure for the complete CCIP setup.


Pre-Verification

  • RPC endpoint accessible
  • Private key available (if needed for transactions)
  • Required tools installed (cast, foundry, etc.)
  • Environment variables configured

A) CCIP Lane Configuration

A.1 Source Chain (ChainID 138)

  • Router Deployment (Task 1)

    • Router contract deployed
    • Router bytecode verified
    • Router functions accessible
    • Script: ./scripts/verify-ccip-router.sh
  • Sender Deployment (Task 2)

    • Sender contract deployed
    • Sender bytecode verified
    • Sender router reference correct
    • Script: ./scripts/verify-ccip-sender.sh
  • App-Level Destination Routing (Task 3)

    • All 7 destination chains configured
    • WETH9 bridge destinations configured
    • WETH10 bridge destinations configured
    • Script: ./scripts/check-bridge-config.sh
  • Stuck Transaction Resolved (Task 4)

    • No stuck transactions in mempool
    • Ethereum Mainnet destination can be configured

A.2 Destination Chain (Ethereum Mainnet)

  • Bridge Contract Deployment (Task 11)

    • WETH9 bridge deployed on Ethereum Mainnet
    • WETH10 bridge deployed on Ethereum Mainnet
    • Contracts verified on Etherscan
  • Source Chain Destination Routing (Task 12)

    • ChainID 138 configured as source on Ethereum Mainnet bridges

B) Token Map Configuration

B.1 TokenAdminRegistry

  • TokenAdminRegistry Identified (Task 19)

    • Registry address found
    • Registry accessible
  • WETH9 Token Registration (Task 20)

    • WETH9 registered in TokenAdminRegistry
    • Pool address configured
  • WETH10 Token Registration (Task 21)

    • WETH10 registered in TokenAdminRegistry
    • Pool address configured
    • Script: ./scripts/verify-token-admin-registry.sh

B.2 Token Pool Configuration

  • Token Pool Addresses Identified (Task 28)

    • WETH9 pool address known
    • WETH10 pool address known
  • Pool Remote Chain Configuration (Task 29)

    • Pools know about destination chains
    • Chain selectors configured
    • Script: ./scripts/verify-token-pool-config.sh <pool_address>

C) Token Mechanism

  • WETH9 1:1 Backing Verified (Task 36)

    • Contract balance = total supply
    • Script: ./scripts/inspect-weth9-contract.sh
  • WETH10 1:1 Backing Verified (Task 37)

    • Contract balance = total supply
    • Script: ./scripts/inspect-weth10-contract.sh

D) Rate Limits

  • Rate Limit Configuration Identified (Task 43)
    • Outbound limits known
    • Inbound limits known
    • Per-lane limits known

E) App-Side Wiring

  • WETH9 Bridge Destinations Configured (Task 50)

    • All 7 destinations configured
    • Script: ./scripts/check-bridge-config.sh
  • WETH10 Bridge Destinations Configured (Task 51)

    • All 7 destinations configured
    • Script: ./scripts/check-bridge-config.sh
  • Bridge Router Integration Verified (Task 52)

    • Bridge contracts can call Router
    • Router address correct

F) Fees

  • Fee Payment Mechanism Identified (Task 59)

    • Fee token known (LINK)
    • Payment method confirmed
  • LINK Token Availability (Task 60)

    • LINK tokens available
    • Bridge contracts have LINK balance
  • Fee Calculation Fixed (Task 61)

    • Fee calculation working in scripts
    • Script: ./scripts/verify-fee-calculation.sh

G) Receiver

  • Receiver Verified (Task 68)
    • Receiver address valid
    • Receiver is EOA or implements interface
    • Receiver accessible on destination chain

H) Oracle Network

  • Commit Oracle Nodes Deployed (Task 72)

    • 16 nodes deployed (VMIDs 5410-5425)
    • Nodes configured and running
  • Execute Oracle Nodes Deployed (Task 73)

    • 16 nodes deployed (VMIDs 5440-5455)
    • Nodes configured and running
  • RMN Nodes Deployed (Task 74)

    • 5-7 nodes deployed (VMIDs 5470-5474 or 5470-5476)
    • Nodes configured and running
  • Ops/Admin Nodes Deployed (Task 75)

    • 2 nodes deployed (VMIDs 5400-5401)
    • Nodes configured and running
  • Monitoring Nodes Deployed (Task 76)

    • 2 nodes deployed (VMIDs 5402-5403)
    • Nodes configured and running

I) Monitoring

  • CCIP Monitor Service Started (Task 83)

    • Container running (VMID 3501)
    • Systemd service active
    • Script: ./scripts/check-ccip-monitor-health.sh
  • CCIP Monitor Configuration Verified (Task 84)

    • Configuration file exists
    • All required variables set
  • Message Indexing Implemented (Task 91)

    • Database schema exists
    • Indexing logic implemented
  • MessageSent Events Indexed (Task 92)

    • Source chain events indexed
    • Events stored in database
  • MessageExecuted Events Indexed (Task 93)

    • Destination chain events indexed
    • Events linked to source events

J) Testing

  • Bridge Configuration Scripts Tested (Task 107)

    • All scripts tested
    • All destinations can be configured
  • Bridge Operations Tested (Task 108)

    • Small amount bridged successfully
    • End-to-end flow verified
  • Complete Bridge Flow Verified (Task 115)

    • Wrap → Approve → Bridge → Receive
    • All steps successful
  • Message Delivery Verified (Task 116)

    • Messages delivered to destination
    • Messages executed successfully

K) Security

  • Contract Ownership Verified (Task 123)

    • All owners identified
    • Owners documented
  • Access Control Documented (Task 124)

    • Access control mechanisms documented
    • Permissions documented

L) Documentation

  • CCIP Configuration Documentation Complete (Task 131)

    • All components documented
    • All settings documented
  • Contract Addresses Documented (Task 132)

    • All addresses documented
    • Addresses verified

M) Scripts

  • Comprehensive Verification Script Created (Task 139)
    • Script verifies all components
    • Script generates report
    • Script: ./scripts/verify-complete-ccip-setup.sh

Comprehensive Verification

Run the comprehensive verification script:

./scripts/verify-complete-ccip-setup.sh

This script checks:

  • Router and Sender deployment
  • Bridge destination configuration
  • Token configuration
  • Fee configuration
  • Overall system health


Last Updated: 2025-01-12