6.7 KiB
Next Steps Execution Guide
Date: 2025-01-12
Status: Ready for Execution
Overview
This guide provides step-by-step instructions for executing the remaining runtime tasks to complete the CCIP setup.
Current Status
✅ Completed
- All verification scripts created
- All documentation created
- System health checks available
- Configuration scripts ready
⏳ Pending (Critical Blockers)
-
Bridge Destination Configuration (Tasks 3, 50, 51)
- Status: 0/7 destinations configured for both bridges
- Blocker: Requires private key and transaction execution
-
Stuck Transaction Resolution (Task 4)
- Status: Transaction may be stuck in mempool
- Action: Resolve before configuring destinations
-
Fee Calculation Fix (Task 61)
- Status: Fee calculation not accessible
- Action: Debug and fix
Step-by-Step Execution
Step 1: Resolve Stuck Transaction (Task 4)
If you have a stuck transaction:
# Check transaction status
./scripts/resolve-stuck-transaction.sh <address> <nonce>
# Options:
# 1. Wait for timeout (1-2 hours)
# 2. Replace with higher gas price
# 3. Use different account
If no stuck transaction:
- Proceed to Step 2
Step 2: Configure Bridge Destinations (Tasks 3, 50, 51)
Option A: Configure Ethereum Mainnet Only
# Configure Ethereum Mainnet for both bridges
./scripts/configure-ethereum-mainnet-destination.sh <private_key>
Option B: Configure All Destinations
# Configure all 7 destinations (including Ethereum Mainnet)
./scripts/configure-all-bridge-destinations.sh <private_key> \
0x2A0840e5117683b11682ac46f5CF5621E67269E3 \
0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03
Verify Configuration:
./scripts/check-bridge-config.sh
Expected Result:
- All 7 destinations configured for WETH9 Bridge
- All 7 destinations configured for WETH10 Bridge
Step 3: Verify Configuration (Tasks 107, 108)
# Comprehensive verification
./scripts/verify-complete-ccip-setup.sh
# Health check
./scripts/ccip-health-check.sh
# Generate status report
./scripts/generate-ccip-status-report.sh
Step 4: Start CCIP Monitor Service (Task 83)
On Proxmox Host:
# Start container
pct start 3501
# Start service
pct exec 3501 -- systemctl start ccip-monitor
# Enable on boot
pct exec 3501 -- systemctl enable ccip-monitor
# Verify
./scripts/check-ccip-monitor-health.sh
Verify Service:
# Check status
pct exec 3501 -- systemctl status ccip-monitor
# Check metrics
curl http://localhost:8000/metrics
# Check logs
pct exec 3501 -- journalctl -u ccip-monitor -n 50
Step 5: Test Bridge Operations (Tasks 115, 116)
Pre-flight Check
# Run end-to-end test (dry run)
./scripts/test-end-to-end-bridge.sh 0.001
Execute Test Bridge
# Bridge small amount to Ethereum Mainnet
./scripts/wrap-and-bridge-to-ethereum.sh 0.001
Verify on Destination:
- Check Ethereum Mainnet for received tokens
- Verify message execution
- Confirm token amount
Step 6: Fix Fee Calculation (Task 61)
Debug Fee Calculation:
# Test fee calculation
./scripts/verify-fee-calculation.sh 0.001 5009297550715157269
# Check Router functions
cast call 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e "getFeeToken()" --rpc-url http://192.168.11.250:8545
If Fee Calculation Fails:
- Check Router contract ABI
- Verify function signatures
- Check LINK token availability
- Update scripts as needed
Step 7: Verify Token Pool Configuration (Tasks 19-21, 28-29)
# Find TokenAdminRegistry
./scripts/verify-token-admin-registry.sh
# If pool addresses found, verify pools
./scripts/verify-token-pool-config.sh <pool_address>
Note: Pool addresses may need to be retrieved from:
- Deployment transactions
- Contract storage
- Chainlink documentation
Additional Tasks
Oracle Network Deployment (Tasks 72-76)
Only if CCIP message processing is needed:
- Deploy Commit Oracle Nodes (16 nodes, VMIDs 5410-5425)
- Deploy Execute Oracle Nodes (16 nodes, VMIDs 5440-5455)
- Deploy RMN Nodes (5-7 nodes, VMIDs 5470-5474 or 5470-5476)
- Deploy Ops/Admin Nodes (2 nodes, VMIDs 5400-5401)
- Deploy Monitoring Nodes (2 nodes, VMIDs 5402-5403)
Note: This is a major deployment task. Only proceed if oracle network is required for CCIP message processing.
Message Indexing Implementation (Tasks 91-93)
If message tracking is needed:
- Complete implementation in
backend/ccip/tracking/tracker.go - Index MessageSent events from source chain
- Index MessageExecuted events from destination chains
- Link events by messageId
Verification Checklist
After completing steps above, verify:
- All bridge destinations configured (7/7)
- CCIP Monitor service running
- Fee calculation working
- Bridge operations tested successfully
- Token pool configuration verified
- System health checks passing
Run comprehensive verification:
./scripts/verify-complete-ccip-setup.sh
Troubleshooting
Bridge Configuration Fails
Issue: Transaction fails or gets stuck
Solutions:
- Check nonce:
cast nonce <address> --rpc-url <rpc_url> - Increase gas price
- Wait for previous transactions to clear
- Use different account
Fee Calculation Fails
Issue: Cannot calculate fees
Solutions:
- Verify Router contract address
- Check function availability
- Verify LINK token configuration
- Check RPC connectivity
CCIP Monitor Not Starting
Issue: Service fails to start
Solutions:
- Check container status:
pct status 3501 - Check service logs:
pct exec 3501 -- journalctl -u ccip-monitor -n 50 - Verify configuration:
/opt/ccip-monitor/.env - Check RPC connectivity from container
Quick Reference
Essential Commands
# Health check
./scripts/ccip-health-check.sh
# Bridge configuration
./scripts/check-bridge-config.sh
# Configure Ethereum Mainnet
./scripts/configure-ethereum-mainnet-destination.sh <private_key>
# Comprehensive verification
./scripts/verify-complete-ccip-setup.sh
# Generate status report
./scripts/generate-ccip-status-report.sh
Documentation
- Operations:
docs/CCIP_OPERATIONS_RUNBOOK.md - Best Practices:
docs/CCIP_BEST_PRACTICES.md - Security:
docs/CCIP_SECURITY_BEST_PRACTICES.md - Verification:
docs/CCIP_VERIFICATION_CHECKLIST.md
Success Criteria
System is fully operational when:
- ✅ All 7 bridge destinations configured
- ✅ CCIP Monitor service running
- ✅ Bridge operations tested successfully
- ✅ Fee calculation working
- ✅ All health checks passing
- ✅ End-to-end bridge flow verified
Last Updated: 2025-01-12