sendControllerProvider top-level property
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,
);