Files
universe/PRODUCTS.md
T
zeekayandHanzo Dev 82797cc03b screenshots: add lux-cloud console surface + fix harness sign-in for @hanzo/gui
Add console.lux.cloud (Lux Cloud Console — the web3/infra console app) as a
lux surface with its real route list (networks, nodes, gateway, api-keys,
tokens, indexer, oracles, wallet, settlement, usage/billing, kms/secrets, …)
and the valid lux.id password-grant login ([email protected]).

Harness login() now waits for the sign-in form and matches Tamagui inputs
(autocomplete="email" / placeholder="Email"), and treats /signin as a login
gate — without this the harness could not fill or detect this console's form.

Capture currently yields the /signin gate only: login is blocked IAM-side —
the lux-cloud app in lux.id is provisioned for host cloud.lux.network, so
console.lux.cloud/auth/callback is not an allowed redirect URI. Durable fix
(separate, out of this change): add console.lux.cloud to the `cloud` app hosts
in infra/k8s/iam/provision.yaml and reconcile IAM.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-26 15:46:03 -07:00

5.3 KiB
Raw Blame History

Lux Products — live surfaces & E2E proof

Single source of truth for what is live and what is proven by E2E. Generated and verified against production on 2026-07-17.

  • Brand support — lux = default Lux Financial / Lux Network branding; acm = the ACM white-label (?brand=acm → light theme + acm wordmark). The ACM white-label applies to the bank family only (*.lux.financial); the Lux Network apps are Lux-branded single-tenant.
  • E2E covered — the Playwright spec under e2e/ that exercises the surface. "deep" = asserts real post-login / functional state; "surface" = asserts reachability + rendered UI / RPC, not an authenticated flow.
  • Status — verified live (✅), live with a known defect (⚠️), or not yet deployed (⛔).

Run the bank proof suite: npx playwright test e2e/40-lux-financial.spec.ts Run everything: npm test (from repo root).

Bank family — *.lux.financial (white-label: lux + acm)

Backend for the whole family is bankd — a Hanzo Base app (/v1/*, SQLite), served at api.lux.financial, testnet custody.

Product Live URL Brand Backend E2E covered Status
Customer bank https://app.lux.financial lux, acm bankd @ api.lux.financial deep — 40-lux-financial.spec.ts (login → $21,818.45 balance, 5-currency balances list, cards + activity, acm light theme) · 18/19-broker (unauth UI + responsive audit) ✅ live
Admin console https://admin.lux.financial lux, acm bankd (testnet custody) deep — 40-lux-financial.spec.ts (login → Overview metrics, MPC/Safes/KMS/Nodes nav, MPC/KMS/Nodes pages render, acm light theme) · 18/19-broker ⚠️ live — Safes route broken
Docs https://docs.lux.financial lux, acm Docusaurus (static) deep — 40-lux-financial.spec.ts (/docs/compliance-full → AML/KYC/regulatory content) ✅ live
Backend API https://api.lux.financial — bankd (Hanzo Base) deep — 40-lux-financial.spec.ts (/v1/health = 200 {code:200}) · 18-broker (/v1/bank/* 401 auth-guard) ✅ live
Issuer https://issuer.lux.financial — — probe-only (skips — no DNS) ⛔ not live
Safe (standalone) https://safe.lux.financial — — — (no DNS) ⛔ not live

Known defect — Admin › Safes. The /safes route throws RangeError: Invalid currency code : USDC (USDC handed to Intl.NumberFormat, which only accepts ISO-4217 codes) and renders a blank page. The nav item exists (asserted, passing) but the page does not render. Encoded in 40-lux-financial.spec.ts as an expected failure (test.fail) so the run stays honest and green; fixing the currency-formatting bug will make it pass unexpectedly and flag removal of the marker. The on-chain multisig "Safes" surface (safe.lux.financial) is not separately deployed.

Lux Network apps (brand: lux only)

Product Live URL Brand Backend E2E covered Status
Cloud console https://console.lux.cloud · https://lux.cloud lux Lux Cloud (lux-k8s) surface — 05-cloud, 10-lux-cloud.spec.ts ✅ live
Explorer https://explore.lux.network lux Blockscout surface — 01-explorer.spec.ts (blocks/txs/API) ✅ live
Wallet https://wallet.lux.network lux @luxfi/wallet-sdk surface — 06-wallet, 11-wallet-ops.spec.ts ✅ live
Exchange https://lux.exchange lux CEX/DEX front end surface — 02-exchange, 20-exchange-deep.spec.ts ✅ live (Cloudflare; local LibreSSL can't TLS-handshake, Chromium reaches it)
DEX (CLOB) https://lux.exchange (D-Chain dexvm) lux native CLOB — dexd (spark) surface — 14-dex-contracts.spec.ts ✅ live
Bridge https://bridge.lux.network lux MPC bridge surface — 03-bridge, 13-bridge-mpc.spec.ts ✅ live
MPC https://mpc.lux.network lux threshold custody surface — 13-bridge-mpc.spec.ts ✅ live
Staking https://lux.build lux P-chain staking surface — 04-staking, 12-staking-rpc.spec.ts ✅ live

E2E summary — bank proof suite (40-lux-financial.spec.ts)

Verified against production 2026-07-17 — 12 passed, 1 expected-failure (Safes), 1 skipped (issuer, not live):

# Assertion Result
1 Customer login → dashboard total $21,818.45 + "Welcome back" ✅ pass
2 Customer dashboard lists 5 balances (USD/EUR/GBP/LUX/DAI) with figures ✅ pass
3 Customer dashboard renders cards + recent activity (real app) ✅ pass
4 Customer ?brand=acm → light bg (L=0.97) + acm wordmark ✅ pass
5 Customer default → dark bg (L=0.00) + Lux Financial wordmark ✅ pass
6 Admin login → Overview portfolio metrics (liquidity, KYC, activity) ✅ pass
7 Admin nav exposes MPC, Safes, KMS, Nodes ✅ pass
8 Admin MPC / KMS / Nodes pages render their sections ✅ pass
9 Admin Safes page renders ⚠️ expected-fail (USDC crash)
10 Admin ?brand=acm → light bg (L=1.00) + acm wordmark ✅ pass
11 Docs /docs/compliance-full → regulatory content ✅ pass
12 Backend api.lux.financial/v1/health = 200 ✅ pass
13 issuer.lux.financial ⏭️ skipped (not live)