arch-atlas

Balance / Bank Account Provider Wiring

balanceControllerProvider + bankAccountControllerProvider · NotifierProvider

di

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

  1. balanceControllerProvider construction triggers Future.microtask(loadAll).
  2. bankAccountControllerProvider construction triggers Future.microtask(loadPayoutAccount).
  3. 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.