Files
zeekay 275fe22047 teleport/mpc: retarget signers at mpcd; canonicalize MPCD_URL
The unified Go daemon teleport's threshold signers talk to is now
luxfi/mpc's production binary mpcd, which embeds the JSON-RPC
dispatcher from luxfi/threshold/pkg/thresholdd on its
--threshold-listen port (default 127.0.0.1:7300). There is no
separate thresholdd to deploy.

Changes:

- rpc.ts: add defaultMpcdUrl() / defaultMpcdTransport() as the single
  source of truth for daemon URL resolution. Precedence:
    MPCD_URL > THRESHOLD_DAEMON_URL > http://127.0.0.1:7300
  THRESHOLD_DAEMON_URL is kept as a back-compat alias for environments
  that already set it against the standalone thresholdd CLI.

- cggmp21.ts / pulsar.ts / corona.ts: drop per-file defaultTransport()
  duplication, route through defaultMpcdTransport(). Prose updated to
  mention mpcd instead of thresholdd.

- frost.ts: envTransport() now honors both env vars (MPCD_URL first).
  Default path stays in-process @noble/curves; daemon path is opt-in.

- __tests__/signers.test.ts: rename "→ thresholdd" describe to
  "→ mpcd"; add three new tests pinning the env-var precedence
  contract (MPCD_URL > THRESHOLD_DAEMON_URL > loopback).

- index.ts: fail-closed LUX_PROFILE resolution (from prior work in
  this session) — no implicit ECDSA fallback when profile is unset,
  symmetric refusal when profile and scheme disagree, hybrid warns
  on every scheme choice. Pairs with the mpcd routing so the wire a
  caller picks is always the wire the gate expects.

Test count: 28 → 31 (signers suite). All pass.
2026-05-13 15:58:31 -07:00
..