Package-level declarations

Types

Link copied to clipboard
data class AuthenticatedCipher(val cipher: Cipher)

Result of a successful biometric authentication with CryptoObject.

Link copied to clipboard

Thrown when the user explicitly cancels biometric authentication.

Link copied to clipboard

Thrown when biometric authentication fails for any other reason (hardware error, no enrollment, etc.).

Link copied to clipboard

Thrown when biometric authentication is temporarily locked out after too many failed attempts. Typically unlocks after ~30 seconds.

Thrown when biometric authentication is permanently locked out. User must authenticate with device credential (PIN/pattern/password) to reset.

Link copied to clipboard
object AuthPolicy

Centralized authentication policy for biometric-gated Keystore keys.

Link copied to clipboard
class BiometricGate(keyManager: WalletKeyManager)

Wraps BiometricPrompt + BiometricPrompt.CryptoObject as a suspend function.

Link copied to clipboard

Thrown when the encrypted seed file on disk is corrupted or malformed (wrong size, invalid IV length, decryption fails). The caller should trigger a recovery flow from backup.

Link copied to clipboard

Security level of the Keystore key backing.

Link copied to clipboard
class PlaintextSeed(val mnemonicEntropy: ByteArray, val bip39Seed: ByteArray)

Wallet seed material decrypted into memory.

Link copied to clipboard

Detects device hardware security capabilities.

Link copied to clipboard
class SeedVault(context: Context, biometricGate: BiometricGate)

Encrypted seed storage backed by Android Keystore + biometric authentication.

Link copied to clipboard
class WalletAddressCache(context: Context)

Persistent, per-network store for the wallet's public addresses.

Link copied to clipboard
data class WalletAddresses(val unshieldedAddress: String, val shieldedAddress: String?)

Cached wallet addresses for one Midnight network.

Link copied to clipboard

Manages the AES-256 master key in Android Keystore.