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
Related Documentation
Last Updated: 2025-01-12