Files
proxmox/docs/archive/completion/COMPLETE_IMPLEMENTATION_PLAN.md
defiQUG cb47cce074 Complete markdown files cleanup and organization
- Organized 252 files across project
- Root directory: 187 → 2 files (98.9% reduction)
- Moved configuration guides to docs/04-configuration/
- Moved troubleshooting guides to docs/09-troubleshooting/
- Moved quick start guides to docs/01-getting-started/
- Moved reports to reports/ directory
- Archived temporary files
- Generated comprehensive reports and documentation
- Created maintenance scripts and guides

All files organized according to established standards.
2026-01-06 01:46:25 -08:00

13 KiB

Complete Implementation Plan - All Remaining Tasks

Date: $(date)
Status: 📋 PLANNING PHASE
Goal: Complete all remaining tasks for full cross-chain functionality


📊 Current Status Summary

Completed

  1. Core Infrastructure

    • CCIP Router deployed: 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e
    • CCIP Sender deployed: 0x105F8A15b819948a89153505762444Ee9f324684
    • Oracle Proxy deployed: 0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6
    • Oracle Aggregator deployed: 0x99b3511a2d315a497c8112c1fdd8d508d4b1e506
    • Price Feed Keeper deployed: 0xD3AD6831aacB5386B8A25BB8D8176a6C8a026f04
  2. Pre-deployed Contracts

    • WETH9: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
    • WETH10: 0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f
  3. Services

    • Oracle Publisher (VMID 3500): Configured
    • CCIP Monitor (VMID 3501): Configured
    • Firefly (VMID 6200): Running
    • Blockscout (VMID 5000): Running
  4. Documentation

    • Contract addresses documented
    • Deployment guides created
    • Integration guides created

Remaining Tasks

  1. Bridge Contracts Deployment (Priority 1)

    • Deploy CCIPWETH9Bridge on ChainID 138
    • Deploy CCIPWETH10Bridge on ChainID 138
  2. Bridge Configuration (Priority 1)

    • Configure all destination chains for WETH9 bridge
    • Configure all destination chains for WETH10 bridge
  3. Documentation Updates (Priority 2)

    • Create cross-chain bridge address reference
    • Update user flow documentation
    • Create configuration scripts
  4. Testing (Priority 3)

    • Test cross-chain transfers to each destination
    • Verify bridge functionality
    • Monitor transfer events

🎯 Detailed Implementation Plan

Phase 1: Bridge Contracts Deployment

Task 1.1: Deploy CCIPWETH9Bridge

Objective: Deploy WETH9 bridge contract on ChainID 138

Prerequisites:

  • CCIP Router deployed
  • WETH9 contract address known
  • LINK token address or native ETH for fees

Steps:

  1. Verify environment variables in source project .env:

    CCIP_CHAIN138_ROUTER=0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e
    WETH9_ADDRESS=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
    LINK_TOKEN_ADDRESS=0x0000000000000000000000000000000000000000  # or actual LINK address
    
  2. Deploy bridge contract:

    cd /home/intlc/projects/smom-dbis-138
    forge script script/DeployCCIPWETH9Bridge.s.sol:DeployCCIPWETH9Bridge \
      --rpc-url https://rpc-core.d-bis.org \
      --private-key $PRIVATE_KEY \
      --broadcast \
      --legacy \
      --via-ir
    
  3. Extract deployed address from broadcast file

  4. Update .env with bridge address:

    CCIPWETH9_BRIDGE_CHAIN138=<deployed_address>
    

Expected Output:

  • Bridge contract deployed
  • Address saved to .env
  • Contract verified on explorer (if configured)

Estimated Time: 15 minutes


Task 1.2: Deploy CCIPWETH10Bridge

Objective: Deploy WETH10 bridge contract on ChainID 138

Prerequisites:

  • CCIP Router deployed
  • WETH10 contract address known
  • LINK token address or native ETH for fees

Steps:

  1. Verify environment variables in source project .env:

    CCIP_CHAIN138_ROUTER=0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e
    WETH10_ADDRESS=0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f
    LINK_TOKEN_ADDRESS=0x0000000000000000000000000000000000000000  # or actual LINK address
    
  2. Deploy bridge contract:

    cd /home/intlc/projects/smom-dbis-138
    forge script script/DeployCCIPWETH10Bridge.s.sol:DeployCCIPWETH10Bridge \
      --rpc-url https://rpc-core.d-bis.org \
      --private-key $PRIVATE_KEY \
      --broadcast \
      --legacy \
      --via-ir
    
  3. Extract deployed address from broadcast file

  4. Update .env with bridge address:

    CCIPWETH10_BRIDGE_CHAIN138=<deployed_address>
    

Expected Output:

  • Bridge contract deployed
  • Address saved to .env
  • Contract verified on explorer (if configured)

Estimated Time: 15 minutes


Phase 2: Bridge Configuration

Task 2.1: Get ChainID 138 Selector

