mintDiversifiedAddress method
Mint the NEXT public diversified receive address (FR-8 / Recv-4, ADR-0537): a fresh unlinkable unified address for a contact/invoice that still credits this one wallet — payments to it are detected by the normal shielded scan (including after a seed-only restore), with no extra host work. Same receiver set as currentAddress (shielded-only), so no compatibility downgrade. Every call returns a NEW address from the SDK's never-recycle, restore-surviving counter; deterministic per WalletMintedAddress.diversifierIndex — keep the index as the durable host-side attribution key. Cheap, local, no network, not gated on sync. Throws the typed bridge error before an account is provisioned (exotic — accounts import eagerly at create). §5.4 NEVER-LOG applies to BOTH fields.
Implementation
@override
Future<WalletMintedAddress> mintDiversifiedAddress() async {
final minted = await _handle.mintDiversifiedAddress();
return WalletMintedAddress(
address: minted.address,
// Exact-narrowing guard extracted to a pure, unit-pinned function
// (review fold; extraction — see diversifier_narrowing.dart).
diversifierIndex: narrowDiversifierIndex(minted.diversifierIndex),
);
}