walletTransparentAddressReadProvider top-level property
The wallet's TRANSPARENT receive address (Recv-2 / ADR-0528) — the external-scope P2PKH t-address the receive screen shows when the user toggles to "Transparent". The walletReceiveAddressReadProvider pair's exact mirror (#385): session-lifetime cached (this is the SLOW derive the device walk measured at multiple seconds per visit), identity-fenced (the same duress-leak sibling), same honest-degradation timeout. NOT key material (PUBLIC by design; §5.4 NEVER-LOG still applies).
Implementation
final walletTransparentAddressReadProvider = FutureProvider.autoDispose
.family<String, Object?>((ref, identity) {
// Dying-element guard — see walletSnapshotReadProvider; distinct
// messages per cause (#386, the shielded twin's note).
if (ref.watch(walletIdentityProvider) != identity) {
return Future<String>.error(
StateError(
'walletTransparentAddressReadProvider read under a superseded '
'wallet identity',
),
);
}
final session = ref.watch(walletSessionProvider);
if (session == null) {
return Future<String>.error(
StateError(
'walletTransparentAddressReadProvider read with no wallet session',
),
);
}
return session.currentTransparentAddress().timeout(
walletAddressDeriveTimeout,
);
}, retry: walletNoSilentRetry);