Files
explorer-monorepo/docs/CCIP_CONFIGURATION_STATUS.md
defiQUG d02ee71cf6 Update CCIP Router and Bridge Addresses for ChainID 138
- Changed CCIP Router address from `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` to `0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817` across multiple documentation files.
- Updated WETH9 Bridge address from `0x89dd12025bfCD38A168455A44B400e913ED33BE2` to `0xcacfd227A040002e49e2e01626363071324f820a`.
- Ensured all references to the new addresses are consistent throughout the documentation.

This update reflects the latest deployment configurations and ensures accurate contract references for ChainID 138.
2026-03-24 22:49:29 -07:00

12 KiB

CCIP Configuration Status Assessment

Date: $(date)
Network: ChainID 138
Assessment: Based on Chainlink CCIP Complete Configuration Checklist


Executive Summary

Overall Status: ⚠️ PARTIALLY CONFIGURED (60% Complete)

Critical Blocker: App-level destination routing table not fully configured due to transaction mempool issues.


Detailed Status by Component

A) CCIP Lane (Message Routing) Configuration

Source Chain (ChainID 138) - PARTIALLY COMPLETE

Router Configuration:

  • CCIP Router Deployed: 0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817
  • CCIP Sender Deployed: 0x105F8A15b819948a89153505762444Ee9f324684
  • ⚠️ OnRamp Configuration: UNKNOWN - Cannot verify if Router knows which OnRamp to use for destination selectors
  • ⚠️ OnRamp Destination Allowlist: UNKNOWN - Cannot verify if OnRamp allows Ethereum Mainnet (selector: 5009297550715157269)

Status: ~50% Complete

  • Infrastructure deployed
  • Lane configuration not verifiable (requires admin access or contract verification)

Destination Chain (Ethereum Mainnet) - UNKNOWN

OffRamp Configuration:

  • Router → OffRamp Trust: UNKNOWN - Cannot verify from source chain
  • OffRamp Source Allowlist: UNKNOWN - Cannot verify if OffRamp accepts ChainID 138
  • Lane Enabled: UNKNOWN - Cannot verify from source chain

Status: 0% Verifiable from Source Chain

  • Requires verification on Ethereum Mainnet
  • Bridge contracts deployed on Ethereum Mainnet:
    • CCIPWETH9Bridge: 0x2a0840e5117683b11682ac46f5cf5621e67269e3
    • CCIPWETH10Bridge: 0xb7721dd53a8c629d9f1ba31a5819afe250002b03

B) Token "Map" (Token → Pool) Configuration

⚠️ TokenAdminRegistry - UNKNOWN

WETH9 Token:

  • Token Deployed: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
  • TokenAdminRegistry Entry: UNKNOWN - Cannot query TokenAdminRegistry from scripts
  • Token Pool Address: UNKNOWN - Cannot determine pool address for WETH9

WETH10 Token:

  • Token Deployed: 0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f
  • TokenAdminRegistry Entry: UNKNOWN - Cannot query TokenAdminRegistry from scripts
  • Token Pool Address: UNKNOWN - Cannot determine pool address for WETH10

Status: ~30% Complete

  • Tokens exist
  • Registry entries not verifiable (requires admin access or contract verification)
  • Pool addresses not known

Note: Bridge contracts may handle token pools internally, but this needs verification.


C) Token Mechanism Choice

Token Mechanism - CONFIGURED

WETH9:

  • Mechanism: Lock & Release / Lock & Mint (standard WETH9 wrapping)
  • 1:1 Ratio Verified: Contract maintains 1:1 ETH backing
  • Deposit/Withdraw: Standard WETH9 functions working

WETH10:

  • Mechanism: Lock & Release / Lock & Mint (standard WETH10 wrapping)
  • 1:1 Ratio Verified: Contract maintains 1:1 ETH backing

Status: 100% Complete

  • Token mechanisms are standard and working
  • 1:1 backing verified on-chain

D) Rate Limits + Allowlists

Rate Limits - UNKNOWN

Token Pool Rate Limits:

  • Outbound Rate Limits: UNKNOWN - Cannot query from scripts
  • Inbound Rate Limits: UNKNOWN - Cannot query from scripts
  • Per-Lane Limits: UNKNOWN - Cannot query from scripts

