zeekay 9d6c1d9a0c feat(web): chain registry from @luxwallet/chains + IAM login via @hanzo/iam
Chain metadata is now sourced from the canonical @luxwallet/chains registry
(MIT) instead of three duplicated hardcoded maps:
  - new lib/chains.ts adapter: chainLabel / evmChainDef / evmChainIds /
    registryChains, with a UI-only block-explorer overlay.
  - config/wagmi.ts, components/ChainSwitcher.tsx, lib/brand.ts all read it.
  - the wallet now recognises/holds every Lux Bridge chain: Lux C/X/P/Q/Z,
    sovereign L1s (Hanzo/Zoo/Pars/Sparkle Pony), external EVM (Ethereum,
    Arbitrum, Base, Polygon, Optimism, Avalanche) and non-EVM bridge families
    (Bitcoin, Solana, TON, XRP, Polkadot). brand.supportedChainIds still
    narrows the active wagmi/switcher surface per white-label.

IAM account login is delegated to the canonical @hanzo/iam SDK (MIT, HIP-0111
one-way auth) — lib/iam.ts is now a thin brand-aware facade over
@hanzo/iam/browser, keeping its existing surface (beginLogin/completeLogin/
getAccessToken/hasSession/clearSession) so store/session, lib/custody and the
callback route are unchanged. Adds a 'Sign in with <brand>' button to the
Welcome screen (additive, alongside local create/import).

The wallet's own keyring + signing path is untouched: this is the chain
metadata source + IAM account login, not external-wallet-connect.

Deps (file: for now, TODO npm): @luxwallet/chains, @hanzo/iam — both MIT,
zero new GPL.
2026-06-24 09:15:08 -07:00
S
Description
Open Source Lux DeFi Wallet.
187 MiB
Languages
TypeScript 88%
Swift 4.2%
Kotlin 4.1%
JavaScript 1.2%
Go 0.8%
Other 1.6%