Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- 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>
4.0 KiB
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:
- Relay service actively uses
138(chain ID) - Indicates custom CCIP implementation (not official Chainlink)
- For custom CCIP, chain ID is used as selector
Action Required
- Update
.env:CHAIN138_SELECTOR=138 - Update
networks.json(optional): Change selector to138 - 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 codeaddDestination(uint64,address)(0xced719f3): ❌ NOT FOUND in codegetDestinationChains()(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()andgetDestinationChains() - Deployed bytecode does NOT have these function selectors
- Only
admin()function exists in deployed contract
Possible Causes
- Older Contract Version: Deployed before these functions were added
- Different Implementation: Contract deployed with different source/compiler
- Minimal Proxy: Very small code suggests proxy, but no EIP-1967 slot found
- 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
- Check Deployment Logs: Find which version was deployed
- Query Event Logs: Check if destinations configured via events
- Update Contract: Deploy updated version with full interface (if needed)
- Use Alternative Method: Find alternative configuration method for current version
- Check Storage Directly: Read storage slots if functions don't exist
Next Steps
- Check deployment history for ChainID 138 bridges
- Query event logs for
DestinationAddedevents - Compare with Mainnet bridge implementation
- 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
- Implement T1.1: Update selector to
138in.envandnetworks.json - Continue T1.2: Check deployment logs and event history
- Determine Resolution: Decide if contract update needed or alternative method exists
Last Updated: 2026-01-18