sendControllerProvider top-level property

NotifierProvider<SendController, SendState> sendControllerProvider
final

The send flow state machine (inc-2d-ui): form → propose → review → send → result, plus the offline-first queue branch. Drives the send screen; Rust stays the single source of truth (design invariant 1) — every money step forwards straight to the SDK and no money state is cached here.

Non-autoDispose (mirrors onboardingControllerProvider; Riverpod 3.x has no AutoDisposeNotifier): a fresh entry resets via resetToForm. It reads the live WalletSession and the wallet network through providers (cached in build for the actions), exactly the seam the screen tests override.

Implementation

final sendControllerProvider = NotifierProvider<SendController, SendState>(
  SendController.new,
);