exportUfvk abstract method
EXPORT this wallet's Unified Full Viewing Key (#397 §3.7 D1 / ADR-0538) — the
uview… string that grants FULL history visibility (every past and future
transaction, amounts, memos) and NO spend authority.
Why it lives on the SESSION port and not only on the provisioner (the G1 port asymmetry, #361 companion): isWatchOnly is here, so a session-only host gets the whole watch-only CHROME for free — but without this it could not offer the EXPORT the chrome points at, and would have to reach around the port to the raw bridge handle and re-implement the §3.7 D9 gate itself. A capability the package renders must be a capability the package's own port can serve.
EGRESS CONTRACT — this is the ONE sanctioned viewing-key egress. A host calling
it directly MUST keep the same envelope the package's export screen provides:
re-authorize first (WalletRevealAuthorizer — the §3.7 D9 backup-grade gate),
warn BEFORE revealing that sharing is effectively irreversible, block screenshots
while it is on screen, and hold the string for the shortest possible scope. §5.4
NEVER-LOG: display / copy / QR it, never write it to a log or crash report.
Throws a typed WalletApiError (invalid-state on a closed handle).
Implementation
Future<String> exportUfvk();