Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com>
6.2 KiB
6.2 KiB
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 1–8 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 1–8 materials (currency, device-app snippet, coin module, signer, API, LLD/LLM, wallet-api, manual tests).
step-08-manual-tests/run-checklist.shprints the manual test plan;test-plan.mdlists 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 Ledger’s 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 intests/.
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-coreregistry.jsonsnippet 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 Trust’s EVM chain format. |
| Integration test | When used in wallet-core: run codegen-v2, derivation tests, and wallet-core test suite (in Trust’s 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
- 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 forset -e. All 7 tests pass. Requirescast(Foundry) andjq. - Chain 138 Snap: Unit tests are passing. For full E2E (Playwright + MetaMask Flask), follow
chain138-snap/TESTING_INSTRUCTIONS.mdwhen needed. - LedgerLive: No further automated tests in this repo; manual test plan is ready for when Ledger adds Chain 138.
- app-ethereum: Rely on GitHub Actions (build + ragger) for tests; document in README that local build requires
BOLOS_SDKfor contributors. - TrustWallet-Integration: No changes; use materials in wallet-core PR and run Trust’s codegen/tests there.
7. References
- CHAIN138_WALLET_REPOSITORIES.md — Repo layout (
~/projects/). - CHAIN138_WALLET_ECOSYSTEM_AND_RATIONALE.md — Why Snap, Ledger Live, Trust Wallet.
- LedgerLive:
GAPS_AND_MISSING_INTEGRATIONS.md(in repo). - Chain 138 Snap:
proxmox/metamask-integration/chain138-snap/TESTING_INSTRUCTIONS.md,RUNBOOK.md.