createGenerated method

  1. @override
Future<WalletSession> createGenerated()
override

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;
}