v2.0.1
v2.0.1 — Unblock Fedi trades: generate-only ecash funding, idempotent native join
Compatible — no LOCK/escrow format change. Interops with any v2.x.x client
unchanged; safe drop-in over 2.0.0.
Fedi funding — stay on internal ecash without receiveEcash
- Escrow funding now gates on generateEcash alone (hasFediInternalGenerateEcash)
instead of requiring generate + receive. Hosts that expose generateEcash but
not receiveEcash — e.g. the Fedi Mini-App — now fund trades over the internal
ecash route instead of falling back to a Lightning receive. This is what
unblocks trading inside Fedi. - Capability probe split into hasFediInternalGenerateEcash() /
hasFediInternalReceiveEcash(); hasFediInternalEcash() now means both are
present. Both new probes are exported from src/fedimint.
Native bridge — idempotent Fedimint join
- open_or_join() reuses the live client when its federation matches the invite,
and fails loudly when the local client DB belongs to a different federation
("reset local state before switching federations") instead of attempting a
conflicting join. AppState.join now routes through open_or_join. - Bridge advertises an idempotent_join capability (/health, api_version 2); the
native-bridge adapter requires reset + idempotent_join and names the missing
capability in stale-sidecar diagnostics.