Hanzo AI fc72b9bcac feat(bridge): Bridge form + Lux Teleport quote/execute hooks
SCREENS.md §5. Wires /bridge to the cross-chain transfer form: source/
dest chain selectors, asset amount, recipient (same wallet | other),
route preview (lock → MPC → mint), threshold notation.

  Bridge.tsx           : form, ChainPair, AssetAmount, Recipient,
                         RoutePreview; status-driven button label
                         (Locking → MPC ceremony → Minting → Bridged)
  useBridgeQuote.ts    : gateway /v1/bridge/quote; 300ms debounce, 5s
                         timeout, AbortController on input change
  useBridgeExecute.ts  : 3-step Teleport flow:
                         1. approve (ERC-20) + lock (lockToken/lockNative)
                         2. poll M-Chain MPC ceremony (2s interval, 5m cap)
                         3. surface destination mint tx hash
                         User signs ONLY leg 1; mint is signed by the
                         bridge committee via threshold MPC. This is what
                         makes Teleport feel like a transfer, not two txs.

Threat model:
  - destChainId + recipient pinned in lock calldata before the committee
    sees the message. A compromised gateway cannot redirect funds.
  - Ceremony URL built from brand.gatewayDomain (immutable per build,
    ConfigMap-overridden per environment).
  - Quote staleness >30s rejected; users can't sign locks against
    quotes that have aged out.
  - lockContract zero-address guard prevents accidental burns when the
    Teleport factory hasn't been deployed on the source chain yet.
  - Non-EVM source chains explicitly refused (clear error, not silent
    failure) — Lux P/X bridges go through @l.x/api in a later slice.
2026-04-30 17:54:01 -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%