Balance / Bank Account Provider Wiring
balanceControllerProvider + bankAccountControllerProvider · NotifierProvider
Overview
Two NotifierProviders, neither autoDispose. The bank-account state is intentionally long-lived so the wizard can resume across screen pops; the balance is long-lived so a refresh-on-return is opt-in (pull-to-refresh).
User Flow
- balanceControllerProvider construction triggers Future.microtask(loadAll).
- bankAccountControllerProvider construction triggers Future.microtask(loadPayoutAccount).
- Both providers expose a refresh() method for pull-to-refresh.
Cases & Edge Cases
- Switching to autoDispose for bank-account would lose mid-wizard state on a 'back' tap — currently deliberate.
- Tests can override either provider via ProviderScope; service is constructed inline so injection requires a setter.
Code References
- lib/src/features/seller/balance/controllers/balance_controller.dart:146 // balanceControllerProvider
- lib/src/features/seller/bank_account/controllers/bank_account_controller.dart:355 // bankAccountControllerProvider
API Calls
Empty — fill this in later. Open the manifest and add content here.
Notes
Both controllers construct StripeService directly — not provider-wrapped today.