Status: 0% Verifiable

  • Requires contract verification or admin access
  • May be configured but not accessible via standard queries

E) App-Side Wiring (Bridge Contracts)

⚠️ Bridge Contract Configuration - PARTIALLY COMPLETE

CCIPWETH9Bridge (0xcacfd227A040002e49e2e01626363071324f820a):

  • Contract Deployed: Bytecode present (13,015 bytes)
  • Functions Available: sendCrossChain(), addDestination(), destinations()
  • Destination Routing Table: INCOMPLETE
    • Ethereum Mainnet (5009297550715157269): NOT CONFIGURED (stuck transaction)
    • Other destinations: UNKNOWN (need verification)
  • ⚠️ Router Integration: Cannot query router address from contract

CCIPWETH10Bridge (0xe0E93247376aa097dB308B92e6Ba36bA015535D0):

  • Contract Deployed: Bytecode present (13,049 bytes)
  • Functions Available: sendCrossChain(), addDestination(), destinations()
  • Destination Routing Table: INCOMPLETE
    • Ethereum Mainnet (5009297550715157269): NOT CONFIGURED (stuck transaction)
    • Other destinations: UNKNOWN (need verification)

Status: ~40% Complete

  • Contracts deployed and functional
  • Destination routing incomplete
  • Integration with CCIP Router unclear ⚠️

End-to-End Bridging Checklist Status

1. Lane Enabled - PARTIALLY VERIFIED

  • Source Router exists
  • ⚠️ Router → OnRamp mapping: UNKNOWN
  • ⚠️ OnRamp destination allowlist: UNKNOWN
  • Destination Router → OffRamp: UNKNOWN (requires Ethereum Mainnet verification)
  • OffRamp source allowlist: UNKNOWN (requires Ethereum Mainnet verification)

Status: ~40% Complete

2. ⚠️ Token Registered - UNKNOWN

  • Tokens exist (WETH9, WETH10)
  • TokenAdminRegistry entries: UNKNOWN
  • Token → Pool mappings: UNKNOWN

Status: ~30% Complete

3. ⚠️ Pool Configured - UNKNOWN

  • Pool addresses: UNKNOWN
  • Remote chain configuration: UNKNOWN
  • Rate limits: UNKNOWN
  • Permissions (mint/burn/liquidity): UNKNOWN

Status: 0% Verifiable

4. ⚠️ Fees Available - PARTIALLY WORKING

  • ⚠️ FeeQuoter: NOT ACCESSIBLE - Fee calculation fails in scripts
  • ⚠️ Fee Payment: UNKNOWN - May require LINK tokens
  • ⚠️ Fee Estimation: Scripts cannot calculate fees

Status: ~20% Complete

  • Infrastructure exists but not accessible via standard queries

5. Receiver Ready - COMPLETE

  • Receiver: EOA address (0x4A666F96fC8764181194447A7dFdb7d471b301C8)
  • No Special Interface Required: EOA can receive tokens directly

Status: 100% Complete


Critical Issues Blocking Bridging

🔴 Issue 1: App-Level Destination Routing Table Not Configured

Problem:

  • Bridge contracts maintain their own destinations[selector] mapping
  • Ethereum Mainnet destination (selector: 5009297550715157269) is NOT configured
  • Configuration transaction stuck in mempool (nonce 36/37)

Impact:

  • CRITICAL - Cannot bridge to Ethereum Mainnet
  • Error: CCIPWETH9Bridge: destination not enabled

Status: BLOCKING

Resolution Required:

  1. Clear stuck transaction from mempool, OR
  2. Wait for transaction to timeout/expire, OR
  3. Use different account to configure destination

🟡 Issue 2: CCIP Fee Calculation Failing

Problem:

  • Scripts cannot calculate CCIP fees
  • calculateFee() calls fail or return 0
  • May require LINK tokens for fee payment

Impact:

  • WARNING - Cannot estimate total bridge cost
  • May fail at execution if fees not available

Status: ⚠️ NON-BLOCKING (but concerning)

Resolution Required:

  1. Verify LINK token balance
  2. Check FeeQuoter contract accessibility
  3. Verify fee payment mechanism

🟡 Issue 3: CCIP Lane Configuration Not Verifiable

