createGenerated method
Create a BRAND-NEW wallet: the SDK generates a fresh 24-word seed in Rust
(OsRng) and seals it under the device keychain — the seed NEVER crosses
the bridge. Returns the live WalletSession. The caller MUST drive the
recovery-phrase backup (revealMnemonic) and confirm it before the wallet
is presented as deposit-ready (money-safety; the OnboardingController
gate). Throws (typed) if a wallet already exists here — call walletExists
first; the non-clobber is the contract, never a silent overwrite.
Implementation
@override
Future<WalletSession> createGenerated() async {
createCount++;
if (holdCreate != null) await holdCreate!.future;
if (failCreate != null) throw failCreate!;
exists = true; // a created wallet now exists on disk
return session;
}