hide the rescan control on a source that cannot rescan

the card keyed off `sync.rescan` being null, which is what esplora
reports — and equally what nbxplorer reports before its first scan. so
the guard could not tell "unsupported" from "not yet run" and resolved
it the wrong way: every esplora wallet got a button that 501s.

canRescan carries the distinction explicitly.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-04 20:08:43 +00:00
co-authored by Claude Opus 5
parent 22c0e83b49
commit d2290baa56
4 changed files with 19 additions and 4 deletions
@@ -313,6 +313,7 @@ export class OnchainBackend extends BaseBackend {
syncedAt: this.current?.at ?? null,
stale: this.current !== null && Date.now() - this.current.at >= SCAN_TTL_MS,
lastError: this.lastError,
canRescan: this.chain.startRescan !== undefined,
rescan: this.chain.rescanState?.() ?? null,
};
}