Files
proxmox/docs/06-besu/CRITICAL_TASKS_PROGRESS_REPORT.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

4.0 KiB

Critical Tasks Progress Report

Last Updated: 2026-01-31
Document Version: 1.0
Status: Active Documentation


Date: 2026-01-18
Tasks: T1.1 (CCIP Selector), T1.2 (Bridge Configuration Block)


T1.1: ChainID 138 CCIP Selector - RESOLUTION FOUND

Findings

Conflicting Values:

  • networks.json: 5009297550715157269 (same as Mainnet - INCORRECT)
  • services/relay/src/config.js: BigInt('138') - chain ID directly (CORRECT)

Resolution: Use 138 as ChainID 138 selector

Reasoning:

  1. Relay service actively uses 138 (chain ID)
  2. Indicates custom CCIP implementation (not official Chainlink)
  3. For custom CCIP, chain ID is used as selector

Action Required

  1. Update .env: CHAIN138_SELECTOR=138
  2. Update networks.json (optional): Change selector to 138
  3. Document: Custom CCIP uses chain ID as selector

Status: 90% COMPLETE - Resolution identified, needs implementation


⚠️ T1.2: ChainID 138 Bridge Configuration Block - ISSUE IDENTIFIED

Investigation Results

Contract Analysis:

  • Address: 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6
  • Code Size: 1,311 bytes (small - minimal proxy or different version)
  • Admin Function: Works (admin() returns valid address)
  • Configuration Functions: NOT in bytecode

Function Selector Check:

  • admin() (0xf851a44): FOUND in code
  • addDestination(uint64,address) (0xced719f3): NOT FOUND in code
  • getDestinationChains() (0xabc343a7): NOT FOUND in code

Proxy Pattern Check:

  • EIP-1967 implementation slot: NOT FOUND
  • Code size suggests minimal proxy or older version

Conclusion

Issue: Deployed contract on ChainID 138 is different version than source code

Evidence:

  • Source code has addDestination() and getDestinationChains()
  • Deployed bytecode does NOT have these function selectors
  • Only admin() function exists in deployed contract

Possible Causes

  1. Older Contract Version: Deployed before these functions were added
  2. Different Implementation: Contract deployed with different source/compiler
  3. Minimal Proxy: Very small code suggests proxy, but no EIP-1967 slot found
  4. Different Address: May be checking wrong address (but admin() works, so address is correct)

Address Confirmation

Note: Address 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 is:

  • Same address on Mainnet and ChainID 138
  • Mainnet bridge has full implementation (works)
  • ChainID 138 bridge has minimal implementation (missing functions)

This suggests canonical address deployment but different implementations on each chain.

Resolution Options

  1. Check Deployment Logs: Find which version was deployed
  2. Query Event Logs: Check if destinations configured via events
  3. Update Contract: Deploy updated version with full interface (if needed)
  4. Use Alternative Method: Find alternative configuration method for current version
  5. Check Storage Directly: Read storage slots if functions don't exist

Next Steps

  1. Check deployment history for ChainID 138 bridges
  2. Query event logs for DestinationAdded events
  3. Compare with Mainnet bridge implementation
  4. Determine if update needed or if alternative method exists

Status: ⚠️ 60% COMPLETE - Issue identified, resolution path needs determination


📊 Summary

T1.1: CCIP Selector

  • Status: Resolution found
  • Progress: 90%
  • Action: Update selector to 138

T1.2: Bridge Configuration

  • Status: ⚠️ Issue identified (interface mismatch)
  • Progress: 60%
  • Action: Determine resolution path (check deployment, events, or update needed)

🚀 Next Actions

  1. Implement T1.1: Update selector to 138 in .env and networks.json
  2. Continue T1.2: Check deployment logs and event history
  3. Determine Resolution: Decide if contract update needed or alternative method exists

Last Updated: 2026-01-18