Objective: Get the chain selector for ChainID 138 from CCIP Router

Steps:

  1. Query CCIP Router for chain selector:

    cast call 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e \
      "getChainSelector()" \
      --rpc-url https://rpc-core.d-bis.org
    
  2. Save selector to .env:

    CHAIN138_SELECTOR=<selector_value>
    

Expected Output: Chain selector value (likely 138 or hex representation)

Estimated Time: 2 minutes


Task 2.2: Configure WETH9 Bridge Destinations

Objective: Configure all destination chains for WETH9 bridge

Destination Chains:

  • BSC (Selector: 11344663589394136015, Bridge: 0x8078a09637e47fa5ed34f626046ea2094a5cde5e)
  • Polygon (Selector: 4051577828743386545, Bridge: 0xa780ef19a041745d353c9432f2a7f5a241335ffe)
  • Avalanche (Selector: 6433500567565415381, Bridge: 0x8078a09637e47fa5ed34f626046ea2094a5cde5e)
  • Base (Selector: 15971525489660198786, Bridge: 0x8078a09637e47fa5ed34f626046ea2094a5cde5e)
  • Arbitrum (Selector: 4949039107694359620, Bridge: 0x8078a09637e47fa5ed34f626046ea2094a5cde5e)
  • Optimism (Selector: 3734403246176062136, Bridge: 0x8078a09637e47fa5ed34f626046ea2094a5cde5e)

Steps:

  1. For each destination chain, call addDestination():

    cast send $CCIPWETH9_BRIDGE_CHAIN138 \
      "addDestination(uint64,address)" \
      <chain_selector> \
      <destination_bridge_address> \
      --rpc-url https://rpc-core.d-bis.org \
      --private-key $PRIVATE_KEY
    
  2. Verify each destination was added:

    cast call $CCIPWETH9_BRIDGE_CHAIN138 \
      "destinations(uint64)" \
      <chain_selector> \
      --rpc-url https://rpc-core.d-bis.org
    

Expected Output:

  • All 6 destinations configured
  • Each destination verified as enabled

Estimated Time: 30 minutes (5 minutes per destination)


Task 2.3: Configure WETH10 Bridge Destinations

Objective: Configure all destination chains for WETH10 bridge

Destination Chains:

  • BSC (Selector: 11344663589394136015, Bridge: 0x105f8a15b819948a89153505762444ee9f324684)
  • Polygon (Selector: 4051577828743386545, Bridge: 0xdab0591e5e89295ffad75a71dcfc30c5625c4fa2)
  • Avalanche (Selector: 6433500567565415381, Bridge: 0x105f8a15b819948a89153505762444ee9f324684)
  • Base (Selector: 15971525489660198786, Bridge: 0x105f8a15b819948a89153505762444ee9f324684)
  • Arbitrum (Selector: 4949039107694359620, Bridge: 0x105f8a15b819948a89153505762444ee9f324684)
  • Optimism (Selector: 3734403246176062136, Bridge: 0x105f8a15b819948a89153505762444ee9f324684)

Steps:

  1. For each destination chain, call addDestination():

    cast send $CCIPWETH10_BRIDGE_CHAIN138 \
      "addDestination(uint64,address)" \
      <chain_selector> \
      <destination_bridge_address> \
      --rpc-url https://rpc-core.d-bis.org \
      --private-key $PRIVATE_KEY
    
  2. Verify each destination was added:

    cast call $CCIPWETH10_BRIDGE_CHAIN138 \
      "destinations(uint64)" \
      <chain_selector> \
      --rpc-url https://rpc-core.d-bis.org
    

Expected Output:

  • All 6 destinations configured
  • Each destination verified as enabled

Estimated Time: 30 minutes (5 minutes per destination)


Phase 3: Documentation & Scripts

Task 3.1: Create Cross-Chain Bridge Address Reference

Objective: Create comprehensive reference document with all bridge addresses

Content:

  • ChainID 138 bridge addresses (once deployed)
  • All destination chain bridge addresses
  • Chain selectors for all networks
  • Configuration examples

File: docs/CROSS_CHAIN_BRIDGE_ADDRESSES.md

Estimated Time: 20 minutes


Task 3.2: Create Bridge Configuration Script

Objective: Create automated script to configure all bridge destinations

Features:

  • Configure WETH9 bridge destinations
  • Configure WETH10 bridge destinations
  • Verify all configurations
  • Error handling and logging

File: scripts/configure-bridge-destinations.sh

Estimated Time: 30 minutes


Task 3.3: Create Bridge Deployment Script

Objective: Create automated script to deploy both bridge contracts

Features:

  • Deploy CCIPWETH9Bridge
  • Deploy CCIPWETH10Bridge
  • Extract addresses
  • Update .env files
  • Verify deployments

File: scripts/deploy-bridge-contracts.sh

Estimated Time: 30 minutes


Task 3.4: Update User Flow Documentation

Objective: Update user flow documentation with actual addresses

