fix: scope hide-balances to the home screen - #615
Merged
Conversation
The hidden-balance flag was read inside the amount formatters (balanceDisplayProvider / txAmountDisplayProvider), so toggling the eye on home masked every amount in the app: multisig proposals and decoded calls, POS charge screens, the send/review flow and transaction details. Formatting no longer knows about hidden balances. The home screen owns the flag and passes it explicitly to the components it contains: the main balance (AmountDisplayWithConversion.isHidden) and its transaction list (ActivitySection / MultisigActivitySection.isHidden). Open multisig proposals stay visible — they are pending decisions, not balance disclosure. Row amount text is now built by one shared helper (txItemAmountText) used by the home, multisig and activity lists instead of three copies of the same hideAmount ternary; the formatter's function type is a TxAmountFormatter typedef, and the redundant customHiddenText parameter is gone.
dewabisma
approved these changes
Aug 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
isBalanceHiddenProviderwas read inside the amount formatters —balanceDisplayProviderandtxAmountDisplayProviderincurrency_display_provider.dart. Every screen that formats an amount goes through that provider, so the eye toggle on home masked amounts that have nothing to do with the account balance:ProposalListTile) and decoded calls in the approve/execute/cancel confirm sheetsChange
The formatter no longer has any notion of hidden balances. The home screen owns the flag and passes it explicitly to the components it contains:
AmountDisplayWithConversion.isHidden→ masks the main balanceActivitySection.isHidden/MultisigActivitySection.isHidden→ masks the amounts in the home transaction listEverything else formats amounts normally, always. Open multisig proposals are not masked even on a multisig home — they are pending decisions to review, not balance disclosure.
The toggle itself still persists via
SettingsService; only the home screen reads it now.DRY
txItemAmountText(data, format, {isHidden})intx_item.dartreplaces three copies of thehideAmount ? '—' : format(...).primaryAmountternary (home, multisig, activity screen)TxAmountFormattertypedefcustomHiddenTextis gone — its only caller passed the same'-----'the default already used; the placeholder now lives once, next to the component that renders it_toFiatDisplayStatelost two parameters and its post-hoc mutation, so it just builds and returns the stateVerification
dart analyze lib testinmobile-app: no issuesflutter testinmobile-app: 291 tests passmelos run formatclean(
melos run analyzecan't complete locally — it dies influtter pub geton a firebase_messaging plugin rsync error unrelated to this change.)