- 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>
10 KiB
Complete Remaining Tasks List
Last Updated: 2026-01-31
Document Version: 1.0
Status: Active Documentation
Date: 2025-01-18
Scope: Two-way tether, Mirror, Bridge selector, MetaMask, Etherscan, and all recommended tasks
Pending Tasks from Chat
1. Collect Enodes for 2402 and 2403 ⏸️
Status: Services running - Enode collection pending (ADMIN API not available on ThirdWeb RPC nodes)
Action: Use alternative methods to collect enodes (logs, static-nodes.json, or core RPC admin_peers)
Two-Way Tether to Ethereum Mainnet
Core Contracts ✅ Deployed
- ✅ MainnetTether:
0x15DF1D5BFDD8Aa4b380445D4e3E9B38d34283619 - ✅ CCIPWETH9Bridge:
0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 - ✅ CCIPWETH10Bridge:
0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e
Remaining Tasks
T1.1: Complete TransactionMirror Verification ⚠️
Status: Auto-verification may have failed
Action:
forge verify-contract \
--chain-id 1 \
--num-of-optimizations 200 \
--via-ir \
0x4CF42c4F1dBa748601b8938be3E7ABD732E87cE9 \
contracts/mirror/TransactionMirror.sol:TransactionMirror \
$ETHERSCAN_API_KEY \
--constructor-args $(cast abi-encode "constructor(address)" 0x4A666F96fC8764181194447A7dFdb7d471b301C8)
T1.2: Deploy State Anchoring Off-Chain Service ⏸️
Status: Template implemented, needs deployment
Requirements:
- Monitor ChainID 138 blocks
- Collect validator signatures
- Submit
anchorStateProof()to MainnetTether - Handle replay protection
Service: services/state-anchoring-service/ (TypeScript implementation ready)
Dependencies:
- Validator signature collection logic (needs implementation)
- RPC access to ChainID 138 and Mainnet
T1.3: Configure Bridge Destinations ⏸️
Status: Scripts ready, needs ChainID 138 selector
Action:
- Determine ChainID 138 CCIP selector
- Run
scripts/configuration/configure-bridge-destinations.sh - Verify bidirectional configuration
Blockers: ChainID 138 selector needed
Mirror to Ethereum Mainnet
Core Contracts ✅ Deployed
- ✅ TransactionMirror:
0x4CF42c4F1dBa748601b8938be3E7ABD732E87cE9
Remaining Tasks
M1.1: Deploy Transaction Mirroring Off-Chain Service ⏸️
Status: Template implemented, needs deployment
Requirements:
- Monitor ChainID 138 transactions
- Extract transaction data (hash, from, to, value, block, etc.)
- Submit
mirrorTransaction()ormirrorTransactionsBatch()to TransactionMirror - Handle batch operations (up to 100 transactions)
Service: services/transaction-mirroring-service/ (TypeScript implementation ready)
Dependencies:
- RPC access to ChainID 138 and Mainnet
M1.2: Verify TransactionMirror on Etherscan (See T1.1) ⚠️
Same as T1.1 above
Bridge Selector Configuration
Remaining Tasks
B1.1: Determine ChainID 138 CCIP Selector ⏸️
Status: Multiple references found, needs verification
Possible Values:
- Custom router: May use chain ID directly
- Official Chainlink: Check Chainlink CCIP Directory
- Custom implementation: Query router contract
Action:
- Query Chainlink CCIP Directory (if using official CCIP)
- Check custom router documentation
- Use
scripts/configuration/find-chain-selector.sh
B1.2: Complete Bidirectional Bridge Configuration ⏸️
Status: Partial - Mainnet to ChainID 138 complete, ChainID 138 to Mainnet pending
Action:
- Once selector determined, run:
scripts/configuration/configure-chain138-to-mainnet.shscripts/configuration/configure-mainnet-to-chain138.shscripts/configuration/verify-bridge-configuration.sh
B1.3: Resolve ChainID 138 Bridge Configuration Issues ⏸️
Status: Proxy pattern or bytecode mismatch suspected
Action:
- Investigate proxy patterns on ChainID 138 bridges
- Verify bytecode matches expected implementation
- Check if destinations already configured via events
Scripts Available:
scripts/configuration/investigate-proxy-bridges.shscripts/configuration/check-existing-destinations.sh
MetaMask Integration
Current Status
- ✅ Network configuration documented
- ✅ Token list created
- ✅ WETH9 decimals fix documented
Remaining Tasks
MM1.1: Host Token List Publicly ⏸️
Status: Token list exists but not publicly hosted
Impact: Users must manually import tokens
Action:
- Host at public URL (GitHub Pages, IPFS, or CDN)
- Example:
https://tokens.d-bis.org/lists/dbis-138.tokenlist.json - Update MetaMask documentation with URL
Files: metamask-integration/docs/METAMASK_TOKEN_LIST.json
MM1.2: Submit to Chainlist ⏸️
Status: Network configuration ready, not submitted
Action:
- Create chain-138.json following Chainlist format
- Submit PR to Chainlist repository
- Enables automatic network discovery in MetaMask
Benefit: Users can add network via Chainlist without manual entry
MM1.3: Verify Token List Validation ⏸️
Status: List created, needs validation
Action:
- Validate JSON schema
- Verify all token addresses are correct
- Verify token metadata (decimals, symbols, names)
- Test import in MetaMask
MM1.4: Add Token Logos ⏸️
Status: Logos may be missing from token list
Action:
- Create/obtain logos for WETH9, WETH10
- Host logos at public URLs
- Add logo URLs to token list entries
MM1.5: Test Full MetaMask Integration ⏸️
Status: Configuration ready, needs end-to-end testing
Test Cases:
- Network addition (manual and programmatic)
- Token import and display
- Transaction sending
- Balance display accuracy
- Price feed display (if applicable)
Etherscan Integration
Current Status
- ✅ Mainnet contracts verified (CCIPWETH9Bridge, CCIPWETH10Bridge, MainnetTether)
- ⚠️ TransactionMirror may need verification
Remaining Tasks
E1.1: Verify TransactionMirror on Etherscan (See T1.1) ⚠️
Same as T1.1 above
E1.2: Ensure All Mainnet Contracts Verified ⏸️
Status: Most verified, TransactionMirror pending confirmation
Action:
- Check Etherscan for TransactionMirror verification status
- If not verified, run verification command (see T1.1)
E1.3: Submit Contract ABI to Etherscan (if not auto-uploaded) ⏸️
Status: Usually auto-uploaded with verification
Action: Verify ABIs are available on Etherscan contract pages
E1.4: Configure Etherscan Token Listings ⏸️
Status: Contracts verified, token listings optional
Action:
- Submit WETH9/WETH10 on ChainID 138 to Etherscan token list (if supported for custom chains)
- Note: Etherscan primarily for Mainnet, ChainID 138 uses Blockscout
Recommended and Suggested Tasks
High Priority
R1.1: Execute Cross-Chain Integration Testing ⏸️
Status: Testing plan ready, needs bridge configuration
Test Plan: docs/deployment/TASK4_CROSS_CHAIN_TESTING_PLAN.md
Tests Required:
- Wrap ETH to WETH9 on ChainID 138
- Approve bridge to spend WETH9
- Bridge WETH9 to Ethereum Mainnet
- Verify tokens received on Mainnet
- Bridge back from Mainnet to ChainID 138
- Verify tokens received on ChainID 138
Dependencies: Bridge destinations must be configured
R1.2: Deploy Off-Chain Services ⏸️
Status: Code ready, needs deployment
Services:
- State anchoring service
- Transaction mirroring service
Action:
- Set up deployment environment
- Install dependencies
- Configure environment variables
- Deploy and monitor
R1.3: Resolve ChainID 138 Bridge Configuration ⏸️
Status: Blocked by proxy pattern investigation
Action: Complete investigation and configuration
Medium Priority
R2.1: Performance Testing Framework ⏸️
Status: Framework documented, deferred until operational
Documentation: docs/deployment/TASK14_PERFORMANCE_TESTING_FRAMEWORK.md
R2.2: Complete Node List ⏸️
Status: Current list has validators + 2 RPC nodes
Missing:
- Sentries: 1500-1503 (4 nodes)
- RPC nodes: 2400, 2402, 2500-2508 (11 nodes)
Action: Collect enodes when nodes are running
R2.3: Verify Nginx Routing After Port Migration ⏸️
Status: Migration complete, end-to-end testing optional
Action: Test public endpoint routing to translator
Low Priority / Optional
R3.1: Deploy MirrorManager (Optional) ⏸️
Status: Contract exists, decision: NOT REQUIRED
Note: Optional if dynamic address mapping needed
R3.2: Deploy CCIPLogger (Optional) ⏸️
Status: Status unknown, optional monitoring contract
R3.3: Deploy TwoWayTokenBridge (Optional) ⏸️
Status: Contracts exist, decision: NOT REQUIRED
Note: Current system uses CCIP bridges, TwoWayTokenBridge uses different pattern
R3.4: Fix Compilation Issue in InitializeBridgeSystem.s.sol ⏸️
Status: Non-critical, unrelated script
Note: Does not affect core contracts
Summary by Category
Two-Way Tether (3 tasks)
- T1.1: Verify TransactionMirror ⚠️
- T1.2: Deploy state anchoring service ⏸️
- T1.3: Configure bridge destinations ⏸️
Mirror (1 task)
- M1.1: Deploy transaction mirroring service ⏸️
Bridge Selector (3 tasks)
- B1.1: Determine ChainID 138 selector ⏸️
- B1.2: Complete bidirectional configuration ⏸️
- B1.3: Resolve bridge configuration issues ⏸️
MetaMask (5 tasks)
- MM1.1: Host token list publicly ⏸️
- MM1.2: Submit to Chainlist ⏸️
- MM1.3: Verify token list validation ⏸️
- MM1.4: Add token logos ⏸️
- MM1.5: Test full integration ⏸️
Etherscan (3 tasks)
- E1.1: Verify TransactionMirror ⚠️ (same as T1.1)
- E1.2: Ensure all contracts verified ⏸️
- E1.3: Configure token listings ⏸️
Recommended/Suggested (7 tasks)
- R1.1-R1.3: High priority (testing, services, bridge config)
- R2.1-R2.3: Medium priority (performance, node list, routing)
- R3.1-R3.4: Low priority/optional
Total Remaining Tasks: ~20 tasks across all categories
Last Updated: 2025-01-18