Files to Update:

  • docs/COMPLETE_CONNECTIONS_CONTRACTS_CONTAINERS.md
  • docs/user-guides/CCIP_BRIDGE_USER_GUIDE.md (in source project)

Content:

  • Actual bridge addresses
  • Complete step-by-step examples
  • Code examples with real addresses

Estimated Time: 30 minutes


Phase 4: Testing & Verification

Task 4.1: Test WETH9 Bridge to Each Destination

Objective: Test cross-chain transfer for WETH9 to each destination chain

Test Plan:

  1. Wrap small amount of ETH to WETH9
  2. Approve bridge to spend WETH9
  3. Calculate fee for destination
  4. Send cross-chain transfer
  5. Monitor transfer status
  6. Verify receipt on destination chain

Test Amount: 0.01 ETH (or minimum viable amount)

Destinations to Test:

  • BSC
  • Polygon
  • Avalanche
  • Base
  • Arbitrum
  • Optimism

Estimated Time: 2 hours (20 minutes per destination)


Task 4.2: Test WETH10 Bridge to Each Destination

Objective: Test cross-chain transfer for WETH10 to each destination chain

Test Plan: Same as Task 4.1, but for WETH10

Estimated Time: 2 hours (20 minutes per destination)


Task 4.3: Create Test Script

Objective: Create automated test script for bridge transfers

Features:

  • Test WETH9 transfers
  • Test WETH10 transfers
  • Monitor transfer status
  • Verify receipts
  • Generate test report

File: scripts/test-bridge-transfers.sh

Estimated Time: 45 minutes


Phase 5: Service Configuration Updates

Task 5.1: Update CCIP Monitor Service

Objective: Update CCIP Monitor service with bridge addresses

Steps:

  1. Update .env file in VMID 3501:

    CCIPWETH9_BRIDGE_CHAIN138=<deployed_address>
    CCIPWETH10_BRIDGE_CHAIN138=<deployed_address>
    
  2. Restart service if needed

Estimated Time: 10 minutes


Task 5.2: Update All Service Configurations

Objective: Update all service .env files with bridge addresses

Services:

  • Oracle Publisher (3500)
  • CCIP Monitor (3501)
  • Keeper (3502) - if needed
  • Financial Tokenization (3503) - if needed

Estimated Time: 15 minutes


📋 Implementation Checklist

Phase 1: Bridge Deployment

  • Task 1.1: Deploy CCIPWETH9Bridge
  • Task 1.2: Deploy CCIPWETH10Bridge

Phase 2: Bridge Configuration

  • Task 2.1: Get ChainID 138 Selector
  • Task 2.2: Configure WETH9 Bridge Destinations (6 destinations)
  • Task 2.3: Configure WETH10 Bridge Destinations (6 destinations)

Phase 3: Documentation & Scripts

  • Task 3.1: Create Cross-Chain Bridge Address Reference
  • Task 3.2: Create Bridge Configuration Script
  • Task 3.3: Create Bridge Deployment Script
  • Task 3.4: Update User Flow Documentation

Phase 4: Testing & Verification

  • Task 4.1: Test WETH9 Bridge to Each Destination (6 tests)
  • Task 4.2: Test WETH10 Bridge to Each Destination (6 tests)
  • Task 4.3: Create Test Script

Phase 5: Service Configuration

  • Task 5.1: Update CCIP Monitor Service
  • Task 5.2: Update All Service Configurations

⏱️ Time Estimates

Phase Tasks Estimated Time
Phase 1: Bridge Deployment 2 tasks 30 minutes
Phase 2: Bridge Configuration 3 tasks 62 minutes
Phase 3: Documentation & Scripts 4 tasks 110 minutes
Phase 4: Testing & Verification 3 tasks 285 minutes
Phase 5: Service Configuration 2 tasks 25 minutes
Total 14 tasks ~8.5 hours

🚀 Quick Start Commands

Deploy Bridges

cd /home/intlc/projects/proxmox
bash scripts/deploy-bridge-contracts.sh

Configure Destinations

cd /home/intlc/projects/proxmox
bash scripts/configure-bridge-destinations.sh

Test Transfers

cd /home/intlc/projects/proxmox
bash scripts/test-bridge-transfers.sh

📝 Notes

  1. Gas Costs: Each bridge deployment and configuration transaction will cost gas. Budget accordingly.

  2. Testing: Start with small test amounts (0.01 ETH) before larger transfers.

  3. Verification: Verify all contract addresses before use.

  4. Monitoring: Monitor CCIP Monitor service (VMID 3501) for cross-chain events.

  5. Documentation: Keep all addresses and configurations documented for future reference.


Success Criteria

  1. Both bridge contracts deployed on ChainID 138
  2. All 6 destination chains configured for both bridges
  3. Test transfers successful to at least 2 destination chains
  4. All documentation updated with actual addresses
  5. All scripts created and tested
  6. Services configured with bridge addresses

Last Updated: $(date)
Status: 📋 Ready for Implementation