Problem:

  • Cannot verify Router → OnRamp mappings
  • Cannot verify OnRamp destination allowlists
  • Cannot verify OffRamp source allowlists (from source chain)

Impact:

  • WARNING - Unknown if CCIP lanes are properly configured
  • May fail at CCIP level even if app-level routing is fixed

Status: ⚠️ POTENTIALLY BLOCKING

Resolution Required:

  1. Contract verification on Blockscout
  2. Admin access to verify Router/OnRamp/OffRamp configs
  3. Test with small amount once destination routing is fixed

Configuration Completeness Summary

Component Status Completeness Notes
A) CCIP Lane Config ⚠️ Partial ~40% Infrastructure deployed, configs not verifiable
B) Token Map ⚠️ Unknown ~30% Tokens exist, registry entries unknown
C) Token Mechanism Complete 100% Standard WETH9/WETH10, verified 1:1
D) Rate Limits Unknown 0% Not verifiable from scripts
E) App Wiring ⚠️ Partial ~40% Contracts deployed, routing incomplete
Fees ⚠️ Partial ~20% Infrastructure exists, not accessible
Receiver Complete 100% EOA ready

Overall: ~60% Complete (weighted average)


What's Working

  1. Token Contracts: WETH9 and WETH10 deployed and functional
  2. Bridge Contracts: CCIPWETH9Bridge and CCIPWETH10Bridge deployed
  3. CCIP Infrastructure: Router and Sender contracts deployed
  4. Token Mechanisms: 1:1 wrapping verified, standard functions working
  5. Receiver: EOA address ready to receive tokens
  6. Scripts: Bridge scripts created and functional (pending configuration)

What's Not Working

  1. Destination Routing: Ethereum Mainnet not configured (stuck transaction)
  2. Fee Calculation: Cannot calculate CCIP fees
  3. Configuration Verification: Cannot verify CCIP lane configs
  4. Token Pool Mapping: Cannot verify TokenAdminRegistry entries

What's Unknown

  1. OnRamp Configuration: Router → OnRamp mappings
  2. OffRamp Configuration: Destination chain OffRamp allowlists
  3. Token Pool Addresses: Where tokens are pooled for bridging
  4. Rate Limits: Outbound/inbound limits per lane
  5. LINK Token Requirements: Whether LINK is needed for fees

Recommendations

Immediate Actions (Critical)

  1. Resolve Stuck Transaction:

    • Clear mempool for address 0x4A666F96fC8764181194447A7dFdb7d471b301C8
    • OR wait for transaction timeout
    • OR use different account to configure destination
  2. Configure Ethereum Mainnet Destination:

    ./scripts/fix-bridge-errors.sh [private_key] 0x2a0840e5117683b11682ac46f5cf5621e67269e3
    
  3. Verify Configuration:

    ./scripts/check-bridge-config.sh
    

Short-Term Actions (Important)

  1. Verify CCIP Lane Configuration:

    • Contract verification on Blockscout
    • Query Router/OnRamp/OffRamp configs
    • Verify destination allowlists
  2. Verify Token Pool Configuration:

    • Query TokenAdminRegistry
    • Verify token → pool mappings
    • Check pool permissions
  3. Test Fee Calculation:

    • Verify LINK token balance
    • Test FeeQuoter accessibility
    • Document fee payment mechanism

Long-Term Actions (Nice to Have)

  1. Comprehensive Verification Script:

    • Check all CCIP components
    • Verify all destination chains
    • Generate complete status report
  2. Monitoring Setup:

    • Monitor CCIP message lifecycle
    • Track bridge transaction success rates
    • Alert on configuration changes

Conclusion

Current State: The CCIP infrastructure is deployed and partially configured, but critical app-level routing is incomplete due to a stuck transaction. Once the destination routing table is configured, the system should be functional, but CCIP lane configuration and token pool mappings need verification to ensure end-to-end functionality.

Blocking Issue: App-level destination routing table (your bridge's destinations[selector] mapping) is the immediate blocker. CCIP's internal routing (Router/OnRamp/OffRamp) may be configured, but cannot be verified from the source chain.

Next Steps:

  1. Resolve stuck transaction
  2. Configure Ethereum Mainnet destination
  3. Test with small amount (0.001 ETH)
  4. Verify CCIP lane configuration
  5. Verify token pool configuration

Last Updated: $(date)