features/wallet/wallet_screen
library
Classes
-
WalletScreen
-
The wallet surface (spec §3.3): a live, honest sync indicator + balance.
Rendering layer ONLY — every value comes from the Rust core via
walletSnapshotProvider (cold) and syncStatusProvider (live); nothing
is stored here (design invariant 1).
Functions
-
balanceAsOf({required SyncStatus status, required WalletSyncedTip latch, required SyncStamp? lastSynced})
→ ({int? height, DateTime? time})
-
What the Balance header's "(as of block N)" shows (the as-of
height belongs IN the header, never a floating row). Pure so the
height/time PAIRING rule is unit-testable: the timestamp renders ONLY when
it belongs to the displayed height — pairing the live tip with an older
stamp's clock time would lie about when that tip landed.
-
balanceCaptionTime(DateTime t, String locale)
→ String
-
The balance caption's time (S12, "Balance · 11:38 PM"): the
time alone when it is today, date and time otherwise.
-
walletSyncBarVisible({required SyncStatus status, required bool stale, required bool driving, required bool startFailed, required bool syncDisabled, required TransportTone transportTone, required bool hostDeclaredTransport, bool followingTip = false})
→ bool
-
Whether the wallet tab shows its sync bar (FR-49 S12, C2). HIDDEN only
when every one of these holds, so nothing a user must know hides with it: