Files
proxmox/docs/04-configuration/CHAIN138_WALLET_PROJECTS_COMPLETION_REVIEW.md
defiQUG bea1903ac9
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Sync all local changes: docs, config, scripts, submodule refs, verification evidence
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 15:46:06 -08:00

6.2 KiB
Raw Permalink Blame History

Chain 138 Wallet Projects — Completion and Test Review

Last Updated: 2026-02-12
Purpose: Verify all four wallet projects are complete and document test status.


1. Summary

Project Repo location Code complete Tests run Test result Notes
metamask-integration ~/projects/metamask-integration Yes Yes All pass E2E script: 7/7 tests pass (default RPC: rpc-http-pub.d-bis.org; chain-id hex/decimal, network config hex fixed). Snap (proxmox): unit tests pass.
LedgerLive ~/projects/LedgerLive Yes Yes Checklist runs Step 18 materials; manual test plan; no automated E2E (blocked until Ledger adds Chain 138).
app-ethereum ~/projects/app-ethereum Yes ⚠️ Env-limited Chain 138 in network.c; build requires BOLOS_SDK; CI runs on push (Ledger workflows).
TrustWallet-Integration ~/projects/TrustWallet-Integration Yes N/A N/A Materials only (registry JSON); validated by use in wallet-core PR.

2. metamask-integration

2.1 Scope

  • ~/projects/metamask-integration: Config, docs, examples, scripts/test-metamask-integration.sh (E2E: RPC, chain ID, WETH9/10, oracle, token list, network config).
  • proxmox/metamask-integration (submodule): Includes chain138-snap (Snap package with Jest + Playwright).

2.2 Tests run

Test Command / location Result
E2E script (RPC, chain, contracts, JSON, network config) bash scripts/test-metamask-integration.sh (default RPC: rpc-http-pub.d-bis.org) 7/7 passed (RPC, chain ID, WETH9, WETH10, oracle, token list, network config). Requires cast (Foundry) and jq.
Chain 138 Snap unit tests cd proxmox/metamask-integration/chain138-snap && pnpm run test 2/2 passed (Jest: onRpcRequest error handling, hello confirmation).
Snap build Part of pnpm run test (build then test) Passes (mm-snap build, 186 files compiled).

2.3 Completion

  • Code: Complete (provider config, token lists, Snap with market data/bridge/swap quotes).
  • Testing: E2E script all 7 tests pass; Snap unit tests pass. For full E2E (Playwright + MetaMask Flask), see chain138-snap/TESTING_INSTRUCTIONS.md.

3. LedgerLive

3.1 Scope

  • Step 18 materials (currency, device-app snippet, coin module, signer, API, LLD/LLM, wallet-api, manual tests).
  • step-08-manual-tests/run-checklist.sh prints the manual test plan; test-plan.md lists sync, receive, balance, broadcast, operations, account details.

3.2 Tests run

Test Command Result
Checklist runner bash step-08-manual-tests/run-checklist.sh Runs and prints full manual test plan.
Manual test plan (Step 8) Execute in Ledger Wallet (LLD/LLM) Blocked until Ledger adds Chain 138 to Ledger Live; checklist is ready.

3.3 Completion

  • Code: Complete (all 8 steps; Blockscout API fix in Step 3; gaps documented in GAPS_AND_MISSING_INTEGRATIONS.md).
  • Testing: Checklist script verified; manual tests pending Ledger integration. No automated E2E in this repo (per Ledgers process, E2E runs in ledger-live monorepo after integration).

4. app-ethereum

4.1 Scope

  • Ledger device app (C); Chain 138 entry in src/network.c (line 42): {.chain_id = 138, .name = "Defi Oracle Meta", .ticker = "ETH"}.
  • makefile_conf/chain/defi_oracle.mk (or equivalent in fork); unit + ragger tests in tests/.

4.2 Tests run

Test Command Result
Build make ⚠️ Requires BOLOS_SDK (Ledger Nano SDK). Not set in this environment; build/tests run in CI (.github/workflows/build_and_functional_tests.yml) on push to main/master.
Unit / ragger Via Ledger reusable workflows Run in GitHub when BOLOS_SDK and build artifacts are available.

4.3 Completion

  • Code: Complete (Chain 138 in network.c; fork at defiQUG/app-ethereum).
  • Testing: Local build/tests require BOLOS_SDK; CI is the canonical test path (build + ragger). No change needed for “code complete”; tests are run in CI.

5. TrustWallet-Integration

5.1 Scope

  • README, registry-entry-chain138.json (wallet-core registry.json snippet for Chain 138).
  • No executable code in repo; materials are for a PR to trustwallet/wallet-core.

5.2 Tests run

Test Result
JSON validity registry-entry-chain138.json is valid JSON and matches Trusts EVM chain format.
Integration test When used in wallet-core: run codegen-v2, derivation tests, and wallet-core test suite (in Trusts repo).

5.3 Completion

  • Code: Complete (materials only; no code to run in this repo).
  • Testing: N/A in repo; validation happens in wallet-core after PR.

6. Recommendations

  1. metamask-integration (E2E script): Done. Default RPC is https://rpc-http-pub.d-bis.org; chain-id and network config accept hex or decimal; arithmetic fixed for set -e. All 7 tests pass. Requires cast (Foundry) and jq.
  2. Chain 138 Snap: Unit tests are passing. For full E2E (Playwright + MetaMask Flask), follow chain138-snap/TESTING_INSTRUCTIONS.md when needed.
  3. LedgerLive: No further automated tests in this repo; manual test plan is ready for when Ledger adds Chain 138.
  4. app-ethereum: Rely on GitHub Actions (build + ragger) for tests; document in README that local build requires BOLOS_SDK for contributors.
  5. TrustWallet-Integration: No changes; use materials in wallet-core PR and run Trusts codegen/tests there.

7. References