Remaining Work — Breakdown and Answers to Get Each Item Completed
Last Updated: 2026-02-13
Purpose: For every remaining task, this doc answers: What exactly is it? What do I need before starting? Who does it? What are the exact steps to complete it? Where do I update when done?
Source lists: REMAINING_COMPONENTS_TASKS_AND_RECOMMENDATIONS, PLACEHOLDERS_AND_COMPLETION_MASTER_LIST, NOT_CHANGED_BY_DESIGN_ACTIONABLE_STEPS, STEPS_FROM_PROXMOX_OR_LAN_WITH_SECRETS.
Code/deploy completed in repo (no LAN): OMNIS deploy.sh — AUTO_MIGRATE, post-deploy health check (HEALTH_CHECK_URL/BACKEND_URL); OMNIS CI — migration step and health check with OMNIS_HEALTH_URL; TezosRelayService — real mint env documented (MOCK_TEZOS_RELAY=false, TEZOS_MINTER_ADDRESS, etc.). Actual contract deploys, Blockscout verification, funding relay, and VM creation require LAN and secrets; run per §2 and STEPS_FROM_PROXMOX_OR_LAN_WITH_SECRETS.
How to use this doc
- External / waiting: You cannot finish these without a third party (Ledger, Trust, CoinGecko, Consensys, or deployment of another system). The “answer” is: do the one action that unblocks (form, PR, outreach) then wait; when they respond, follow the linked runbook.
- Operator / LAN: You need SSH to Proxmox (or LAN to 192.168.11.x) and
.env with PRIVATE_KEY, RPC, etc. Run the given commands from the linked doc or script.
- Code / dev: Engineering work in a specific repo/file; often blocked on product decision (e.g. which e-signature vendor) or external (e.g. Sankofa SDK).
- Config / docs: Update a doc or config file when a decision is made or a value is known; no code change.
1. External / waiting (third party must act first)
1.1 Ledger Live — Chain 138 integration
| Question |
Answer |
| What is it? |
Chain 138 (Defi Oracle Meta Mainnet) added to Ledger Live’s supported networks so users see balances and send/receive on 138 in the app. |
| Prerequisites |
Form already submitted (Tally). Nothing else you can do until Ledger replies. |
| Who |
You (point of contact). After Ledger responds, you or dev follow their 8-step process. |
| Steps to complete |
1. Now: Wait for Ledger’s reply to the Tally form. 2. When they reply: Sign any agreement they send; follow their “Adding your blockchain to Ledger Wallet” steps (currency registration, device app, explorer, etc.). 3. If they ask for PR/code: Push materials from ~/projects/LedgerLive, share link. 4. After chain is live in Ledger Live: Run Step 8 manual test plan (sync, receive, balance, broadcast) from ~/projects/LedgerLive/step-08-manual-tests/test-plan.md. |
| Where to update when done |
ADD_CHAIN138_TO_LEDGER_LIVE — mark “Submitted” and add “Live in Ledger Live as of [date]”. REMAINING_COMPONENTS_TASKS_AND_RECOMMENDATIONS §1.1 tasks 1–3 → mark Done. When Ledger confirms, add tokens (CAL), optional swap/staking/i18n per LedgerLive GAPS. |
Ref: ADD_CHAIN138_TO_LEDGER_LIVE, CHAIN138_WALLET_REPOSITORIES.
1.2 Trust Wallet — Official chain list (Wallet Core PR)
| Question |
Answer |
| What is it? |
Chain 138 in Trust Wallet’s built-in chain list (so users don’t have to add custom network manually). Users can already add 138 via Chainlist today. |
| Prerequisites |
Registry entry prepared in ~/projects/TrustWallet-Integration (e.g. registry-entry-chain138.json). |
| Who |
You or dev. |
| Steps to complete |
1. Clone trustwallet/wallet-core. 2. Add chain 138 to registry.json (use entry from TrustWallet-Integration; coinId = 10000138, chainId 138, derivation m/44'/60'/0'/0/0, explorer https://explorer.d-bis.org). 3. Run codegen and derivation tests per Trust docs. 4. Open PR to wallet-core. 5. (Optional) Submit Chain 138 native token logos via assets.trustwallet.com. |
| Where to update when done |
ADD_CHAIN138_TO_TRUST_WALLET — mark “Official support: PR merged”. REMAINING_COMPONENTS §1.1 tasks 4–5 → Done. |
Ref: ADD_CHAIN138_TO_TRUST_WALLET, Trust new EVM chain.
1.3 CoinGecko (and CMC) — Chain 138 and token listings
| Question |
Answer |
| What is it? |
Chain 138 and tokens (e.g. cUSDT, cUSDC) listed on CoinGecko so MetaMask can show USD prices and so the chain/tokens get visibility. |
| Prerequisites |
Token addresses, name/symbol/decimals, explorer links (you have these). Token logos 512×512 PNG; optional: website, social links. |
| Who |
You or ops. Manual submission via CoinGecko’s form/process. |
| Steps to complete |
1. Read COINGECKO_SUBMISSION_GUIDE and token-specific docs (COINGECKO_SUBMISSION_CUSDT.md, COINGECKO_SUBMISSION_CUSDC.md). 2. Prepare logos and any optional links. 3. Submit chain/token via CoinGecko’s listing request process (see guide). 4. Optionally submit to CMC using same data. Note: CoinGecko/CMC may not support chainId 138 immediately; external price in token-aggregation report will stay empty until they add support or you use another price source. |
| Where to update when done |
REMAINING_COMPONENTS §1.4 task 25; PLACEHOLDERS §8 Token aggregation — add “Submitted to CoinGecko/CMC on [date]” or “Listed on [date]”. |
Ref: COINGECKO_SUBMISSION_GUIDE, METAMASK_CHAIN138_FEATURE_PARITY §5.
1.4 Consensys outreach — Swaps/Bridge for Chain 138
| Question |
Answer |
| What is it? |
Business/BD to get native MetaMask Swaps and Bridge support for Chain 138. |
| Prerequisites |
CONSENSYS_OUTREACH_PACKAGE (materials to share). |
| Who |
You or BD. |
| Steps to complete |
Use CONSENSYS_OUTREACH_PACKAGE; contact Consensys per METAMASK_CHAIN138_FEATURE_PARITY. No technical steps until they agree to support 138. |
| Where to update when done |
REMAINING_COMPONENTS §1.4 task 24 — mark “Outreach sent” or “Support confirmed”. |
1.5 Sankofa cutover / The Order portal
| Question |
Answer |
| What is it? |
Sankofa and The Order services deployed; DNS and NPMplus point to real IPs/ports; replace TBDs in docs. |
| Prerequisites |
Sankofa and The Order deployed; IPs and ports known (e.g. sankofa 192.168.11.51:3000 VMID 7801, phoenix 192.168.11.50:4000 VMID 7800 — already in docs). |
| Who |
Ops when services are live. |
| Steps to complete |
1. Deploy Sankofa/The Order per your deployment process. 2. In SANKOFA_CUTOVER_PLAN: replace <TARGET_IP>, <TARGET_PORT>, table TBDs with actual IPs/ports. 3. In NPMplus: ensure proxy hosts for sankofa.nexus and phoenix.sankofa.nexus point to 192.168.11.51:3000 and 192.168.11.50:4000 (not .140). 4. When The Order portal is deployed: add NPMplus proxy for the-order.sankofa.nexus; document in RPC_ENDPOINTS_MASTER and ALL_VMIDS_ENDPOINTS. |
| Where to update when done |
PLACEHOLDERS §2; GAPS §2.1–2.2; REMAINING R21. |
2. Operator / LAN (run commands with secrets and network access)
2.1 Blockscout source verification
| Question |
Answer |
| What is it? |
All deployed contracts on Chain 138 verified on Blockscout so source is public and matches bytecode. |
| Prerequisites |
Host that can reach Blockscout (explorer.d-bis.org or LAN); smom-dbis-138/.env loaded. |
| Who |
Ops or dev from LAN. |
| Steps to complete |
From repo root: source smom-dbis-138/.env 2>/dev/null; ./scripts/verify/run-contract-verification-with-proxy.sh. If one fails: .../run-contract-verification-with-proxy.sh --only ContractName. See BLOCKSCOUT_VERIFICATION_GUIDE and CONTRACT_DEPLOYMENT_RUNBOOK. |
| Where to update when done |
ADDRESS_MATRIX_AND_STATUS — set “Verified” for each; CONTRACT_NEXT_STEPS_LIST — check “Blockscout verification”. |
Ref: STEPS_FROM_PROXMOX_OR_LAN_WITH_SECRETS §2.
2.2 Multicall vs Oracle at 0x99b3511a2d315a497c8112c1fdd8d508d4b1e506
| Question |
Answer |
| What is it? |
That address holds either Multicall or Oracle Aggregator; docs mention both. Need a single source of truth. |
| Prerequisites |
Access to explorer (e.g. https://explorer.d-bis.org/address/0x99b3511a2d315a497c8112c1fdd8d508d4b1e506). |
| Who |
Operator or dev. |
| Steps to complete |
1. Open the explorer link; check contract name/source. 2. Document in CONTRACT_ADDRESSES_REFERENCE (and CONTRACT_INVENTORY if needed): “At 0x99b35... the contract is [Multicall |
| Where to update when done |
CONTRACT_ADDRESSES_REFERENCE § Pre-Deployed / Newly Deployed; ADDRESS_MATRIX_AND_STATUS; REMAINING task 19. |
2.3 AlltraAdapter — set bridge fee after deploy
| Question |
Answer |
| What is it? |
AlltraAdapter has configurable bridgeFee (default 0.001 ALL). You must set the real fee once ALL Mainnet fee is known. |
| Prerequisites |
AlltraAdapter deployed; ALL Mainnet fee known (from network docs or ops). |
| Who |
Ops after deploy. |
| Steps to complete |
1. Confirm fee (e.g. in wei) with network docs or ops. 2. Call setBridgeFee(uint256) on AlltraAdapter: cast send $ALLTRA_ADAPTER_CHAIN138 "setBridgeFee(uint256)" <fee_wei> --rpc-url $RPC_URL_138 --private-key $PRIVATE_KEY --with-gas-price 1000000000. 3. Set ALLTRA_BRIDGE_FEE in smom-dbis-138/.env for scripts. 4. Document final value in PLACEHOLDERS_AND_TBD “AlltraAdapter — Bridge Fee”. |
| Where to update when done |
PLACEHOLDERS_AND_TBD; NOT_CHANGED_BY_DESIGN §1. |
Ref: CONTRACT_DEPLOYMENT_RUNBOOK § AlltraAdapter.
2.4 Smart accounts — deploy and set env
| Question |
Answer |
| What is it? |
ERC-4337 EntryPoint, AccountFactory, Paymaster deployed; addresses in .env so DeploySmartAccountsKit (or apps) can use them. |
| Prerequisites |
Decision to use smart accounts; deployer key and RPC. |
| Who |
Ops/Eng. |
| Steps to complete |
1. Deploy EntryPoint, AccountFactory, Paymaster (e.g. via reference implementation or DeploySmartAccountsKit.s.sol if it deploys them). 2. Set in smom-dbis-138/.env: ENTRY_POINT=0x..., SMART_ACCOUNT_FACTORY=0x..., PAYMASTER=0x.... 3. .env.example and runbook already have placeholders and subsection; no doc change unless you add a “Deployed at” line. |
| Where to update when done |
CONTRACT_ADDRESSES_REFERENCE if you want these in the main table; PLACEHOLDERS §3 Smart accounts → Done. |
2.5 Periodic on-chain check
| Question |
Answer |
| What is it? |
Re-run the 36-address on-chain check when you deploy new contracts or want to confirm all addresses. |
| Prerequisites |
RPC_URL_138 set; RPC reachable (from LAN or public). |
| Who |
Ops or dev. |
| Steps to complete |
./scripts/verify/check-contracts-on-chain-138.sh (or pass RPC as argument). Use --dry-run to only list addresses. |
| Where to update when done |
If any MISSING/EMPTY: fix deployment or config (smart-contracts-master.json / contract-addresses.conf), then re-run. No separate “done” doc. |
2.6 Fund mainnet relay bridge (WETH9)
| Question |
Answer |
| What is it? |
CCIPRelayBridge on Mainnet must hold WETH so it can pay recipients when relaying 138→Mainnet. |
| Prerequisites |
Mainnet RPC and deployer (or relayer) with WETH. |
| Who |
Ops. |
| Steps to complete |
./scripts/bridge/fund-mainnet-relay-bridge.sh or .../fund-mainnet-relay-bridge.sh <amount_wei>. Or manually: cast send 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 "transfer(address,uint256)" 0xF9A32F37099c582D28b4dE7Fca6eaC1e5259f939 <amount> --rpc-url $ETHEREUM_MAINNET_RPC --private-key $PRIVATE_KEY --legacy. |
| Where to update when done |
No doc update; operational. See CCIP_BRIDGE_MAINNET_CONNECTION. |
3. Code / dev (engineering in repo or external SDK)
3.1 TezosRelayService — real mint/transfer (no mock)
| Question |
Answer |
| What is it? |
Replace mock Tezos mint/transfer with real Taquito/Tezos RPC calls so bridge messages result in real Tezos mints/transfers. |
| Prerequisites |
Tezos minter contract (or equivalent) and oracle secret key; Tezos RPC. |
| Who |
Eng. |
| Steps to complete |
1. Set TEZOS_MINTER_ADDRESS, TEZOS_ORACLE_SECRET_KEY in env; set MOCK_TEZOS_RELAY=false. 2. In smom-dbis-138/services/tezos-relay/src/TezosRelayService.js: implement the “real” path: on bridge message, call Tezos contract to mint/transfer, then call confirmTransaction(requestId, tezosTxHash) (or equivalent) with ORACLE_ROLE. 3. Add unit/integration test on testnet. 4. Update TEZOS_L1_RELAY_RUNBOOK with run instructions and env. |
| Where to update when done |
PLACEHOLDERS §3 TezosRelayService → Done; NOT_CHANGED_BY_DESIGN §4. |
3.2 OMNIS — Sankofa Phoenix SDK
| Question |
Answer |
| What is it? |
Replace “TODO: Replace with actual Sankofa Phoenix SDK” with real SDK integration so auth and identity use Sankofa/Phoenix. |
| Prerequisites |
Sankofa Phoenix SDK (or equivalent) available; integration spec. |
| Who |
Eng (OMNIS). |
| Steps to complete |
Integrate SDK in src/identity/sankofa-phoenix.ts, authProvider.tsx, authController.ts per Sankofa docs; or document dependency and timeline in OMNIS docs. |
| Where to update when done |
PLACEHOLDERS §5; PLACEHOLDERS_AND_TBD OMNIS section. |
3.3 OMNIS — CI/CD and deploy (migration, health)
| Question |
Answer |
| What is it? |
Real deployment pipeline and health checks (replace TODOs in deploy.sh / workflows). |
| Prerequisites |
Deployment target (e.g. VM/container); DB migrations if any. |
| Who |
Eng. |
| Steps to complete |
Add database migration step and health check to scripts/deploy.sh and/or .github/workflows; wire to Sankofa Phoenix deployment when applicable. |
| Where to update when done |
PLACEHOLDERS §5. |
3.4 the-order — court e-filing, e-signature, document-security
| Question |
Answer |
| What is it? |
Replace TODOs in legal-documents services with real integrations or documented vendor/roadmap. |
| Prerequisites |
Vendor choice (e.g. DocuSign/Adobe Sign for e-signature; court e-filing system; document watermarking/redaction). |
| Who |
Eng (the-order). |
| Steps to complete |
For each: (1) court-efiling: integrate with actual court e-filing system or document API/status. (2) e-signature: integrate provider (DocuSign/Adobe Sign) and status/webhook. (3) document-security: implement fetch PDF → watermark/redact → re-upload or document. See GAPS_AND_RECOMMENDATIONS_CONSOLIDATED and PLACEHOLDER_IMPLEMENTATIONS. |
| Where to update when done |
PLACEHOLDERS §6; PLACEHOLDERS_AND_TBD. |
3.5 dbis_core — as4-settlement liquidity limits
| Question |
Answer |
| What is it? |
Implement or clearly document “Check intraday/daily usage”, “Implement liquidity reservation”, “Implement liquidity release” in liquidity-limits.service. |
| Prerequisites |
Product/ops definition of liquidity rules. |
| Who |
Eng (dbis_core). |
| Steps to complete |
Implement the three pieces in src/core/settlement/as4-settlement/liquidity-limits.service.ts or add “future work” comments and ticket ref. |
| Where to update when done |
PLACEHOLDERS §4. |
3.6 EnhancedSwapRouter / DODOPMMProvider / Quote Fabric
| Question |
Answer |
| What is it? |
When Uniswap/Balancer/DODO/Fabric exist: set quoter/poolId/FABRIC_CHAIN_ID and remove or document “return 0” / placeholder. |
| Prerequisites |
Uniswap V3 / Balancer pools on chain; or DODO integrated; or Fabric live with chain ID. |
| Who |
Eng. |
| Steps to complete |
EnhancedSwapRouter: set uniswapQuoter and Balancer pool IDs via admin when pools exist. DODOPMMProvider: implement or document oracle-driven optimizePoolParameters when DODO integrated. Quote service: set FABRIC_CHAIN_ID in env to real chain ID when Fabric is live. |
| Where to update when done |
NOT_CHANGED_BY_DESIGN §3; PLACEHOLDERS_AND_TBD. |
4. Config / docs only (no code, no external)
4.1 Network blocks #2–#6
| Question |
Answer |
| What is it? |
Placeholders “To be configured” for public blocks #2–#6 in architecture/config docs. |
| Prerequisites |
Decision: which blocks are assigned or reserved. |
| Who |
Ops or doc owner. |
| Steps to complete |
In NETWORK_ARCHITECTURE and NETWORK_CONFIGURATION_MASTER: replace placeholders with “Reserved” or actual block assignments. |
| Where to update when done |
PLACEHOLDERS §2; GAPS §2.3; R22 in REMAINING_COMPONENTS. |
4.2 NPMplus proxy hosts — Sankofa/Phoenix vs explorer
| Question |
Answer |
| What is it? |
Ensure only explorer.d-bis.org points to 192.168.11.140; sankofa.nexus and phoenix.sankofa.nexus point to .51:3000 and .50:4000. |
| Prerequisites |
NPMplus access (LAN + NPM_PASSWORD). |
| Who |
Ops. |
| Steps to complete |
In NPMplus UI (or API): check proxy hosts for sankofa.nexus, phoenix.sankofa.nexus; set targets to 192.168.11.51:3000 and 192.168.11.50:4000. Only explorer.d-bis.org → 192.168.11.140. |
| Where to update when done |
GAPS §2.2; PLACEHOLDERS §2. |
4.3 Automated backups (NPMplus)
| Question |
Answer |
| What is it? |
NPMplus backup script scheduled and restore verified. |
| Prerequisites |
LAN + NPM_PASSWORD; backup script exists (scripts/verify/backup-npmplus.sh). |
| Who |
Ops. |
| Steps to complete |
Run ./scripts/maintenance/schedule-npmplus-backup-cron.sh --install (or equivalent); periodically run backup and test restore. |
| Where to update when done |
PLACEHOLDERS §10; TODO_TASK_LIST_MASTER if referenced there. |
5. Optional / when needed
- Trustless bridge: Deploy from
script/bridge/trustless/ when you adopt that stack; document addresses. Ref: CONTRACT_NEXT_STEPS § Pending, OPERATOR_OPTIONAL_CHECKLIST §2.
- Mainnet/multichain deploys: Deploy to other chains with chain-specific scripts; document in CONTRACT_ADDRESSES_REFERENCE and ADDRESS_MATRIX_AND_STATUS. Ref: R13, CONTRACT_NEXT_STEPS.
- PaymentChannelManager / GenericStateChannelManager: Deploy when channel features are needed; use
--with-gas-price 1000000000 on 138. Ref: CONTRACT_NEXT_STEPS_LIST.
- LINK on mainnet relay bridge: Follow RELAY_BRIDGE_ADD_LINK_SUPPORT_RUNBOOK; then set
relaySupported: true for LINK in config/token-mapping.json.
- Chain 138 Snap E2E: Run full E2E (Playwright + MetaMask Flask) when needed; unit tests already pass. Ref: chain138-snap/TESTING_INSTRUCTIONS.
- Ledger tokens/CAL, swap, i18n, etc.: After Ledger adds chain 138, follow LedgerLive GAPS for tokens, optional swap/staking, i18n, E2E.
6. One-line “answers” summary
| Item |
One-line answer |
| Ledger 138 |
Wait for Ledger reply → sign agreement → follow 8-step process; if they ask for PR, push LedgerLive materials. |
| Trust official |
Open PR to trustwallet/wallet-core with registry entry (coinId 10000138, chainId 138); run codegen/tests. |
| CoinGecko/CMC |
Submit chain + tokens via CoinGecko (and CMC) process; use COINGECKO_SUBMISSION_GUIDE and token docs. |
| Consensys |
Use CONSENSYS_OUTREACH_PACKAGE; contact Consensys for Swaps/Bridge support for 138. |
| Sankofa cutover |
When deployed: replace TBDs in SANKOFA_CUTOVER_PLAN; set NPMplus proxies to .51/.50; add the-order when live. |
| Blockscout verify |
From LAN: source smom-dbis-138/.env; ./scripts/verify/run-contract-verification-with-proxy.sh. |
| Multicall vs Oracle |
Check explorer for 0x99b35...; document which contract it is in CONTRACT_ADDRESSES_REFERENCE. |
| AlltraAdapter fee |
After deploy: call setBridgeFee(fee_wei); set ALLTRA_BRIDGE_FEE in .env; document in PLACEHOLDERS_AND_TBD. |
| Smart accounts |
Deploy EntryPoint/Factory/Paymaster; set ENTRY_POINT, SMART_ACCOUNT_FACTORY, PAYMASTER in .env. |
| TezosRelay real mint |
Set TEZOS_MINTER_ADDRESS, TEZOS_ORACLE_SECRET_KEY; implement real Taquito path; gate mock. |
| OMNIS Sankofa SDK |
Integrate real Sankofa Phoenix SDK or document dependency/timeline. |
| OMNIS CI/CD |
Add migration + health check to deploy.sh and workflows. |
| the-order legal |
Choose vendors; implement court-efiling, e-signature, document-security or document roadmap. |
| dbis_core as4 liquidity |
Implement or document liquidity reservation/release and intraday/daily checks. |
| EnhancedSwap/DODO/Fabric |
When pools/Fabric exist: set quoter/poolId/FABRIC_CHAIN_ID; document or remove placeholders. |
| Blocks #2–#6 |
In NETWORK_ARCHITECTURE and NETWORK_CONFIGURATION_MASTER: set “Reserved” or real block list. |
| NPMplus Sankofa targets |
In NPMplus: sankofa → .51:3000, phoenix → .50:4000; only explorer → .140. |
| NPMplus backup |
Schedule backup cron; verify restore. |
7. Where to update when any item is completed