Files
proxmox/docs/00-meta/REMAINING_WORK_BREAKDOWN_AND_ANSWERS.md
defiQUG b3a8fe4496
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
chore: sync all changes to Gitea
- Config, docs, scripts, and backup manifests
- Submodule refs unchanged (m = modified content in submodules)

Made-with: Cursor
2026-03-02 11:37:34 -08:00

25 KiB
Raw Permalink Blame History

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 Lives 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 Ledgers 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 13 → 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 Wallets built-in chain list (so users dont 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 45 → 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 CoinGeckos 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 CoinGeckos 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.12.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